From 79966890f5c5c578fa82cbdaac12e03b1aebfdd8 Mon Sep 17 00:00:00 2001 From: Vibaswan Date: Mon, 11 Sep 2023 11:29:27 +0000 Subject: [PATCH 01/27] added a way to commit SDKs into the repo --- .github/workflows/build.yml | 76 +- artifacts.py | 25 +- artifacts/openapi.json | 2285 ++++++++ artifacts/openapi.yaml | 1802 ++++++ artifacts/sanity.proto | 1171 ++++ artifacts/sanity/__init__.py | 61 + artifacts/sanity/requirements.txt | 11 + artifacts/sanity/sanity.py | 8178 +++++++++++++++++++++++++++ artifacts/sanity/sanity_pb2.py | 250 + artifacts/sanity/sanity_pb2_grpc.py | 499 ++ do.py | 6 +- openapiart/tests/conftest.py | 6 +- openapiart/tests/grpcserver.py | 6 +- openapiart/tests/server.py | 2 +- openapiart/tests/test_perf.py | 4 +- openapiart/tests/test_set.py | 4 +- 16 files changed, 14327 insertions(+), 59 deletions(-) create mode 100644 artifacts/openapi.json create mode 100644 artifacts/openapi.yaml create mode 100644 artifacts/sanity.proto create mode 100644 artifacts/sanity/__init__.py create mode 100644 artifacts/sanity/requirements.txt create mode 100644 artifacts/sanity/sanity.py create mode 100644 artifacts/sanity/sanity_pb2.py create mode 100644 artifacts/sanity/sanity_pb2_grpc.py diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7bd5abbf..ea8069ed 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -69,50 +69,6 @@ jobs: run: | python do.py build -# dev_workflow_macos: -# runs-on: macos-latest -# steps: -# - name: Checkout source -# uses: actions/checkout@v2 -# with: -# ref: ${{ github.head_ref }} -# - name: Set up Python 3.10 -# uses: actions/setup-python@v2 -# with: -# python-version: "3.10" -# - uses: actions/setup-go@v2 -# with: -# go-version: "1.20" -# - name: Install Protoc -# uses: arduino/setup-protoc@v2 -# with: -# version: "23.3" -# - name: Trigger dev workflow -# run: | -# python do.py build - -# dev_workflow_windows: -# runs-on: windows-latest -# steps: -# - name: Checkout source -# uses: actions/checkout@v2 -# with: -# ref: ${{ github.head_ref }} -# - name: Set up Python 3.10 -# uses: actions/setup-python@v2 -# with: -# python-version: "3.10" -# - uses: actions/setup-go@v2 -# with: -# go-version: "1.20" -# - name: Install Protoc -# uses: arduino/setup-protoc@v2 -# with: -# version: "23.3" -# - name: Trigger dev workflow -# run: | -# python do.py build - dev_workflow_docker: runs-on: ubuntu-latest steps: @@ -160,13 +116,26 @@ jobs: - name: Run artifact generation run: | python do.py generate python True + - name: Commit generated python code + run: | + git config user.name "Github Actions Bot" + git config user.email "actions@github.com" + git pull + git add --force artifacts/\* + if git status --porcelain | grep . + then + git commit -m "Update auto generated python code" + git push + else + echo "No change in auto generated python code" + fi - name: Archive generated artifacts if: always() uses: actions/upload-artifact@v2 with: name: generated_py_package path: | - art + artifacts - name: Display structure of downloaded files run: ls -R - name: Run python tests @@ -207,6 +176,19 @@ jobs: - name: Run go lint run: | python do.py go_lint + - name: Commit generated go code + run: | + git config user.name "Github Actions Bot" + git config user.email "actions@github.com" + git pull + git add --force artifacts/openapiart/\* + if git status --porcelain | grep . + then + git commit -m "Update auto generated go code" + git push + else + echo "No change in auto generated go code" + fi - name: Archive generated artifacts if: always() uses: actions/upload-artifact@v2 @@ -214,7 +196,7 @@ jobs: name: generated_go_package path: | pkg - art + artifacts - uses: actions/download-artifact@v2 with: name: python_package @@ -255,7 +237,7 @@ jobs: - name: Check Genrated files uses: andstor/file-existence-action@v2 with: - files: "art/openapi.json, art/openapi.yaml, art/sanity.proto" + files: "artifacts/openapi.json, artifacts/openapi.yaml, artifacts/sanity.proto" fail: true publish_python_package: diff --git a/artifacts.py b/artifacts.py index 93f75630..bb39f3e7 100644 --- a/artifacts.py +++ b/artifacts.py @@ -16,9 +16,14 @@ import sys import os import importlib +import shutil def create_openapi_artifacts(openapiart_class, sdk=None): + + base_dir = os.path.abspath(os.path.dirname(__file__)) + artifacts_dir = os.path.join(base_dir, "artifacts") + open_api = openapiart_class( api_files=[ os.path.join( @@ -41,7 +46,7 @@ def create_openapi_artifacts(openapiart_class, sdk=None): "./openapiart/goserver/api/service_b.api.yaml", ), ], - artifact_dir=os.path.join(os.path.dirname(__file__), "art"), + artifact_dir=os.path.join(os.path.dirname(__file__), "artifacts"), extension_prefix="sanity", proto_service="Openapi", generate_version_api=True, @@ -51,6 +56,10 @@ def create_openapi_artifacts(openapiart_class, sdk=None): if sdk == "python" or sdk is None or sdk == "all": open_api.GeneratePythonSdk(package_name="sanity") + shutil.move( + os.path.join(artifacts_dir, "requirements.txt"), + os.path.join(artifacts_dir, "sanity"), + ) if sdk == "go" or sdk is None or sdk == "all": open_api.GenerateGoSdk( @@ -66,6 +75,20 @@ def create_openapi_artifacts(openapiart_class, sdk=None): open_api.GoTidy( relative_package_dir="pkg", ) + # copy all the files to artifacts/openapiart + go_path = os.path.join(artifacts_dir, "openapiart_go") + shutil.copytree( + os.path.join(base_dir, "pkg", "httpapi"), + os.path.join(go_path, "httpapi"), + dirs_exist_ok=True, + ) + shutil.copytree( + os.path.join(base_dir, "pkg", "sanity"), + os.path.join(go_path, "sanity"), + dirs_exist_ok=True, + ) + # files = ["openapiart.go", "go.mod", "go.sum"] + # shutil.copy(os.path.join) if __name__ == "__main__": diff --git a/artifacts/openapi.json b/artifacts/openapi.json new file mode 100644 index 00000000..2acb83dc --- /dev/null +++ b/artifacts/openapi.json @@ -0,0 +1,2285 @@ +{ + "openapi": "3.0.3", + "info": { + "title": "OpenAPIArt Test API", + "description": "Demonstrates the features of the OpenAPIArt package", + "version": "0.0.1", + "contact": { + "x-info": "Any feedback such as bugs/enhancements/questions regarding OpenApiArt is \nwelcomed by using the contact url. ", + "url": "https://github.com/open-traffic-generator/openapiart/issues" + }, + "license": { + "name": "NO-LICENSE-PRESENT" + } + }, + "servers": [ + { + "url": "https://{hostname}:{port}/{basePath}", + "variables": { + "hostname": { + "default": "0.0.0.0" + }, + "port": { + "default": "8080" + }, + "basePath": { + "default": "api" + } + } + } + ], + "paths": { + "/config": { + "post": { + "tags": [ + "Bundler" + ], + "operationId": "set_config", + "description": "Sets configuration resources.", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Prefix.Config" + } + } + } + }, + "responses": { + "200": { + "x-field-uid": 1, + "description": "Standard success binary payload", + "content": { + "application/octet-stream": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "default": { + "x-field-uid": 2, + "description": "The request did not succeed and server has responded with error details.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + }, + "patch": { + "tags": [ + "Bundler" + ], + "operationId": "update_configuration", + "description": "Deprecated: please use post instead\n\nSets configuration resources.", + "x-status": { + "status": "deprecated", + "information": "please use post instead" + }, + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Update.Config" + } + } + } + }, + "responses": { + "200": { + "description": "success 2xx", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Prefix.Config" + } + } + }, + "x-field-uid": 1 + }, + "default": { + "x-field-uid": 2, + "description": "The request did not succeed and server has responded with error details.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + }, + "get": { + "tags": [ + "Bundler" + ], + "operationId": "get_config", + "description": "Gets the configuration resources.", + "responses": { + "200": { + "description": "Config response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Prefix.Config" + } + } + }, + "x-field-uid": 1 + }, + "default": { + "x-field-uid": 2, + "description": "The request did not succeed and server has responded with error details.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + }, + "/metrics": { + "get": { + "tags": [ + "Metrics" + ], + "operationId": "get_metrics", + "description": "Gets metrics.", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Metrics.Request" + } + } + } + }, + "responses": { + "200": { + "description": "Unique metrics response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Metrics" + } + } + }, + "x-field-uid": 1 + }, + "default": { + "x-field-uid": 2, + "description": "The request did not succeed and server has responded with error details.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + }, + "/warnings": { + "get": { + "tags": [ + "Metrics" + ], + "operationId": "get_warnings", + "description": "Gets warnings.", + "responses": { + "200": { + "$ref": "#/components/responses/Warnings", + "x-field-uid": 1 + }, + "default": { + "x-field-uid": 2, + "description": "The request did not succeed and server has responded with error details.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + }, + "delete": { + "tags": [ + "Metrics" + ], + "operationId": "clear_warnings", + "description": "Clears warnings.", + "responses": { + "200": { + "description": "OK", + "x-field-uid": 1 + }, + "default": { + "x-field-uid": 2, + "description": "The request did not succeed and server has responded with error details.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + }, + "/apitest": { + "get": { + "tags": [ + "ApiTest" + ], + "operationId": "GetRootResponse", + "description": "simple GET api with single return type", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Common.ResponseSuccess" + } + } + }, + "x-field-uid": 1 + }, + "default": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "x-field-uid": 2 + } + } + }, + "delete": { + "tags": [ + "ApiTest" + ], + "operationId": "dummyResponseTest", + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + }, + "x-field-uid": 1 + }, + "default": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "x-field-uid": 2 + } + } + }, + "post": { + "tags": [ + "ApiTest" + ], + "operationId": "PostRootResponse", + "description": "simple POST api with single return type", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiTest.InputBody" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Common.ResponseSuccess" + } + } + }, + "x-field-uid": 1 + }, + "default": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "x-field-uid": 2 + } + } + } + }, + "/serviceb": { + "get": { + "tags": [ + "ServiceAbc" + ], + "operationId": "GetAllItems", + "description": "return list of some items", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceAbc.ItemList" + } + } + }, + "x-field-uid": 1 + }, + "default": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "x-field-uid": 2 + } + } + } + }, + "/serviceb/{item_id}": { + "get": { + "tags": [ + "ServiceAbc" + ], + "operationId": "GetSingleItem", + "description": "return single item", + "parameters": [ + { + "in": "path", + "name": "item_id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceAbc.Item" + } + } + }, + "x-field-uid": 1 + }, + "default": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "x-field-uid": 2 + } + } + } + }, + "/serviceb/{item_id}/{level_2}": { + "get": { + "tags": [ + "ServiceAbc" + ], + "operationId": "getSingleItemLevel2", + "description": "return single item", + "parameters": [ + { + "in": "path", + "name": "item_id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "level_2", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceAbc.Item" + } + } + }, + "x-field-uid": 1 + }, + "default": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "x-field-uid": 2 + } + } + } + }, + "/capabilities/version": { + "get": { + "tags": [ + "Capabilities" + ], + "operationId": "get_version", + "responses": { + "200": { + "description": "Version details from API server", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Version" + } + } + }, + "x-field-uid": 1 + }, + "default": { + "x-field-uid": 2, + "description": "The request did not succeed and server has responded with error details.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + } + }, + "components": { + "responses": { + "Warnings": { + "description": "Success warning payload similar to otg Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Warning.Details" + } + } + } + } + }, + "schemas": { + "Error.Details": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "type": "string" + }, + "x-field-uid": 1 + } + } + }, + "Warning.Details": { + "type": "object", + "properties": { + "warnings": { + "type": "array", + "items": { + "type": "string" + }, + "x-field-uid": 1 + } + } + }, + "Error": { + "description": "Error response generated while serving API request.", + "type": "object", + "required": [ + "code", + "errors" + ], + "properties": { + "code": { + "description": "Numeric status code based on underlying transport being used.", + "type": "integer", + "x-field-uid": 1 + }, + "kind": { + "description": "Kind of error message.", + "type": "string", + "x-enum": { + "transport": { + "x-field-uid": 1 + }, + "validation": { + "x-field-uid": 2 + }, + "internal": { + "x-field-uid": 3 + } + }, + "x-field-uid": 2, + "enum": [ + "transport", + "validation", + "internal" + ] + }, + "errors": { + "description": "List of error messages generated while serving API request.", + "type": "array", + "items": { + "type": "string" + }, + "x-field-uid": 3 + } + } + }, + "Prefix.Config": { + "type": "object", + "required": [ + "a", + "b", + "c", + "required_object" + ], + "description": "Container which retains the configuration", + "properties": { + "required_object": { + "description": "A required object that MUST be generated as such.", + "$ref": "#/components/schemas/EObject", + "x-field-uid": 1 + }, + "optional_object": { + "description": "An optional object that MUST be generated as such.", + "$ref": "#/components/schemas/EObject", + "x-field-uid": 2 + }, + "ieee_802_1qbb": { + "type": "boolean", + "x-field-uid": 3 + }, + "space_1": { + "type": "integer", + "x-status": { + "status": "deprecated", + "information": "Information TBD" + }, + "x-field-uid": 4, + "description": "Deprecated: Information TBD\n\nDescription TBD" + }, + "full_duplex_100_mb": { + "type": "integer", + "format": "int64", + "minimum": -10, + "maximum": 4261412864, + "x-field-uid": 5 + }, + "response": { + "description": "Indicate to the server what response should be returned", + "type": "string", + "default": "status_200", + "x-field-uid": 6, + "x-enum": { + "status_200": { + "x-field-uid": 1 + }, + "status_400": { + "x-field-uid": 2 + }, + "status_404": { + "x-status": { + "status": "deprecated", + "information": "new code will be coming soon" + }, + "x-field-uid": 3, + "description": "Deprecated: new code will be coming soon\n\nDescription TBD" + }, + "status_500": { + "x-status": { + "status": "under_review", + "information": "500 can change to other values" + }, + "x-field-uid": 4, + "description": "Under Review: 500 can change to other values\n\nDescription TBD" + } + }, + "enum": [ + "status_200", + "status_400", + "status_404", + "status_500" + ] + }, + "a": { + "x-status": { + "status": "under_review", + "information": "Information TBD" + }, + "description": "Under Review: Information TBD\n\nSmall single line description", + "type": "string", + "x-field-uid": 7 + }, + "b": { + "description": "Longer multi-line description\nSecond line is here\nThird line", + "type": "number", + "format": "float", + "x-field-uid": 8 + }, + "c": { + "type": "integer", + "x-field-uid": 9 + }, + "d_values": { + "x-status": { + "status": "deprecated", + "information": "Information TBD" + }, + "description": "Deprecated: Information TBD\n\nA list of enum values", + "type": "array", + "items": { + "type": "string", + "x-enum": { + "a": { + "x-field-uid": 1 + }, + "b": { + "x-field-uid": 2 + }, + "c": { + "x-field-uid": 3 + } + }, + "enum": [ + "a", + "b", + "c" + ] + }, + "x-field-uid": 10 + }, + "e": { + "x-status": { + "status": "deprecated", + "information": "Information TBD" + }, + "description": "Deprecated: Information TBD\n\nA child object", + "$ref": "#/components/schemas/EObject", + "x-field-uid": 11 + }, + "f": { + "description": "An object with only choice(s)", + "$ref": "#/components/schemas/FObject", + "x-field-uid": 12 + }, + "g": { + "description": "A list of objects with choice and properties", + "type": "array", + "items": { + "$ref": "#/components/schemas/GObject" + }, + "x-field-uid": 13 + }, + "h": { + "description": "A boolean value", + "type": "boolean", + "default": true, + "x-field-uid": 14 + }, + "i": { + "description": "A byte string", + "type": "string", + "format": "binary", + "x-field-uid": 15 + }, + "j": { + "description": "A list of objects with only choice", + "type": "array", + "items": { + "$ref": "#/components/schemas/JObject" + }, + "x-field-uid": 16 + }, + "k": { + "description": "A nested object with only one property which is a choice object", + "$ref": "#/components/schemas/KObject", + "x-field-uid": 17 + }, + "l": { + "$ref": "#/components/schemas/LObject", + "x-field-uid": 18 + }, + "list_of_string_values": { + "description": "A list of string values", + "type": "array", + "items": { + "type": "string" + }, + "x-field-uid": 19 + }, + "list_of_integer_values": { + "description": "A list of integer values", + "type": "array", + "items": { + "type": "integer" + }, + "x-field-uid": 20 + }, + "level": { + "$ref": "#/components/schemas/Level.One", + "x-field-uid": 21 + }, + "mandatory": { + "$ref": "#/components/schemas/Mandate", + "x-field-uid": 22 + }, + "ipv4_pattern": { + "$ref": "#/components/schemas/Ipv4Pattern", + "x-field-uid": 23 + }, + "ipv6_pattern": { + "$ref": "#/components/schemas/Ipv6Pattern", + "x-field-uid": 24 + }, + "mac_pattern": { + "$ref": "#/components/schemas/MacPattern", + "x-field-uid": 25 + }, + "integer_pattern": { + "$ref": "#/components/schemas/IntegerPattern", + "x-field-uid": 26 + }, + "checksum_pattern": { + "$ref": "#/components/schemas/ChecksumPattern", + "x-field-uid": 27 + }, + "case": { + "$ref": "#/components/schemas/Layer1Ieee802x", + "x-field-uid": 28 + }, + "m_object": { + "$ref": "#/components/schemas/MObject", + "x-field-uid": 29 + }, + "integer64": { + "description": "int64 type", + "type": "integer", + "format": "int64", + "x-field-uid": 30 + }, + "integer64_list": { + "description": "int64 type list", + "type": "array", + "items": { + "type": "integer", + "format": "int64" + }, + "minimum": -12, + "maximum": 4261412864, + "x-field-uid": 31 + }, + "header_checksum": { + "x-field-uid": 32, + "$ref": "#/components/schemas/Pattern.Prefix.Config.HeaderChecksum" + }, + "str_len": { + "x-status": { + "status": "under_review", + "information": "Information TBD" + }, + "description": "Under Review: Information TBD\n\nstring minimum&maximum Length", + "type": "string", + "minLength": 3, + "maxLength": 6, + "x-field-uid": 33 + }, + "hex_slice": { + "x-status": { + "status": "under_review", + "information": "Information TBD" + }, + "description": "Under Review: Information TBD\n\nArray of Hex", + "type": "array", + "items": { + "type": "string", + "format": "hex" + }, + "x-field-uid": 34 + }, + "auto_field_test": { + "x-field-uid": 35, + "$ref": "#/components/schemas/Pattern.Prefix.Config.AutoFieldTest" + }, + "name": { + "x-field-uid": 36, + "type": "string" + }, + "w_list": { + "type": "array", + "items": { + "$ref": "#/components/schemas/WObject" + }, + "x-field-uid": 37 + }, + "x_list": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ZObject" + }, + "x-field-uid": 38 + }, + "z_object": { + "$ref": "#/components/schemas/ZObject", + "x-field-uid": 39 + }, + "y_object": { + "$ref": "#/components/schemas/YObject", + "x-field-uid": 40 + }, + "choice_object": { + "description": "A list of objects with choice with and without properties", + "type": "array", + "items": { + "$ref": "#/components/schemas/ChoiceObject" + }, + "x-field-uid": 41 + }, + "required_choice_object": { + "$ref": "#/components/schemas/RequiredChoiceParent", + "x-field-uid": 42 + }, + "g1": { + "description": "A list of objects with choice and properties", + "type": "array", + "items": { + "$ref": "#/components/schemas/GObject" + }, + "x-field-uid": 43 + }, + "g2": { + "description": "A list of objects with choice and properties", + "type": "array", + "items": { + "$ref": "#/components/schemas/GObject" + }, + "x-field-uid": 44 + }, + "int32_param": { + "description": "int32 type", + "type": "integer", + "format": "int32", + "x-field-uid": 45 + }, + "int32_list_param": { + "description": "int32 type list", + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "minimum": -23456, + "maximum": 23456, + "x-field-uid": 46 + }, + "uint32_param": { + "description": "uint32 type", + "type": "integer", + "format": "uint32", + "x-field-uid": 47 + }, + "uint32_list_param": { + "description": "uint32 type list", + "type": "array", + "items": { + "type": "integer", + "format": "uint32" + }, + "minimum": 0, + "maximum": 4294967293, + "x-field-uid": 48 + }, + "uint64_param": { + "description": "uint64 type", + "type": "integer", + "format": "uint64", + "x-field-uid": 49 + }, + "uint64_list_param": { + "description": "uint64 type list", + "type": "array", + "items": { + "type": "integer", + "format": "uint64" + }, + "x-field-uid": 50 + }, + "auto_int32_param": { + "description": "should automatically set type to int32", + "type": "integer", + "minimum": 64, + "maximum": 9000, + "x-field-uid": 51 + }, + "auto_int32_list_param": { + "description": "should automatically set type to []int32", + "type": "array", + "items": { + "type": "integer" + }, + "minimum": 64, + "maximum": 9000, + "x-field-uid": 52 + } + } + }, + "WObject": { + "required": [ + "w_name" + ], + "properties": { + "w_name": { + "type": "string", + "x-field-uid": 1 + } + } + }, + "ZObject": { + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string", + "x-field-uid": 1 + } + } + }, + "YObject": { + "properties": { + "y_name": { + "type": "string", + "x-field-uid": 1, + "x-constraint": [ + "/components/schemas/ZObject/properties/name", + "/components/schemas/WObject/properties/w_name" + ], + "description": "TBD\n\nx-constraint:\n- /components/schemas/ZObject/properties/name\n- /components/schemas/WObject/properties/w_name\n" + } + } + }, + "Layer1Ieee802x": { + "type": "object", + "properties": { + "flow_control": { + "type": "boolean", + "x-field-uid": 1 + } + } + }, + "GObject": { + "type": "object", + "x-status": { + "status": "deprecated", + "information": "new schema Jobject to be used" + }, + "properties": { + "g_a": { + "type": "string", + "default": "asdf", + "x-field-uid": 1 + }, + "g_b": { + "type": "integer", + "default": 6, + "x-field-uid": 2 + }, + "g_c": { + "type": "number", + "default": 77.7, + "x-status": { + "status": "deprecated", + "information": "Information TBD" + }, + "x-field-uid": 3, + "description": "Deprecated: Information TBD\n\nDescription TBD" + }, + "choice": { + "type": "string", + "default": "g_d", + "x-field-uid": 4, + "x-enum": { + "g_d": { + "x-field-uid": 1 + }, + "g_e": { + "x-field-uid": 2 + } + }, + "enum": [ + "g_d", + "g_e" + ] + }, + "g_d": { + "type": "string", + "default": "some string", + "x-field-uid": 5 + }, + "g_e": { + "type": "number", + "format": "double", + "default": 3.0, + "x-field-uid": 6 + }, + "g_f": { + "description": "Another enum to test protbuf enum generation", + "type": "string", + "default": "a", + "x-field-uid": 7, + "x-enum": { + "a": { + "x-field-uid": 1 + }, + "b": { + "x-field-uid": 2 + }, + "c": { + "x-field-uid": 3 + } + }, + "enum": [ + "a", + "b", + "c" + ] + }, + "name": { + "x-field-uid": 8, + "type": "string" + } + }, + "description": "Deprecated: new schema Jobject to be used\n\nDescription TBD" + }, + "EObject": { + "type": "object", + "required": [ + "e_a", + "e_b" + ], + "properties": { + "e_a": { + "type": "number", + "format": "float", + "x-field-uid": 1 + }, + "e_b": { + "type": "number", + "format": "double", + "x-field-uid": 2 + }, + "name": { + "x-field-uid": 3, + "type": "string" + }, + "m_param1": { + "x-field-uid": 4, + "type": "string" + }, + "m_param2": { + "x-field-uid": 5, + "type": "string" + } + } + }, + "FObject": { + "type": "object", + "properties": { + "choice": { + "type": "string", + "default": "f_a", + "x-field-uid": 1, + "x-enum": { + "f_a": { + "x-field-uid": 1 + }, + "f_b": { + "x-field-uid": 2 + }, + "f_c": { + "x-field-uid": 3 + } + }, + "enum": [ + "f_a", + "f_b", + "f_c" + ] + }, + "f_a": { + "type": "string", + "default": "some string", + "x-field-uid": 2 + }, + "f_b": { + "type": "number", + "format": "double", + "default": 3.0, + "x-field-uid": 3 + } + } + }, + "JObject": { + "type": "object", + "properties": { + "choice": { + "type": "string", + "default": "j_a", + "x-field-uid": 1, + "x-enum": { + "j_a": { + "x-field-uid": 1 + }, + "j_b": { + "x-status": { + "status": "deprecated", + "information": "use j_a instead" + }, + "x-field-uid": 2, + "description": "Deprecated: use j_a instead\n\nDescription TBD" + } + }, + "enum": [ + "j_a", + "j_b" + ] + }, + "j_a": { + "$ref": "#/components/schemas/EObject", + "x-field-uid": 2 + }, + "j_b": { + "$ref": "#/components/schemas/FObject", + "x-field-uid": 3 + } + } + }, + "ChoiceObject": { + "type": "object", + "properties": { + "choice": { + "type": "string", + "default": "no_obj", + "x-field-uid": 1, + "x-enum": { + "e_obj": { + "x-field-uid": 1 + }, + "f_obj": { + "x-field-uid": 2 + }, + "no_obj": { + "x-field-uid": 3 + } + }, + "enum": [ + "e_obj", + "f_obj", + "no_obj" + ] + }, + "e_obj": { + "$ref": "#/components/schemas/EObject", + "x-field-uid": 2 + }, + "f_obj": { + "$ref": "#/components/schemas/FObject", + "x-field-uid": 3 + } + } + }, + "KObject": { + "type": "object", + "properties": { + "e_object": { + "$ref": "#/components/schemas/EObject", + "x-field-uid": 1 + }, + "f_object": { + "$ref": "#/components/schemas/FObject", + "x-field-uid": 2 + } + } + }, + "LObject": { + "description": "Format validation object", + "type": "object", + "properties": { + "string_param": { + "type": "string", + "x-field-uid": 1 + }, + "integer": { + "type": "integer", + "minimum": -10, + "maximum": 90, + "x-field-uid": 2 + }, + "float": { + "type": "number", + "format": "float", + "x-field-uid": 3 + }, + "double": { + "type": "number", + "format": "double", + "x-field-uid": 4 + }, + "mac": { + "type": "string", + "format": "mac", + "x-field-uid": 5 + }, + "ipv4": { + "type": "string", + "format": "ipv4", + "x-field-uid": 6 + }, + "ipv6": { + "type": "string", + "format": "ipv6", + "x-field-uid": 7 + }, + "hex": { + "type": "string", + "format": "hex", + "x-field-uid": 8 + } + } + }, + "MObject": { + "description": "Required format validation object", + "type": "object", + "required": [ + "string_param", + "integer", + "float", + "double", + "mac", + "ipv4", + "ipv6", + "hex" + ], + "properties": { + "string_param": { + "type": "string", + "x-field-uid": 1 + }, + "integer": { + "type": "integer", + "minimum": -10, + "maximum": 90, + "x-field-uid": 2 + }, + "float": { + "type": "number", + "format": "float", + "x-field-uid": 3 + }, + "double": { + "type": "number", + "format": "double", + "x-field-uid": 4 + }, + "mac": { + "type": "string", + "format": "mac", + "x-field-uid": 5 + }, + "ipv4": { + "type": "string", + "format": "ipv4", + "x-field-uid": 6 + }, + "ipv6": { + "type": "string", + "format": "ipv6", + "x-field-uid": 7 + }, + "hex": { + "type": "string", + "format": "hex", + "x-field-uid": 8 + } + } + }, + "Mandate": { + "description": "Object to Test required Parameter", + "type": "object", + "required": [ + "required_param" + ], + "properties": { + "required_param": { + "type": "string", + "x-field-uid": 1 + } + } + }, + "Update.Config": { + "description": "Under Review: the whole schema is being reviewed\n\nObject to Test required Parameter", + "x-status": { + "status": "under_review", + "information": "the whole schema is being reviewed" + }, + "type": "object", + "properties": { + "g": { + "description": "A list of objects with choice and properties", + "type": "array", + "items": { + "$ref": "#/components/schemas/GObject" + }, + "x-field-uid": 1 + } + } + }, + "Metrics.Request": { + "type": "object", + "properties": { + "choice": { + "type": "string", + "default": "port", + "x-field-uid": 1, + "x-enum": { + "port": { + "x-field-uid": 1 + }, + "flow": { + "x-field-uid": 2 + } + }, + "enum": [ + "port", + "flow" + ] + }, + "port": { + "type": "string", + "x-field-uid": 2 + }, + "flow": { + "type": "string", + "x-field-uid": 3 + } + } + }, + "Metrics": { + "type": "object", + "properties": { + "choice": { + "type": "string", + "default": "ports", + "x-field-uid": 1, + "x-enum": { + "ports": { + "x-field-uid": 1 + }, + "flows": { + "x-field-uid": 2 + } + }, + "enum": [ + "ports", + "flows" + ] + }, + "ports": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Port.Metric" + }, + "x-field-uid": 2 + }, + "flows": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Flow.Metric" + }, + "x-field-uid": 3 + } + } + }, + "Port.Metric": { + "type": "object", + "required": [ + "name", + "tx_frames", + "rx_frames" + ], + "properties": { + "name": { + "type": "string", + "x-field-uid": 1 + }, + "tx_frames": { + "type": "number", + "format": "double", + "x-field-uid": 2 + }, + "rx_frames": { + "type": "number", + "format": "double", + "x-field-uid": 3 + } + } + }, + "Flow.Metric": { + "type": "object", + "required": [ + "name", + "tx_frames", + "rx_frames" + ], + "properties": { + "name": { + "type": "string", + "x-field-uid": 1 + }, + "tx_frames": { + "type": "number", + "format": "double", + "x-field-uid": 2 + }, + "rx_frames": { + "type": "number", + "format": "double", + "x-field-uid": 3 + } + } + }, + "RequiredChoiceParent": { + "type": "object", + "required": [ + "choice" + ], + "properties": { + "choice": { + "type": "string", + "x-field-uid": 1, + "x-enum": { + "intermediate_obj": { + "x-field-uid": 1 + }, + "no_obj": { + "x-field-uid": 2 + } + }, + "enum": [ + "intermediate_obj", + "no_obj" + ] + }, + "intermediate_obj": { + "$ref": "#/components/schemas/RequiredChoiceIntermediate", + "x-field-uid": 2 + } + } + }, + "RequiredChoiceIntermediate": { + "type": "object", + "required": [ + "choice" + ], + "properties": { + "choice": { + "type": "string", + "x-field-uid": 1, + "x-enum": { + "f_a": { + "x-field-uid": 1 + }, + "leaf": { + "x-field-uid": 2 + } + }, + "enum": [ + "f_a", + "leaf" + ] + }, + "f_a": { + "type": "string", + "default": "some string", + "x-field-uid": 2 + }, + "leaf": { + "$ref": "#/components/schemas/RequiredChoiceIntermeLeaf", + "x-field-uid": 3 + } + } + }, + "RequiredChoiceIntermeLeaf": { + "type": "object", + "properties": { + "name": { + "type": "string", + "x-field-uid": 1 + } + } + }, + "Level.One": { + "description": "To Test Multi level non-primitive types", + "properties": { + "l1_p1": { + "description": "Level one", + "$ref": "#/components/schemas/Level.Two", + "x-field-uid": 1 + }, + "l1_p2": { + "description": "Level one to four", + "$ref": "#/components/schemas/Level.Four", + "x-field-uid": 2 + } + } + }, + "Level.Two": { + "description": "Test Level 2", + "properties": { + "l2_p1": { + "description": "Level Two", + "$ref": "#/components/schemas/Level.Three", + "x-field-uid": 1 + } + } + }, + "Level.Three": { + "description": "Test Level3", + "properties": { + "l3_p1": { + "description": "Set value at Level 3", + "type": "string", + "x-field-uid": 1 + } + } + }, + "Level.Four": { + "description": "Test level4 redundant junk testing", + "properties": { + "l4_p1": { + "description": "loop over level 1", + "$ref": "#/components/schemas/Level.One", + "x-field-uid": 1 + } + } + }, + "Ipv4Pattern": { + "description": "Test ipv4 pattern", + "type": "object", + "properties": { + "ipv4": { + "x-field-uid": 1, + "$ref": "#/components/schemas/Pattern.Ipv4Pattern.Ipv4" + } + } + }, + "Ipv6Pattern": { + "description": "Test ipv6 pattern", + "type": "object", + "properties": { + "ipv6": { + "x-field-uid": 1, + "$ref": "#/components/schemas/Pattern.Ipv6Pattern.Ipv6" + } + } + }, + "MacPattern": { + "description": "Test mac pattern", + "type": "object", + "properties": { + "mac": { + "x-field-uid": 1, + "$ref": "#/components/schemas/Pattern.MacPattern.Mac" + } + } + }, + "IntegerPattern": { + "description": "Test integer pattern", + "type": "object", + "properties": { + "integer": { + "x-field-uid": 1, + "$ref": "#/components/schemas/Pattern.IntegerPattern.Integer" + } + } + }, + "ChecksumPattern": { + "description": "Test checksum pattern", + "type": "object", + "properties": { + "checksum": { + "x-field-uid": 1, + "$ref": "#/components/schemas/Pattern.ChecksumPattern.Checksum" + } + } + }, + "Common.ResponseSuccess": { + "type": "object", + "properties": { + "message": { + "type": "string", + "x-field-uid": 1 + } + } + }, + "ApiTest.InputBody": { + "type": "object", + "properties": { + "some_string": { + "type": "string", + "x-field-uid": 1 + } + } + }, + "ServiceAbc.Item": { + "type": "object", + "properties": { + "some_id": { + "type": "string", + "x-field-uid": 1 + }, + "some_string": { + "type": "string", + "x-field-uid": 2 + }, + "path_id": { + "type": "string", + "x-field-uid": 3 + }, + "level_2": { + "type": "string", + "x-field-uid": 4 + } + } + }, + "ServiceAbc.ItemList": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ServiceAbc.Item" + }, + "x-field-uid": 1 + } + } + }, + "Pattern.Prefix.Config.HeaderChecksum": { + "description": "Header checksum", + "type": "object", + "properties": { + "choice": { + "description": "The type of checksum", + "type": "string", + "x-enum": { + "generated": { + "x-field-uid": 1 + }, + "custom": { + "x-field-uid": 2 + } + }, + "default": "generated", + "x-field-uid": 1, + "enum": [ + "generated", + "custom" + ] + }, + "generated": { + "description": "A system generated checksum value", + "type": "string", + "x-enum": { + "good": { + "x-field-uid": 1 + }, + "bad": { + "x-field-uid": 2 + } + }, + "default": "good", + "x-field-uid": 2, + "enum": [ + "good", + "bad" + ] + }, + "custom": { + "description": "A custom checksum value", + "type": "integer", + "format": "uint32", + "maximum": 65535, + "x-field-uid": 3 + } + } + }, + "Pattern.Prefix.Config.AutoFieldTest.Counter": { + "description": "integer counter pattern", + "type": "object", + "properties": { + "start": { + "type": "integer", + "x-field-uid": 1, + "default": 0, + "format": "uint32", + "maximum": 255 + }, + "step": { + "type": "integer", + "x-field-uid": 2, + "default": 1, + "format": "uint32", + "maximum": 255 + }, + "count": { + "type": "integer", + "x-field-uid": 3, + "default": 1, + "format": "uint32", + "maximum": 255 + } + } + }, + "Pattern.Prefix.Config.AutoFieldTest": { + "description": "TBD", + "type": "object", + "properties": { + "choice": { + "type": "string", + "x-enum": { + "value": { + "x-field-uid": 2 + }, + "values": { + "x-field-uid": 3 + }, + "auto": { + "x-field-uid": 1 + }, + "increment": { + "x-field-uid": 4 + }, + "decrement": { + "x-field-uid": 5 + } + }, + "default": "auto", + "x-field-uid": 1, + "enum": [ + "value", + "values", + "auto", + "increment", + "decrement" + ] + }, + "value": { + "type": "integer", + "x-field-uid": 2, + "default": 0, + "format": "uint32", + "maximum": 255 + }, + "values": { + "type": "array", + "items": { + "type": "integer", + "format": "uint32", + "maximum": 255 + }, + "x-field-uid": 3, + "default": [ + 0 + ] + }, + "auto": { + "description": "The OTG implementation can provide a system generated\nvalue for this property. If the OTG is unable to generate a value\nthe default value must be used.", + "type": "integer", + "x-field-uid": 4, + "default": 0, + "format": "uint32", + "maximum": 255 + }, + "increment": { + "$ref": "#/components/schemas/Pattern.Prefix.Config.AutoFieldTest.Counter", + "x-field-uid": 6 + }, + "decrement": { + "$ref": "#/components/schemas/Pattern.Prefix.Config.AutoFieldTest.Counter", + "x-field-uid": 7 + } + } + }, + "Pattern.Ipv4Pattern.Ipv4.Counter": { + "description": "ipv4 counter pattern", + "type": "object", + "properties": { + "start": { + "type": "string", + "x-field-uid": 1, + "default": "0.0.0.0", + "format": "ipv4" + }, + "step": { + "type": "string", + "x-field-uid": 2, + "default": "0.0.0.1", + "format": "ipv4" + }, + "count": { + "type": "integer", + "x-field-uid": 3, + "default": 1, + "format": "uint32" + } + } + }, + "Pattern.Ipv4Pattern.Ipv4": { + "description": "TBD", + "type": "object", + "properties": { + "choice": { + "type": "string", + "x-enum": { + "value": { + "x-field-uid": 2 + }, + "values": { + "x-field-uid": 3 + }, + "increment": { + "x-field-uid": 4 + }, + "decrement": { + "x-field-uid": 5 + } + }, + "default": "value", + "x-field-uid": 1, + "enum": [ + "value", + "values", + "increment", + "decrement" + ] + }, + "value": { + "type": "string", + "x-field-uid": 2, + "default": "0.0.0.0", + "format": "ipv4" + }, + "values": { + "type": "array", + "items": { + "type": "string", + "format": "ipv4" + }, + "x-field-uid": 3, + "default": [ + "0.0.0.0" + ] + }, + "increment": { + "$ref": "#/components/schemas/Pattern.Ipv4Pattern.Ipv4.Counter", + "x-field-uid": 5 + }, + "decrement": { + "$ref": "#/components/schemas/Pattern.Ipv4Pattern.Ipv4.Counter", + "x-field-uid": 6 + } + } + }, + "Pattern.Ipv6Pattern.Ipv6.Counter": { + "description": "ipv6 counter pattern", + "type": "object", + "properties": { + "start": { + "type": "string", + "x-field-uid": 1, + "default": "::", + "format": "ipv6" + }, + "step": { + "type": "string", + "x-field-uid": 2, + "default": "::1", + "format": "ipv6" + }, + "count": { + "type": "integer", + "x-field-uid": 3, + "default": 1, + "format": "uint32" + } + } + }, + "Pattern.Ipv6Pattern.Ipv6": { + "description": "TBD", + "type": "object", + "properties": { + "choice": { + "type": "string", + "x-enum": { + "value": { + "x-field-uid": 2 + }, + "values": { + "x-field-uid": 3 + }, + "increment": { + "x-field-uid": 4 + }, + "decrement": { + "x-field-uid": 5 + } + }, + "default": "value", + "x-field-uid": 1, + "enum": [ + "value", + "values", + "increment", + "decrement" + ] + }, + "value": { + "type": "string", + "x-field-uid": 2, + "default": "::", + "format": "ipv6" + }, + "values": { + "type": "array", + "items": { + "type": "string", + "format": "ipv6" + }, + "x-field-uid": 3, + "default": [ + "::" + ] + }, + "increment": { + "$ref": "#/components/schemas/Pattern.Ipv6Pattern.Ipv6.Counter", + "x-field-uid": 5 + }, + "decrement": { + "$ref": "#/components/schemas/Pattern.Ipv6Pattern.Ipv6.Counter", + "x-field-uid": 6 + } + } + }, + "Pattern.MacPattern.Mac.Counter": { + "description": "mac counter pattern", + "type": "object", + "properties": { + "start": { + "type": "string", + "x-field-uid": 1, + "default": "00:00:00:00:00:00", + "format": "mac" + }, + "step": { + "type": "string", + "x-field-uid": 2, + "default": "00:00:00:00:00:01", + "format": "mac" + }, + "count": { + "type": "integer", + "x-field-uid": 3, + "default": 1, + "format": "uint32" + } + } + }, + "Pattern.MacPattern.Mac": { + "description": "TBD", + "type": "object", + "properties": { + "choice": { + "type": "string", + "x-enum": { + "value": { + "x-field-uid": 2 + }, + "values": { + "x-field-uid": 3 + }, + "auto": { + "x-field-uid": 1 + }, + "increment": { + "x-field-uid": 4 + }, + "decrement": { + "x-field-uid": 5 + } + }, + "default": "auto", + "x-field-uid": 1, + "enum": [ + "value", + "values", + "auto", + "increment", + "decrement" + ] + }, + "value": { + "type": "string", + "x-field-uid": 2, + "default": "00:00:00:00:00:00", + "format": "mac" + }, + "values": { + "type": "array", + "items": { + "type": "string", + "format": "mac" + }, + "x-field-uid": 3, + "default": [ + "00:00:00:00:00:00" + ] + }, + "auto": { + "description": "The OTG implementation can provide a system generated\nvalue for this property. If the OTG is unable to generate a value\nthe default value must be used.", + "type": "string", + "x-field-uid": 4, + "default": "00:00:00:00:00:00", + "format": "mac" + }, + "increment": { + "$ref": "#/components/schemas/Pattern.MacPattern.Mac.Counter", + "x-field-uid": 6 + }, + "decrement": { + "$ref": "#/components/schemas/Pattern.MacPattern.Mac.Counter", + "x-field-uid": 7 + } + } + }, + "Pattern.IntegerPattern.Integer.Counter": { + "description": "integer counter pattern", + "type": "object", + "properties": { + "start": { + "type": "integer", + "x-field-uid": 1, + "default": 0, + "format": "uint32", + "maximum": 255 + }, + "step": { + "type": "integer", + "x-field-uid": 2, + "default": 1, + "format": "uint32", + "maximum": 255 + }, + "count": { + "type": "integer", + "x-field-uid": 3, + "default": 1, + "format": "uint32", + "maximum": 255 + } + } + }, + "Pattern.IntegerPattern.Integer": { + "description": "TBD", + "type": "object", + "properties": { + "choice": { + "type": "string", + "x-enum": { + "value": { + "x-field-uid": 2 + }, + "values": { + "x-field-uid": 3 + }, + "increment": { + "x-field-uid": 4 + }, + "decrement": { + "x-field-uid": 5 + } + }, + "default": "value", + "x-field-uid": 1, + "enum": [ + "value", + "values", + "increment", + "decrement" + ] + }, + "value": { + "type": "integer", + "x-field-uid": 2, + "default": 0, + "format": "uint32", + "maximum": 255 + }, + "values": { + "type": "array", + "items": { + "type": "integer", + "format": "uint32", + "maximum": 255 + }, + "x-field-uid": 3, + "default": [ + 0 + ] + }, + "increment": { + "$ref": "#/components/schemas/Pattern.IntegerPattern.Integer.Counter", + "x-field-uid": 5 + }, + "decrement": { + "$ref": "#/components/schemas/Pattern.IntegerPattern.Integer.Counter", + "x-field-uid": 6 + } + } + }, + "Pattern.ChecksumPattern.Checksum": { + "description": "TBD", + "type": "object", + "properties": { + "choice": { + "description": "The type of checksum", + "type": "string", + "x-enum": { + "generated": { + "x-field-uid": 1 + }, + "custom": { + "x-field-uid": 2 + } + }, + "default": "generated", + "x-field-uid": 1, + "enum": [ + "generated", + "custom" + ] + }, + "generated": { + "description": "A system generated checksum value", + "type": "string", + "x-enum": { + "good": { + "x-field-uid": 1 + }, + "bad": { + "x-field-uid": 2 + } + }, + "default": "good", + "x-field-uid": 2, + "enum": [ + "good", + "bad" + ] + }, + "custom": { + "description": "A custom checksum value", + "type": "integer", + "format": "uint32", + "maximum": 255, + "x-field-uid": 3 + } + } + }, + "Version": { + "description": "Version details", + "type": "object", + "properties": { + "api_spec_version": { + "description": "Version of API specification", + "type": "string", + "default": "", + "x-field-uid": 1 + }, + "sdk_version": { + "description": "Version of SDK generated from API specification", + "type": "string", + "default": "", + "x-field-uid": 2 + }, + "app_version": { + "description": "Version of application consuming or serving the API", + "type": "string", + "default": "", + "x-field-uid": 3 + } + } + } + } + } +} \ No newline at end of file diff --git a/artifacts/openapi.yaml b/artifacts/openapi.yaml new file mode 100644 index 00000000..5d29df7d --- /dev/null +++ b/artifacts/openapi.yaml @@ -0,0 +1,1802 @@ +openapi: 3.0.3 +info: + title: OpenAPIArt Test API + description: |- + Demonstrates the features of the OpenAPIArt package + version: 0.0.1 + contact: + x-info: "Any feedback such as bugs/enhancements/questions regarding OpenApiArt\ + \ is \nwelcomed by using the contact url. " + url: https://github.com/open-traffic-generator/openapiart/issues + license: + name: NO-LICENSE-PRESENT +servers: +- url: https://{hostname}:{port}/{basePath} + variables: + hostname: + default: 0.0.0.0 + port: + default: '8080' + basePath: + default: api +paths: + /config: + post: + tags: + - Bundler + operationId: set_config + description: |- + Sets configuration resources. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Prefix.Config' + responses: + '200': + x-field-uid: 1 + description: |- + Standard success binary payload + content: + application/octet-stream: + schema: + type: string + format: binary + default: + x-field-uid: 2 + description: |- + The request did not succeed and server has responded with error details. + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + patch: + tags: + - Bundler + operationId: update_configuration + description: |- + Deprecated: please use post instead + + Sets configuration resources. + x-status: + status: deprecated + information: please use post instead + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Update.Config' + responses: + '200': + description: |- + success 2xx + content: + application/json: + schema: + $ref: '#/components/schemas/Prefix.Config' + x-field-uid: 1 + default: + x-field-uid: 2 + description: |- + The request did not succeed and server has responded with error details. + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + get: + tags: + - Bundler + operationId: get_config + description: |- + Gets the configuration resources. + responses: + '200': + description: |- + Config response + content: + application/json: + schema: + $ref: '#/components/schemas/Prefix.Config' + x-field-uid: 1 + default: + x-field-uid: 2 + description: |- + The request did not succeed and server has responded with error details. + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + /metrics: + get: + tags: + - Metrics + operationId: get_metrics + description: |- + Gets metrics. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Metrics.Request' + responses: + '200': + description: |- + Unique metrics response + content: + application/json: + schema: + $ref: '#/components/schemas/Metrics' + x-field-uid: 1 + default: + x-field-uid: 2 + description: |- + The request did not succeed and server has responded with error details. + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + /warnings: + get: + tags: + - Metrics + operationId: get_warnings + description: |- + Gets warnings. + responses: + '200': + $ref: '#/components/responses/Warnings' + x-field-uid: 1 + default: + x-field-uid: 2 + description: |- + The request did not succeed and server has responded with error details. + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + delete: + tags: + - Metrics + operationId: clear_warnings + description: |- + Clears warnings. + responses: + '200': + description: |- + OK + x-field-uid: 1 + default: + x-field-uid: 2 + description: |- + The request did not succeed and server has responded with error details. + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + /apitest: + get: + tags: + - ApiTest + operationId: GetRootResponse + description: |- + simple GET api with single return type + responses: + '200': + description: |- + OK + content: + application/json: + schema: + $ref: '#/components/schemas/Common.ResponseSuccess' + x-field-uid: 1 + default: + description: |- + OK + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + x-field-uid: 2 + delete: + tags: + - ApiTest + operationId: dummyResponseTest + responses: + '200': + description: |- + OK + content: + text/plain: + schema: + type: string + x-field-uid: 1 + default: + description: |- + OK + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + x-field-uid: 2 + post: + tags: + - ApiTest + operationId: PostRootResponse + description: |- + simple POST api with single return type + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ApiTest.InputBody' + responses: + '200': + description: |- + OK + content: + application/json: + schema: + $ref: '#/components/schemas/Common.ResponseSuccess' + x-field-uid: 1 + default: + description: |- + OK + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + x-field-uid: 2 + /serviceb: + get: + tags: + - ServiceAbc + operationId: GetAllItems + description: |- + return list of some items + responses: + '200': + description: |- + OK + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceAbc.ItemList' + x-field-uid: 1 + default: + description: |- + OK + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + x-field-uid: 2 + /serviceb/{item_id}: + get: + tags: + - ServiceAbc + operationId: GetSingleItem + description: |- + return single item + parameters: + - in: path + name: item_id + required: true + schema: + type: string + responses: + '200': + description: |- + OK + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceAbc.Item' + x-field-uid: 1 + default: + description: |- + OK + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + x-field-uid: 2 + /serviceb/{item_id}/{level_2}: + get: + tags: + - ServiceAbc + operationId: getSingleItemLevel2 + description: |- + return single item + parameters: + - in: path + name: item_id + required: true + schema: + type: string + - in: path + name: level_2 + required: true + schema: + type: string + responses: + '200': + description: |- + OK + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceAbc.Item' + x-field-uid: 1 + default: + description: |- + OK + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + x-field-uid: 2 + /capabilities/version: + get: + tags: + - Capabilities + operationId: get_version + responses: + '200': + description: |- + Version details from API server + content: + application/json: + schema: + $ref: '#/components/schemas/Version' + x-field-uid: 1 + default: + x-field-uid: 2 + description: |- + The request did not succeed and server has responded with error details. + content: + application/json: + schema: + $ref: '#/components/schemas/Error' +components: + responses: + Warnings: + description: |- + Success warning payload similar to otg Success + content: + application/json: + schema: + $ref: '#/components/schemas/Warning.Details' + schemas: + Error.Details: + type: object + properties: + errors: + type: array + items: + type: string + x-field-uid: 1 + Warning.Details: + type: object + properties: + warnings: + type: array + items: + type: string + x-field-uid: 1 + Error: + description: |- + Error response generated while serving API request. + type: object + required: + - code + - errors + properties: + code: + description: |- + Numeric status code based on underlying transport being used. + type: integer + x-field-uid: 1 + kind: + description: |- + Kind of error message. + type: string + x-enum: + transport: + x-field-uid: 1 + validation: + x-field-uid: 2 + internal: + x-field-uid: 3 + x-field-uid: 2 + enum: + - transport + - validation + - internal + errors: + description: |- + List of error messages generated while serving API request. + type: array + items: + type: string + x-field-uid: 3 + Prefix.Config: + type: object + required: + - a + - b + - c + - required_object + description: |- + Container which retains the configuration + properties: + required_object: + description: |- + A required object that MUST be generated as such. + $ref: '#/components/schemas/EObject' + x-field-uid: 1 + optional_object: + description: |- + An optional object that MUST be generated as such. + $ref: '#/components/schemas/EObject' + x-field-uid: 2 + ieee_802_1qbb: + type: boolean + x-field-uid: 3 + space_1: + type: integer + x-status: + status: deprecated + information: Information TBD + x-field-uid: 4 + description: |- + Deprecated: Information TBD + + Description TBD + full_duplex_100_mb: + type: integer + format: int64 + minimum: -10 + maximum: 4261412864 + x-field-uid: 5 + response: + description: |- + Indicate to the server what response should be returned + type: string + default: status_200 + x-field-uid: 6 + x-enum: + status_200: + x-field-uid: 1 + status_400: + x-field-uid: 2 + status_404: + x-status: + status: deprecated + information: new code will be coming soon + x-field-uid: 3 + description: |- + Deprecated: new code will be coming soon + + Description TBD + status_500: + x-status: + status: under_review + information: 500 can change to other values + x-field-uid: 4 + description: |- + Under Review: 500 can change to other values + + Description TBD + enum: + - status_200 + - status_400 + - status_404 + - status_500 + a: + x-status: + status: under_review + information: Information TBD + description: |- + Under Review: Information TBD + + Small single line description + type: string + x-field-uid: 7 + b: + description: |- + Longer multi-line description + Second line is here + Third line + type: number + format: float + x-field-uid: 8 + c: + type: integer + x-field-uid: 9 + d_values: + x-status: + status: deprecated + information: Information TBD + description: |- + Deprecated: Information TBD + + A list of enum values + type: array + items: + type: string + x-enum: + a: + x-field-uid: 1 + b: + x-field-uid: 2 + c: + x-field-uid: 3 + enum: + - a + - b + - c + x-field-uid: 10 + e: + x-status: + status: deprecated + information: Information TBD + description: |- + Deprecated: Information TBD + + A child object + $ref: '#/components/schemas/EObject' + x-field-uid: 11 + f: + description: |- + An object with only choice(s) + $ref: '#/components/schemas/FObject' + x-field-uid: 12 + g: + description: |- + A list of objects with choice and properties + type: array + items: + $ref: '#/components/schemas/GObject' + x-field-uid: 13 + h: + description: |- + A boolean value + type: boolean + default: true + x-field-uid: 14 + i: + description: |- + A byte string + type: string + format: binary + x-field-uid: 15 + j: + description: |- + A list of objects with only choice + type: array + items: + $ref: '#/components/schemas/JObject' + x-field-uid: 16 + k: + description: |- + A nested object with only one property which is a choice object + $ref: '#/components/schemas/KObject' + x-field-uid: 17 + l: + $ref: '#/components/schemas/LObject' + x-field-uid: 18 + list_of_string_values: + description: |- + A list of string values + type: array + items: + type: string + x-field-uid: 19 + list_of_integer_values: + description: |- + A list of integer values + type: array + items: + type: integer + x-field-uid: 20 + level: + $ref: '#/components/schemas/Level.One' + x-field-uid: 21 + mandatory: + $ref: '#/components/schemas/Mandate' + x-field-uid: 22 + ipv4_pattern: + $ref: '#/components/schemas/Ipv4Pattern' + x-field-uid: 23 + ipv6_pattern: + $ref: '#/components/schemas/Ipv6Pattern' + x-field-uid: 24 + mac_pattern: + $ref: '#/components/schemas/MacPattern' + x-field-uid: 25 + integer_pattern: + $ref: '#/components/schemas/IntegerPattern' + x-field-uid: 26 + checksum_pattern: + $ref: '#/components/schemas/ChecksumPattern' + x-field-uid: 27 + case: + $ref: '#/components/schemas/Layer1Ieee802x' + x-field-uid: 28 + m_object: + $ref: '#/components/schemas/MObject' + x-field-uid: 29 + integer64: + description: |- + int64 type + type: integer + format: int64 + x-field-uid: 30 + integer64_list: + description: |- + int64 type list + type: array + items: + type: integer + format: int64 + minimum: -12 + maximum: 4261412864 + x-field-uid: 31 + header_checksum: + x-field-uid: 32 + $ref: '#/components/schemas/Pattern.Prefix.Config.HeaderChecksum' + str_len: + x-status: + status: under_review + information: Information TBD + description: |- + Under Review: Information TBD + + string minimum&maximum Length + type: string + minLength: 3 + maxLength: 6 + x-field-uid: 33 + hex_slice: + x-status: + status: under_review + information: Information TBD + description: |- + Under Review: Information TBD + + Array of Hex + type: array + items: + type: string + format: hex + x-field-uid: 34 + auto_field_test: + x-field-uid: 35 + $ref: '#/components/schemas/Pattern.Prefix.Config.AutoFieldTest' + name: + x-field-uid: 36 + type: string + w_list: + type: array + items: + $ref: '#/components/schemas/WObject' + x-field-uid: 37 + x_list: + type: array + items: + $ref: '#/components/schemas/ZObject' + x-field-uid: 38 + z_object: + $ref: '#/components/schemas/ZObject' + x-field-uid: 39 + y_object: + $ref: '#/components/schemas/YObject' + x-field-uid: 40 + choice_object: + description: |- + A list of objects with choice with and without properties + type: array + items: + $ref: '#/components/schemas/ChoiceObject' + x-field-uid: 41 + required_choice_object: + $ref: '#/components/schemas/RequiredChoiceParent' + x-field-uid: 42 + g1: + description: |- + A list of objects with choice and properties + type: array + items: + $ref: '#/components/schemas/GObject' + x-field-uid: 43 + g2: + description: |- + A list of objects with choice and properties + type: array + items: + $ref: '#/components/schemas/GObject' + x-field-uid: 44 + int32_param: + description: |- + int32 type + type: integer + format: int32 + x-field-uid: 45 + int32_list_param: + description: |- + int32 type list + type: array + items: + type: integer + format: int32 + minimum: -23456 + maximum: 23456 + x-field-uid: 46 + uint32_param: + description: |- + uint32 type + type: integer + format: uint32 + x-field-uid: 47 + uint32_list_param: + description: |- + uint32 type list + type: array + items: + type: integer + format: uint32 + minimum: 0 + maximum: 4294967293 + x-field-uid: 48 + uint64_param: + description: |- + uint64 type + type: integer + format: uint64 + x-field-uid: 49 + uint64_list_param: + description: |- + uint64 type list + type: array + items: + type: integer + format: uint64 + x-field-uid: 50 + auto_int32_param: + description: |- + should automatically set type to int32 + type: integer + minimum: 64 + maximum: 9000 + x-field-uid: 51 + auto_int32_list_param: + description: |- + should automatically set type to []int32 + type: array + items: + type: integer + minimum: 64 + maximum: 9000 + x-field-uid: 52 + WObject: + required: + - w_name + properties: + w_name: + type: string + x-field-uid: 1 + ZObject: + required: + - name + properties: + name: + type: string + x-field-uid: 1 + YObject: + properties: + y_name: + type: string + x-field-uid: 1 + x-constraint: + - /components/schemas/ZObject/properties/name + - /components/schemas/WObject/properties/w_name + description: | + TBD + + x-constraint: + - /components/schemas/ZObject/properties/name + - /components/schemas/WObject/properties/w_name + Layer1Ieee802x: + type: object + properties: + flow_control: + type: boolean + x-field-uid: 1 + GObject: + type: object + x-status: + status: deprecated + information: new schema Jobject to be used + properties: + g_a: + type: string + default: asdf + x-field-uid: 1 + g_b: + type: integer + default: 6 + x-field-uid: 2 + g_c: + type: number + default: 77.7 + x-status: + status: deprecated + information: Information TBD + x-field-uid: 3 + description: |- + Deprecated: Information TBD + + Description TBD + choice: + type: string + default: g_d + x-field-uid: 4 + x-enum: + g_d: + x-field-uid: 1 + g_e: + x-field-uid: 2 + enum: + - g_d + - g_e + g_d: + type: string + default: some string + x-field-uid: 5 + g_e: + type: number + format: double + default: 3.0 + x-field-uid: 6 + g_f: + description: |- + Another enum to test protbuf enum generation + type: string + default: a + x-field-uid: 7 + x-enum: + a: + x-field-uid: 1 + b: + x-field-uid: 2 + c: + x-field-uid: 3 + enum: + - a + - b + - c + name: + x-field-uid: 8 + type: string + description: |- + Deprecated: new schema Jobject to be used + + Description TBD + EObject: + type: object + required: + - e_a + - e_b + properties: + e_a: + type: number + format: float + x-field-uid: 1 + e_b: + type: number + format: double + x-field-uid: 2 + name: + x-field-uid: 3 + type: string + m_param1: + x-field-uid: 4 + type: string + m_param2: + x-field-uid: 5 + type: string + FObject: + type: object + properties: + choice: + type: string + default: f_a + x-field-uid: 1 + x-enum: + f_a: + x-field-uid: 1 + f_b: + x-field-uid: 2 + f_c: + x-field-uid: 3 + enum: + - f_a + - f_b + - f_c + f_a: + type: string + default: some string + x-field-uid: 2 + f_b: + type: number + format: double + default: 3.0 + x-field-uid: 3 + JObject: + type: object + properties: + choice: + type: string + default: j_a + x-field-uid: 1 + x-enum: + j_a: + x-field-uid: 1 + j_b: + x-status: + status: deprecated + information: use j_a instead + x-field-uid: 2 + description: |- + Deprecated: use j_a instead + + Description TBD + enum: + - j_a + - j_b + j_a: + $ref: '#/components/schemas/EObject' + x-field-uid: 2 + j_b: + $ref: '#/components/schemas/FObject' + x-field-uid: 3 + ChoiceObject: + type: object + properties: + choice: + type: string + default: no_obj + x-field-uid: 1 + x-enum: + e_obj: + x-field-uid: 1 + f_obj: + x-field-uid: 2 + no_obj: + x-field-uid: 3 + enum: + - e_obj + - f_obj + - no_obj + e_obj: + $ref: '#/components/schemas/EObject' + x-field-uid: 2 + f_obj: + $ref: '#/components/schemas/FObject' + x-field-uid: 3 + KObject: + type: object + properties: + e_object: + $ref: '#/components/schemas/EObject' + x-field-uid: 1 + f_object: + $ref: '#/components/schemas/FObject' + x-field-uid: 2 + LObject: + description: |- + Format validation object + type: object + properties: + string_param: + type: string + x-field-uid: 1 + integer: + type: integer + minimum: -10 + maximum: 90 + x-field-uid: 2 + float: + type: number + format: float + x-field-uid: 3 + double: + type: number + format: double + x-field-uid: 4 + mac: + type: string + format: mac + x-field-uid: 5 + ipv4: + type: string + format: ipv4 + x-field-uid: 6 + ipv6: + type: string + format: ipv6 + x-field-uid: 7 + hex: + type: string + format: hex + x-field-uid: 8 + MObject: + description: |- + Required format validation object + type: object + required: + - string_param + - integer + - float + - double + - mac + - ipv4 + - ipv6 + - hex + properties: + string_param: + type: string + x-field-uid: 1 + integer: + type: integer + minimum: -10 + maximum: 90 + x-field-uid: 2 + float: + type: number + format: float + x-field-uid: 3 + double: + type: number + format: double + x-field-uid: 4 + mac: + type: string + format: mac + x-field-uid: 5 + ipv4: + type: string + format: ipv4 + x-field-uid: 6 + ipv6: + type: string + format: ipv6 + x-field-uid: 7 + hex: + type: string + format: hex + x-field-uid: 8 + Mandate: + description: |- + Object to Test required Parameter + type: object + required: + - required_param + properties: + required_param: + type: string + x-field-uid: 1 + Update.Config: + description: |- + Under Review: the whole schema is being reviewed + + Object to Test required Parameter + x-status: + status: under_review + information: the whole schema is being reviewed + type: object + properties: + g: + description: |- + A list of objects with choice and properties + type: array + items: + $ref: '#/components/schemas/GObject' + x-field-uid: 1 + Metrics.Request: + type: object + properties: + choice: + type: string + default: port + x-field-uid: 1 + x-enum: + port: + x-field-uid: 1 + flow: + x-field-uid: 2 + enum: + - port + - flow + port: + type: string + x-field-uid: 2 + flow: + type: string + x-field-uid: 3 + Metrics: + type: object + properties: + choice: + type: string + default: ports + x-field-uid: 1 + x-enum: + ports: + x-field-uid: 1 + flows: + x-field-uid: 2 + enum: + - ports + - flows + ports: + type: array + items: + $ref: '#/components/schemas/Port.Metric' + x-field-uid: 2 + flows: + type: array + items: + $ref: '#/components/schemas/Flow.Metric' + x-field-uid: 3 + Port.Metric: + type: object + required: + - name + - tx_frames + - rx_frames + properties: + name: + type: string + x-field-uid: 1 + tx_frames: + type: number + format: double + x-field-uid: 2 + rx_frames: + type: number + format: double + x-field-uid: 3 + Flow.Metric: + type: object + required: + - name + - tx_frames + - rx_frames + properties: + name: + type: string + x-field-uid: 1 + tx_frames: + type: number + format: double + x-field-uid: 2 + rx_frames: + type: number + format: double + x-field-uid: 3 + RequiredChoiceParent: + type: object + required: + - choice + properties: + choice: + type: string + x-field-uid: 1 + x-enum: + intermediate_obj: + x-field-uid: 1 + no_obj: + x-field-uid: 2 + enum: + - intermediate_obj + - no_obj + intermediate_obj: + $ref: '#/components/schemas/RequiredChoiceIntermediate' + x-field-uid: 2 + RequiredChoiceIntermediate: + type: object + required: + - choice + properties: + choice: + type: string + x-field-uid: 1 + x-enum: + f_a: + x-field-uid: 1 + leaf: + x-field-uid: 2 + enum: + - f_a + - leaf + f_a: + type: string + default: some string + x-field-uid: 2 + leaf: + $ref: '#/components/schemas/RequiredChoiceIntermeLeaf' + x-field-uid: 3 + RequiredChoiceIntermeLeaf: + type: object + properties: + name: + type: string + x-field-uid: 1 + Level.One: + description: |- + To Test Multi level non-primitive types + properties: + l1_p1: + description: |- + Level one + $ref: '#/components/schemas/Level.Two' + x-field-uid: 1 + l1_p2: + description: |- + Level one to four + $ref: '#/components/schemas/Level.Four' + x-field-uid: 2 + Level.Two: + description: |- + Test Level 2 + properties: + l2_p1: + description: |- + Level Two + $ref: '#/components/schemas/Level.Three' + x-field-uid: 1 + Level.Three: + description: |- + Test Level3 + properties: + l3_p1: + description: |- + Set value at Level 3 + type: string + x-field-uid: 1 + Level.Four: + description: |- + Test level4 redundant junk testing + properties: + l4_p1: + description: |- + loop over level 1 + $ref: '#/components/schemas/Level.One' + x-field-uid: 1 + Ipv4Pattern: + description: |- + Test ipv4 pattern + type: object + properties: + ipv4: + x-field-uid: 1 + $ref: '#/components/schemas/Pattern.Ipv4Pattern.Ipv4' + Ipv6Pattern: + description: |- + Test ipv6 pattern + type: object + properties: + ipv6: + x-field-uid: 1 + $ref: '#/components/schemas/Pattern.Ipv6Pattern.Ipv6' + MacPattern: + description: |- + Test mac pattern + type: object + properties: + mac: + x-field-uid: 1 + $ref: '#/components/schemas/Pattern.MacPattern.Mac' + IntegerPattern: + description: |- + Test integer pattern + type: object + properties: + integer: + x-field-uid: 1 + $ref: '#/components/schemas/Pattern.IntegerPattern.Integer' + ChecksumPattern: + description: |- + Test checksum pattern + type: object + properties: + checksum: + x-field-uid: 1 + $ref: '#/components/schemas/Pattern.ChecksumPattern.Checksum' + Common.ResponseSuccess: + type: object + properties: + message: + type: string + x-field-uid: 1 + ApiTest.InputBody: + type: object + properties: + some_string: + type: string + x-field-uid: 1 + ServiceAbc.Item: + type: object + properties: + some_id: + type: string + x-field-uid: 1 + some_string: + type: string + x-field-uid: 2 + path_id: + type: string + x-field-uid: 3 + level_2: + type: string + x-field-uid: 4 + ServiceAbc.ItemList: + type: object + properties: + items: + type: array + items: + $ref: '#/components/schemas/ServiceAbc.Item' + x-field-uid: 1 + Pattern.Prefix.Config.HeaderChecksum: + description: |- + Header checksum + type: object + properties: + choice: + description: |- + The type of checksum + type: string + x-enum: + generated: + x-field-uid: 1 + custom: + x-field-uid: 2 + default: generated + x-field-uid: 1 + enum: + - generated + - custom + generated: + description: |- + A system generated checksum value + type: string + x-enum: + good: + x-field-uid: 1 + bad: + x-field-uid: 2 + default: good + x-field-uid: 2 + enum: + - good + - bad + custom: + description: |- + A custom checksum value + type: integer + format: uint32 + maximum: 65535 + x-field-uid: 3 + Pattern.Prefix.Config.AutoFieldTest.Counter: + description: |- + integer counter pattern + type: object + properties: + start: + type: integer + x-field-uid: 1 + default: 0 + format: uint32 + maximum: 255 + step: + type: integer + x-field-uid: 2 + default: 1 + format: uint32 + maximum: 255 + count: + type: integer + x-field-uid: 3 + default: 1 + format: uint32 + maximum: 255 + Pattern.Prefix.Config.AutoFieldTest: + description: |- + TBD + type: object + properties: + choice: + type: string + x-enum: + value: + x-field-uid: 2 + values: + x-field-uid: 3 + auto: + x-field-uid: 1 + increment: + x-field-uid: 4 + decrement: + x-field-uid: 5 + default: auto + x-field-uid: 1 + enum: + - value + - values + - auto + - increment + - decrement + value: + type: integer + x-field-uid: 2 + default: 0 + format: uint32 + maximum: 255 + values: + type: array + items: + type: integer + format: uint32 + maximum: 255 + x-field-uid: 3 + default: + - 0 + auto: + description: |- + The OTG implementation can provide a system generated + value for this property. If the OTG is unable to generate a value + the default value must be used. + type: integer + x-field-uid: 4 + default: 0 + format: uint32 + maximum: 255 + increment: + $ref: '#/components/schemas/Pattern.Prefix.Config.AutoFieldTest.Counter' + x-field-uid: 6 + decrement: + $ref: '#/components/schemas/Pattern.Prefix.Config.AutoFieldTest.Counter' + x-field-uid: 7 + Pattern.Ipv4Pattern.Ipv4.Counter: + description: |- + ipv4 counter pattern + type: object + properties: + start: + type: string + x-field-uid: 1 + default: 0.0.0.0 + format: ipv4 + step: + type: string + x-field-uid: 2 + default: 0.0.0.1 + format: ipv4 + count: + type: integer + x-field-uid: 3 + default: 1 + format: uint32 + Pattern.Ipv4Pattern.Ipv4: + description: |- + TBD + type: object + properties: + choice: + type: string + x-enum: + value: + x-field-uid: 2 + values: + x-field-uid: 3 + increment: + x-field-uid: 4 + decrement: + x-field-uid: 5 + default: value + x-field-uid: 1 + enum: + - value + - values + - increment + - decrement + value: + type: string + x-field-uid: 2 + default: 0.0.0.0 + format: ipv4 + values: + type: array + items: + type: string + format: ipv4 + x-field-uid: 3 + default: + - 0.0.0.0 + increment: + $ref: '#/components/schemas/Pattern.Ipv4Pattern.Ipv4.Counter' + x-field-uid: 5 + decrement: + $ref: '#/components/schemas/Pattern.Ipv4Pattern.Ipv4.Counter' + x-field-uid: 6 + Pattern.Ipv6Pattern.Ipv6.Counter: + description: |- + ipv6 counter pattern + type: object + properties: + start: + type: string + x-field-uid: 1 + default: '::' + format: ipv6 + step: + type: string + x-field-uid: 2 + default: ::1 + format: ipv6 + count: + type: integer + x-field-uid: 3 + default: 1 + format: uint32 + Pattern.Ipv6Pattern.Ipv6: + description: |- + TBD + type: object + properties: + choice: + type: string + x-enum: + value: + x-field-uid: 2 + values: + x-field-uid: 3 + increment: + x-field-uid: 4 + decrement: + x-field-uid: 5 + default: value + x-field-uid: 1 + enum: + - value + - values + - increment + - decrement + value: + type: string + x-field-uid: 2 + default: '::' + format: ipv6 + values: + type: array + items: + type: string + format: ipv6 + x-field-uid: 3 + default: + - '::' + increment: + $ref: '#/components/schemas/Pattern.Ipv6Pattern.Ipv6.Counter' + x-field-uid: 5 + decrement: + $ref: '#/components/schemas/Pattern.Ipv6Pattern.Ipv6.Counter' + x-field-uid: 6 + Pattern.MacPattern.Mac.Counter: + description: |- + mac counter pattern + type: object + properties: + start: + type: string + x-field-uid: 1 + default: 00:00:00:00:00:00 + format: mac + step: + type: string + x-field-uid: 2 + default: 00:00:00:00:00:01 + format: mac + count: + type: integer + x-field-uid: 3 + default: 1 + format: uint32 + Pattern.MacPattern.Mac: + description: |- + TBD + type: object + properties: + choice: + type: string + x-enum: + value: + x-field-uid: 2 + values: + x-field-uid: 3 + auto: + x-field-uid: 1 + increment: + x-field-uid: 4 + decrement: + x-field-uid: 5 + default: auto + x-field-uid: 1 + enum: + - value + - values + - auto + - increment + - decrement + value: + type: string + x-field-uid: 2 + default: 00:00:00:00:00:00 + format: mac + values: + type: array + items: + type: string + format: mac + x-field-uid: 3 + default: + - 00:00:00:00:00:00 + auto: + description: |- + The OTG implementation can provide a system generated + value for this property. If the OTG is unable to generate a value + the default value must be used. + type: string + x-field-uid: 4 + default: 00:00:00:00:00:00 + format: mac + increment: + $ref: '#/components/schemas/Pattern.MacPattern.Mac.Counter' + x-field-uid: 6 + decrement: + $ref: '#/components/schemas/Pattern.MacPattern.Mac.Counter' + x-field-uid: 7 + Pattern.IntegerPattern.Integer.Counter: + description: |- + integer counter pattern + type: object + properties: + start: + type: integer + x-field-uid: 1 + default: 0 + format: uint32 + maximum: 255 + step: + type: integer + x-field-uid: 2 + default: 1 + format: uint32 + maximum: 255 + count: + type: integer + x-field-uid: 3 + default: 1 + format: uint32 + maximum: 255 + Pattern.IntegerPattern.Integer: + description: |- + TBD + type: object + properties: + choice: + type: string + x-enum: + value: + x-field-uid: 2 + values: + x-field-uid: 3 + increment: + x-field-uid: 4 + decrement: + x-field-uid: 5 + default: value + x-field-uid: 1 + enum: + - value + - values + - increment + - decrement + value: + type: integer + x-field-uid: 2 + default: 0 + format: uint32 + maximum: 255 + values: + type: array + items: + type: integer + format: uint32 + maximum: 255 + x-field-uid: 3 + default: + - 0 + increment: + $ref: '#/components/schemas/Pattern.IntegerPattern.Integer.Counter' + x-field-uid: 5 + decrement: + $ref: '#/components/schemas/Pattern.IntegerPattern.Integer.Counter' + x-field-uid: 6 + Pattern.ChecksumPattern.Checksum: + description: |- + TBD + type: object + properties: + choice: + description: |- + The type of checksum + type: string + x-enum: + generated: + x-field-uid: 1 + custom: + x-field-uid: 2 + default: generated + x-field-uid: 1 + enum: + - generated + - custom + generated: + description: |- + A system generated checksum value + type: string + x-enum: + good: + x-field-uid: 1 + bad: + x-field-uid: 2 + default: good + x-field-uid: 2 + enum: + - good + - bad + custom: + description: |- + A custom checksum value + type: integer + format: uint32 + maximum: 255 + x-field-uid: 3 + Version: + description: |- + Version details + type: object + properties: + api_spec_version: + description: |- + Version of API specification + type: string + default: '' + x-field-uid: 1 + sdk_version: + description: |- + Version of SDK generated from API specification + type: string + default: '' + x-field-uid: 2 + app_version: + description: |- + Version of application consuming or serving the API + type: string + default: '' + x-field-uid: 3 diff --git a/artifacts/sanity.proto b/artifacts/sanity.proto new file mode 100644 index 00000000..5620e1d6 --- /dev/null +++ b/artifacts/sanity.proto @@ -0,0 +1,1171 @@ +/* OpenAPIArt Test API 0.0.1 + * Demonstrates the features of the OpenAPIArt package + * License: NO-LICENSE-PRESENT */ + +syntax = "proto3"; + +package sanity; + +option go_package = "./sanity;sanity"; + +import "google/protobuf/descriptor.proto"; +import "google/protobuf/empty.proto"; + +// Description missing in models +message ErrorDetails { + + // Description missing in models + repeated string errors = 1; +} + +// Description missing in models +message WarningDetails { + + // Description missing in models + repeated string warnings = 1; +} + +// Error response generated while serving API request. +message Error { + + // Numeric status code based on underlying transport being used. + // required = true + int32 code = 1; + + message Kind { + enum Enum { + unspecified = 0; + transport = 1; + validation = 2; + internal = 3; + } + } + // Kind of error message. + optional Kind.Enum kind = 2; + + // List of error messages generated while serving API request. + repeated string errors = 3; +} + +// Container which retains the configuration +message PrefixConfig { + + // A required object that MUST be generated as such. + // required = true + EObject required_object = 1; + + // An optional object that MUST be generated as such. + optional EObject optional_object = 2; + + // Description missing in models + optional bool ieee_802_1qbb = 3; + + // Deprecated: Information TBD + // + // Description TBD + optional int32 space_1 = 4; + + // Description missing in models + optional int64 full_duplex_100_mb = 5; + + message Response { + enum Enum { + unspecified = 0; + status_200 = 1; + status_400 = 2; + status_404 = 3; + status_500 = 4; + } + } + // Indicate to the server what response should be returned + // default = Response.Enum.status_200 + optional Response.Enum response = 6; + + // Under Review: Information TBD + // + // Small single line description + // required = true + string a = 7; + + // Longer multi-line description + // Second line is here + // Third line + // required = true + float b = 8; + + // Description missing in models + // required = true + int32 c = 9; + + message DValues { + enum Enum { + unspecified = 0; + a = 1; + b = 2; + c = 3; + } + } + // Deprecated: Information TBD + // + // A list of enum values + repeated DValues.Enum d_values = 10; + + // Deprecated: Information TBD + // + // A child object + optional EObject e = 11; + + // An object with only choice(s) + optional FObject f = 12; + + // A list of objects with choice and properties + repeated GObject g = 13; + + // A boolean value + // default = True + optional bool h = 14; + + // A byte string + optional bytes i = 15; + + // A list of objects with only choice + repeated JObject j = 16; + + // A nested object with only one property which is a choice object + optional KObject k = 17; + + // Description missing in models + optional LObject l = 18; + + // A list of string values + repeated string list_of_string_values = 19; + + // A list of integer values + repeated int32 list_of_integer_values = 20; + + // Description missing in models + optional LevelOne level = 21; + + // Description missing in models + optional Mandate mandatory = 22; + + // Description missing in models + optional Ipv4Pattern ipv4_pattern = 23; + + // Description missing in models + optional Ipv6Pattern ipv6_pattern = 24; + + // Description missing in models + optional MacPattern mac_pattern = 25; + + // Description missing in models + optional IntegerPattern integer_pattern = 26; + + // Description missing in models + optional ChecksumPattern checksum_pattern = 27; + + // Description missing in models + optional Layer1Ieee802x case = 28; + + // Description missing in models + optional MObject m_object = 29; + + // int64 type + optional int64 integer64 = 30; + + // int64 type list + repeated int64 integer64_list = 31; + + // Description missing in models + optional PatternPrefixConfigHeaderChecksum header_checksum = 32; + + // Under Review: Information TBD + // + // string minimum&maximum Length + optional string str_len = 33; + + // Under Review: Information TBD + // + // Array of Hex + repeated string hex_slice = 34; + + // Description missing in models + optional PatternPrefixConfigAutoFieldTest auto_field_test = 35; + + // Description missing in models + optional string name = 36; + + // Description missing in models + repeated WObject w_list = 37; + + // Description missing in models + repeated ZObject x_list = 38; + + // Description missing in models + optional ZObject z_object = 39; + + // Description missing in models + optional YObject y_object = 40; + + // A list of objects with choice with and without properties + repeated ChoiceObject choice_object = 41; + + // Description missing in models + optional RequiredChoiceParent required_choice_object = 42; + + // A list of objects with choice and properties + repeated GObject g1 = 43; + + // A list of objects with choice and properties + repeated GObject g2 = 44; + + // int32 type + optional int32 int32_param = 45; + + // int32 type list + repeated int32 int32_list_param = 46; + + // uint32 type + optional uint32 uint32_param = 47; + + // uint32 type list + repeated uint32 uint32_list_param = 48; + + // uint64 type + optional uint64 uint64_param = 49; + + // uint64 type list + repeated uint64 uint64_list_param = 50; + + // should automatically set type to int32 + optional int32 auto_int32_param = 51; + + // should automatically set type to []int32 + repeated int32 auto_int32_list_param = 52; +} + +// Description missing in models +message WObject { + + // Description missing in models + // required = true + string w_name = 1; +} + +// Description missing in models +message ZObject { + + // Description missing in models + // required = true + string name = 1; +} + +// Description missing in models +message YObject { + + // TBD + // + // x-constraint: + // - /components/schemas/ZObject/properties/name + // - /components/schemas/WObject/properties/w_name + // + optional string y_name = 1; +} + +// Description missing in models +message Layer1Ieee802x { + + // Description missing in models + optional bool flow_control = 1; +} + +// Deprecated: new schema Jobject to be used +// +// Description TBD +message GObject { + + // Description missing in models + // default = asdf + optional string g_a = 1; + + // Description missing in models + // default = 6 + optional int32 g_b = 2; + + // Deprecated: Information TBD + // + // Description TBD + // default = 77.7 + optional float g_c = 3; + + message Choice { + enum Enum { + unspecified = 0; + g_d = 1; + g_e = 2; + } + } + // Description missing in models + // default = Choice.Enum.g_d + optional Choice.Enum choice = 4; + + // Description missing in models + // default = some string + optional string g_d = 5; + + // Description missing in models + // default = 3.0 + optional double g_e = 6; + + message GF { + enum Enum { + unspecified = 0; + a = 1; + b = 2; + c = 3; + } + } + // Another enum to test protbuf enum generation + // default = GF.Enum.a + optional GF.Enum g_f = 7; + + // Description missing in models + optional string name = 8; +} + +// Description missing in models +message EObject { + + // Description missing in models + // required = true + float e_a = 1; + + // Description missing in models + // required = true + double e_b = 2; + + // Description missing in models + optional string name = 3; + + // Description missing in models + optional string m_param1 = 4; + + // Description missing in models + optional string m_param2 = 5; +} + +// Description missing in models +message FObject { + + message Choice { + enum Enum { + unspecified = 0; + f_a = 1; + f_b = 2; + f_c = 3; + } + } + // Description missing in models + // default = Choice.Enum.f_a + optional Choice.Enum choice = 1; + + // Description missing in models + // default = some string + optional string f_a = 2; + + // Description missing in models + // default = 3.0 + optional double f_b = 3; +} + +// Description missing in models +message JObject { + + message Choice { + enum Enum { + unspecified = 0; + j_a = 1; + j_b = 2; + } + } + // Description missing in models + // default = Choice.Enum.j_a + optional Choice.Enum choice = 1; + + // Description missing in models + optional EObject j_a = 2; + + // Description missing in models + optional FObject j_b = 3; +} + +// Description missing in models +message ChoiceObject { + + message Choice { + enum Enum { + unspecified = 0; + e_obj = 1; + f_obj = 2; + no_obj = 3; + } + } + // Description missing in models + // default = Choice.Enum.no_obj + optional Choice.Enum choice = 1; + + // Description missing in models + optional EObject e_obj = 2; + + // Description missing in models + optional FObject f_obj = 3; +} + +// Description missing in models +message KObject { + + // Description missing in models + optional EObject e_object = 1; + + // Description missing in models + optional FObject f_object = 2; +} + +// Format validation object +message LObject { + + // Description missing in models + optional string string_param = 1; + + // Description missing in models + optional int32 integer = 2; + + // Description missing in models + optional float float = 3; + + // Description missing in models + optional double double = 4; + + // Description missing in models + optional string mac = 5; + + // Description missing in models + optional string ipv4 = 6; + + // Description missing in models + optional string ipv6 = 7; + + // Description missing in models + optional string hex = 8; +} + +// Required format validation object +message MObject { + + // Description missing in models + // required = true + string string_param = 1; + + // Description missing in models + // required = true + int32 integer = 2; + + // Description missing in models + // required = true + float float = 3; + + // Description missing in models + // required = true + double double = 4; + + // Description missing in models + // required = true + string mac = 5; + + // Description missing in models + // required = true + string ipv4 = 6; + + // Description missing in models + // required = true + string ipv6 = 7; + + // Description missing in models + // required = true + string hex = 8; +} + +// Object to Test required Parameter +message Mandate { + + // Description missing in models + // required = true + string required_param = 1; +} + +// Under Review: the whole schema is being reviewed +// +// Object to Test required Parameter +message UpdateConfig { + + // A list of objects with choice and properties + repeated GObject g = 1; +} + +// Description missing in models +message MetricsRequest { + + message Choice { + enum Enum { + unspecified = 0; + port = 1; + flow = 2; + } + } + // Description missing in models + // default = Choice.Enum.port + optional Choice.Enum choice = 1; + + // Description missing in models + optional string port = 2; + + // Description missing in models + optional string flow = 3; +} + +// Description missing in models +message Metrics { + + message Choice { + enum Enum { + unspecified = 0; + ports = 1; + flows = 2; + } + } + // Description missing in models + // default = Choice.Enum.ports + optional Choice.Enum choice = 1; + + // Description missing in models + repeated PortMetric ports = 2; + + // Description missing in models + repeated FlowMetric flows = 3; +} + +// Description missing in models +message PortMetric { + + // Description missing in models + // required = true + string name = 1; + + // Description missing in models + // required = true + double tx_frames = 2; + + // Description missing in models + // required = true + double rx_frames = 3; +} + +// Description missing in models +message FlowMetric { + + // Description missing in models + // required = true + string name = 1; + + // Description missing in models + // required = true + double tx_frames = 2; + + // Description missing in models + // required = true + double rx_frames = 3; +} + +// Description missing in models +message RequiredChoiceParent { + + message Choice { + enum Enum { + unspecified = 0; + intermediate_obj = 1; + no_obj = 2; + } + } + // Description missing in models + // required = true + Choice.Enum choice = 1; + + // Description missing in models + optional RequiredChoiceIntermediate intermediate_obj = 2; +} + +// Description missing in models +message RequiredChoiceIntermediate { + + message Choice { + enum Enum { + unspecified = 0; + f_a = 1; + leaf = 2; + } + } + // Description missing in models + // required = true + Choice.Enum choice = 1; + + // Description missing in models + // default = some string + optional string f_a = 2; + + // Description missing in models + optional RequiredChoiceIntermeLeaf leaf = 3; +} + +// Description missing in models +message RequiredChoiceIntermeLeaf { + + // Description missing in models + optional string name = 1; +} + +// To Test Multi level non-primitive types +message LevelOne { + + // Level one + optional LevelTwo l1_p1 = 1; + + // Level one to four + optional LevelFour l1_p2 = 2; +} + +// Test Level 2 +message LevelTwo { + + // Level Two + optional LevelThree l2_p1 = 1; +} + +// Test Level3 +message LevelThree { + + // Set value at Level 3 + optional string l3_p1 = 1; +} + +// Test level4 redundant junk testing +message LevelFour { + + // loop over level 1 + optional LevelOne l4_p1 = 1; +} + +// Test ipv4 pattern +message Ipv4Pattern { + + // Description missing in models + optional PatternIpv4PatternIpv4 ipv4 = 1; +} + +// Test ipv6 pattern +message Ipv6Pattern { + + // Description missing in models + optional PatternIpv6PatternIpv6 ipv6 = 1; +} + +// Test mac pattern +message MacPattern { + + // Description missing in models + optional PatternMacPatternMac mac = 1; +} + +// Test integer pattern +message IntegerPattern { + + // Description missing in models + optional PatternIntegerPatternInteger integer = 1; +} + +// Test checksum pattern +message ChecksumPattern { + + // Description missing in models + optional PatternChecksumPatternChecksum checksum = 1; +} + +// Description missing in models +message CommonResponseSuccess { + + // Description missing in models + optional string message = 1; +} + +// Description missing in models +message ApiTestInputBody { + + // Description missing in models + optional string some_string = 1; +} + +// Description missing in models +message ServiceAbcItem { + + // Description missing in models + optional string some_id = 1; + + // Description missing in models + optional string some_string = 2; + + // Description missing in models + optional string path_id = 3; + + // Description missing in models + optional string level_2 = 4; +} + +// Description missing in models +message ServiceAbcItemList { + + // Description missing in models + repeated ServiceAbcItem items = 1; +} + +// Header checksum +message PatternPrefixConfigHeaderChecksum { + + message Choice { + enum Enum { + unspecified = 0; + generated = 1; + custom = 2; + } + } + // The type of checksum + // default = Choice.Enum.generated + optional Choice.Enum choice = 1; + + message Generated { + enum Enum { + unspecified = 0; + good = 1; + bad = 2; + } + } + // A system generated checksum value + // default = Generated.Enum.good + optional Generated.Enum generated = 2; + + // A custom checksum value + optional uint32 custom = 3; +} + +// integer counter pattern +message PatternPrefixConfigAutoFieldTestCounter { + + // Description missing in models + // default = 0 + optional uint32 start = 1; + + // Description missing in models + // default = 1 + optional uint32 step = 2; + + // Description missing in models + // default = 1 + optional uint32 count = 3; +} + +// TBD +message PatternPrefixConfigAutoFieldTest { + + message Choice { + enum Enum { + unspecified = 0; + value = 2; + values = 3; + auto = 1; + increment = 4; + decrement = 5; + } + } + // Description missing in models + // default = Choice.Enum.auto + optional Choice.Enum choice = 1; + + // Description missing in models + // default = 0 + optional uint32 value = 2; + + // Description missing in models + // default = [0] + repeated uint32 values = 3; + + // The OTG implementation can provide a system generated + // value for this property. If the OTG is unable to generate a value + // the default value must be used. + // default = 0 + optional uint32 auto = 4; + + // Description missing in models + optional PatternPrefixConfigAutoFieldTestCounter increment = 6; + + // Description missing in models + optional PatternPrefixConfigAutoFieldTestCounter decrement = 7; +} + +// ipv4 counter pattern +message PatternIpv4PatternIpv4Counter { + + // Description missing in models + // default = 0.0.0.0 + optional string start = 1; + + // Description missing in models + // default = 0.0.0.1 + optional string step = 2; + + // Description missing in models + // default = 1 + optional uint32 count = 3; +} + +// TBD +message PatternIpv4PatternIpv4 { + + message Choice { + enum Enum { + unspecified = 0; + value = 2; + values = 3; + increment = 4; + decrement = 5; + } + } + // Description missing in models + // default = Choice.Enum.value + optional Choice.Enum choice = 1; + + // Description missing in models + // default = 0.0.0.0 + optional string value = 2; + + // Description missing in models + // default = ['0.0.0.0'] + repeated string values = 3; + + // Description missing in models + optional PatternIpv4PatternIpv4Counter increment = 5; + + // Description missing in models + optional PatternIpv4PatternIpv4Counter decrement = 6; +} + +// ipv6 counter pattern +message PatternIpv6PatternIpv6Counter { + + // Description missing in models + // default = :: + optional string start = 1; + + // Description missing in models + // default = ::1 + optional string step = 2; + + // Description missing in models + // default = 1 + optional uint32 count = 3; +} + +// TBD +message PatternIpv6PatternIpv6 { + + message Choice { + enum Enum { + unspecified = 0; + value = 2; + values = 3; + increment = 4; + decrement = 5; + } + } + // Description missing in models + // default = Choice.Enum.value + optional Choice.Enum choice = 1; + + // Description missing in models + // default = :: + optional string value = 2; + + // Description missing in models + // default = ['::'] + repeated string values = 3; + + // Description missing in models + optional PatternIpv6PatternIpv6Counter increment = 5; + + // Description missing in models + optional PatternIpv6PatternIpv6Counter decrement = 6; +} + +// mac counter pattern +message PatternMacPatternMacCounter { + + // Description missing in models + // default = 00:00:00:00:00:00 + optional string start = 1; + + // Description missing in models + // default = 00:00:00:00:00:01 + optional string step = 2; + + // Description missing in models + // default = 1 + optional uint32 count = 3; +} + +// TBD +message PatternMacPatternMac { + + message Choice { + enum Enum { + unspecified = 0; + value = 2; + values = 3; + auto = 1; + increment = 4; + decrement = 5; + } + } + // Description missing in models + // default = Choice.Enum.auto + optional Choice.Enum choice = 1; + + // Description missing in models + // default = 00:00:00:00:00:00 + optional string value = 2; + + // Description missing in models + // default = ['00:00:00:00:00:00'] + repeated string values = 3; + + // The OTG implementation can provide a system generated + // value for this property. If the OTG is unable to generate a value + // the default value must be used. + // default = 00:00:00:00:00:00 + optional string auto = 4; + + // Description missing in models + optional PatternMacPatternMacCounter increment = 6; + + // Description missing in models + optional PatternMacPatternMacCounter decrement = 7; +} + +// integer counter pattern +message PatternIntegerPatternIntegerCounter { + + // Description missing in models + // default = 0 + optional uint32 start = 1; + + // Description missing in models + // default = 1 + optional uint32 step = 2; + + // Description missing in models + // default = 1 + optional uint32 count = 3; +} + +// TBD +message PatternIntegerPatternInteger { + + message Choice { + enum Enum { + unspecified = 0; + value = 2; + values = 3; + increment = 4; + decrement = 5; + } + } + // Description missing in models + // default = Choice.Enum.value + optional Choice.Enum choice = 1; + + // Description missing in models + // default = 0 + optional uint32 value = 2; + + // Description missing in models + // default = [0] + repeated uint32 values = 3; + + // Description missing in models + optional PatternIntegerPatternIntegerCounter increment = 5; + + // Description missing in models + optional PatternIntegerPatternIntegerCounter decrement = 6; +} + +// TBD +message PatternChecksumPatternChecksum { + + message Choice { + enum Enum { + unspecified = 0; + generated = 1; + custom = 2; + } + } + // The type of checksum + // default = Choice.Enum.generated + optional Choice.Enum choice = 1; + + message Generated { + enum Enum { + unspecified = 0; + good = 1; + bad = 2; + } + } + // A system generated checksum value + // default = Generated.Enum.good + optional Generated.Enum generated = 2; + + // A custom checksum value + optional uint32 custom = 3; +} + +// Version details +message Version { + + // Version of API specification + // default = + optional string api_spec_version = 1; + + // Version of SDK generated from API specification + // default = + optional string sdk_version = 2; + + // Version of application consuming or serving the API + // default = + optional string app_version = 3; +} + +// Success warning payload similar to otg Success +message Warnings { + WarningDetails warning_details = 1; +} + +message SetConfigRequest { + PrefixConfig prefix_config = 1; +} + +message UpdateConfigurationRequest { + UpdateConfig update_config = 1; +} +message SetConfigResponse { + bytes response_bytes = 1; +} + +message UpdateConfigurationResponse { + PrefixConfig prefix_config = 1; +} + +message GetConfigResponse { + PrefixConfig prefix_config = 1; +} + + +message GetMetricsRequest { + MetricsRequest metrics_request = 1; +} +message GetMetricsResponse { + Metrics metrics = 1; +} + +message GetWarningsResponse { + WarningDetails warning_details = 1; +} + +message ClearWarningsResponse { + string string = 1; +} + + +message PostRootResponseRequest { + ApiTestInputBody api_test_input_body = 1; +} +message GetRootResponseResponse { + CommonResponseSuccess common_response_success = 1; +} + +message DummyResponseTestResponse { + string string = 1; +} + +message PostRootResponseResponse { + CommonResponseSuccess common_response_success = 1; +} + +message GetAllItemsResponse { + ServiceAbcItemList service_abc_item_list = 1; +} + +message GetSingleItemResponse { + ServiceAbcItem service_abc_item = 1; +} + +message GetSingleItemLevel2Response { + ServiceAbcItem service_abc_item = 1; +} + +message GetVersionResponse { + Version version = 1; +} + + +// Description missing in models +// +// For all RPCs defined in this service, API Server SHOULD provide JSON +// representation of `Error` message as an error string upon failure, ensuring +// name of enum constants (instead of value) for `kind` property is present +// in the representation +service Openapi { + + // Sets configuration resources. + rpc SetConfig(SetConfigRequest) returns (SetConfigResponse); + // Deprecated: please use post instead + // + // Sets configuration resources. + rpc UpdateConfiguration(UpdateConfigurationRequest) returns (UpdateConfigurationResponse); + // Gets the configuration resources. + rpc GetConfig(google.protobuf.Empty) returns (GetConfigResponse); + // Gets metrics. + rpc GetMetrics(GetMetricsRequest) returns (GetMetricsResponse); + // Gets warnings. + rpc GetWarnings(google.protobuf.Empty) returns (GetWarningsResponse); + // Clears warnings. + rpc ClearWarnings(google.protobuf.Empty) returns (ClearWarningsResponse); + // simple GET api with single return type + rpc GetRootResponse(google.protobuf.Empty) returns (GetRootResponseResponse); + // Description missing in models + rpc DummyResponseTest(google.protobuf.Empty) returns (DummyResponseTestResponse); + // simple POST api with single return type + rpc PostRootResponse(PostRootResponseRequest) returns (PostRootResponseResponse); + // return list of some items + rpc GetAllItems(google.protobuf.Empty) returns (GetAllItemsResponse); + // return single item + rpc GetSingleItem(google.protobuf.Empty) returns (GetSingleItemResponse); + // return single item + rpc GetSingleItemLevel2(google.protobuf.Empty) returns (GetSingleItemLevel2Response); + // Description missing in models + rpc GetVersion(google.protobuf.Empty) returns (GetVersionResponse); +} diff --git a/artifacts/sanity/__init__.py b/artifacts/sanity/__init__.py new file mode 100644 index 00000000..b22cf20b --- /dev/null +++ b/artifacts/sanity/__init__.py @@ -0,0 +1,61 @@ +from .sanity import PrefixConfig +from .sanity import EObject +from .sanity import FObject +from .sanity import GObject +from .sanity import GObjectIter +from .sanity import JObject +from .sanity import JObjectIter +from .sanity import KObject +from .sanity import LObject +from .sanity import LevelOne +from .sanity import LevelTwo +from .sanity import LevelThree +from .sanity import LevelFour +from .sanity import Mandate +from .sanity import Ipv4Pattern +from .sanity import PatternIpv4PatternIpv4 +from .sanity import PatternIpv4PatternIpv4Counter +from .sanity import Ipv6Pattern +from .sanity import PatternIpv6PatternIpv6 +from .sanity import PatternIpv6PatternIpv6Counter +from .sanity import MacPattern +from .sanity import PatternMacPatternMac +from .sanity import PatternMacPatternMacCounter +from .sanity import IntegerPattern +from .sanity import PatternIntegerPatternInteger +from .sanity import PatternIntegerPatternIntegerCounter +from .sanity import ChecksumPattern +from .sanity import PatternChecksumPatternChecksum +from .sanity import Layer1Ieee802x +from .sanity import MObject +from .sanity import PatternPrefixConfigHeaderChecksum +from .sanity import PatternPrefixConfigAutoFieldTest +from .sanity import PatternPrefixConfigAutoFieldTestCounter +from .sanity import WObject +from .sanity import WObjectIter +from .sanity import ZObject +from .sanity import ZObjectIter +from .sanity import YObject +from .sanity import ChoiceObject +from .sanity import ChoiceObjectIter +from .sanity import RequiredChoiceParent +from .sanity import RequiredChoiceIntermediate +from .sanity import RequiredChoiceIntermeLeaf +from .sanity import Error +from .sanity import UpdateConfig +from .sanity import MetricsRequest +from .sanity import Metrics +from .sanity import PortMetric +from .sanity import PortMetricIter +from .sanity import FlowMetric +from .sanity import FlowMetricIter +from .sanity import WarningDetails +from .sanity import CommonResponseSuccess +from .sanity import ApiTestInputBody +from .sanity import ServiceAbcItemList +from .sanity import ServiceAbcItem +from .sanity import ServiceAbcItemIter +from .sanity import Version +from .sanity import Api +from .sanity import Transport +from .sanity import api diff --git a/artifacts/sanity/requirements.txt b/artifacts/sanity/requirements.txt new file mode 100644 index 00000000..253ff813 --- /dev/null +++ b/artifacts/sanity/requirements.txt @@ -0,0 +1,11 @@ +--prefer-binary +grpcio-tools~=1.35.0 ; python_version <= '3.6' +grpcio-tools~=1.54.2 ; python_version > '3.6' +grpcio~=1.54.2 ; python_version > '3.6' +grpcio~=1.35.0 ; python_version <= '3.6' +PyYAML +requests +protobuf~=3.15.0 ; python_version <= '3.6' +protobuf~=4.23.3 ; python_version > '3.6' +urllib3 +semantic_version diff --git a/artifacts/sanity/sanity.py b/artifacts/sanity/sanity.py new file mode 100644 index 00000000..be9e0ad8 --- /dev/null +++ b/artifacts/sanity/sanity.py @@ -0,0 +1,8178 @@ +# OpenAPIArt Test API 0.0.1 +# License: NO-LICENSE-PRESENT + +import importlib +import logging +import json +import platform +import yaml +import requests +import urllib3 +import io +import sys +import time +import grpc +import semantic_version +import types +import platform +from google.protobuf import json_format + +try: + from sanity import sanity_pb2_grpc as pb2_grpc +except ImportError: + import sanity_pb2_grpc as pb2_grpc +try: + from sanity import sanity_pb2 as pb2 +except ImportError: + import sanity_pb2 as pb2 + +try: + from typing import Union, Dict, List, Any, Literal +except ImportError: + from typing_extensions import Literal + + +if sys.version_info[0] == 3: + unicode = str + + +openapi_warnings = [] + + +class Transport: + HTTP = "http" + GRPC = "grpc" + + +def api( + location=None, + transport=None, + verify=True, + logger=None, + loglevel=logging.INFO, + ext=None, + version_check=False, +): + """Create an instance of an Api class + + generator.Generator outputs a base Api class with the following: + - an abstract method for each OpenAPI path item object + - a concrete properties for each unique OpenAPI path item parameter. + + generator.Generator also outputs an HttpApi class that inherits the base + Api class, implements the abstract methods and uses the common HttpTransport + class send_recv method to communicate with a REST based server. + + Args + ---- + - location (str): The location of an Open Traffic Generator server. + - transport (enum["http", "grpc"]): Transport Type + - verify (bool): Verify the server's TLS certificate, or a string, in which + case it must be a path to a CA bundle to use. Defaults to `True`. + When set to `False`, requests will accept any TLS certificate presented by + the server, and will ignore hostname mismatches and/or expired + certificates, which will make your application vulnerable to + man-in-the-middle (MitM) attacks. Setting verify to `False` + may be useful during local development or testing. + - logger (logging.Logger): A user defined logging.logger, if none is provided + then a default logger with a stdout handler will be provided + - loglevel (logging.loglevel): The logging package log level. + The default loglevel is logging.INFO + - ext (str): Name of an extension package + """ + params = locals() + transport_types = ["http", "grpc"] + if ext is None: + transport = "http" if transport is None else transport + if transport not in transport_types: + raise Exception( + "{transport} is not within valid transport types {transport_types}".format( + transport=transport, transport_types=transport_types + ) + ) + if transport == "http": + return HttpApi(**params) + else: + return GrpcApi(**params) + try: + if transport is not None: + raise Exception( + "ext and transport are not mutually exclusive. Please configure one of them." + ) + lib = importlib.import_module("sanity_{}.sanity_api".format(ext)) + return lib.Api(**params) + except ImportError as err: + msg = "Extension %s is not installed or invalid: %s" + raise Exception(msg % (ext, err)) + + +class HttpTransport(object): + def __init__(self, **kwargs): + """Use args from api() method to instantiate an HTTP transport""" + self.location = ( + kwargs["location"] + if "location" in kwargs and kwargs["location"] is not None + else "https://localhost:443" + ) + self.verify = kwargs["verify"] if "verify" in kwargs else False + self.logger = kwargs["logger"] if "logger" in kwargs else None + self.loglevel = ( + kwargs["loglevel"] if "loglevel" in kwargs else logging.DEBUG + ) + if self.logger is None: + stdout_handler = logging.StreamHandler(sys.stdout) + formatter = logging.Formatter( + fmt="%(asctime)s [%(name)s] [%(levelname)s] %(message)s", + datefmt="%Y-%m-%d %H:%M:%S", + ) + formatter.converter = time.gmtime + stdout_handler.setFormatter(formatter) + self.logger = logging.Logger(self.__module__, level=self.loglevel) + self.logger.addHandler(stdout_handler) + self.logger.debug( + "HttpTransport args: {}".format( + ", ".join(["{}={!r}".format(k, v) for k, v in kwargs.items()]) + ) + ) + self.set_verify(self.verify) + self._session = requests.Session() + + def set_verify(self, verify): + self.verify = verify + if self.verify is False: + urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) + self.logger.warning("Certificate verification is disabled") + + def _parse_response_error(self, response_code, response_text): + error_response = "" + try: + error_response = yaml.safe_load(response_text) + except Exception as _: + error_response = response_text + + err_obj = Error() + try: + err_obj.deserialize(error_response) + except Exception as _: + err_obj.code = response_code + err_obj.errors = [str(error_response)] + + raise Exception(err_obj) + + def send_recv( + self, + method, + relative_url, + payload=None, + return_object=None, + headers=None, + request_class=None, + ): + url = "%s%s" % (self.location, relative_url) + data = None + headers = headers or {"Content-Type": "application/json"} + if payload is not None: + if isinstance(payload, bytes): + data = payload + headers["Content-Type"] = "application/octet-stream" + elif isinstance(payload, (str, unicode)): + if request_class is not None: + request_class().deserialize(payload) + data = payload + elif isinstance(payload, OpenApiBase): + data = payload.serialize() + else: + raise Exception("Type of payload provided is unknown") + response = self._session.request( + method=method, + url=url, + data=data, + verify=False, + allow_redirects=True, + # TODO: add a timeout here + headers=headers, + ) + if response.ok: + if "application/json" in response.headers["content-type"]: + # TODO: we might want to check for utf-8 charset and decode + # accordingly, but current impl works for now + response_dict = yaml.safe_load(response.text) + if return_object is None: + # if response type is not provided, return dictionary + # instead of python object + return response_dict + else: + return return_object.deserialize(response_dict) + elif ( + "application/octet-stream" in response.headers["content-type"] + ): + return io.BytesIO(response.content) + else: + # TODO: for now, return bare response object for unknown + # content types + return response + else: + self._parse_response_error(response.status_code, response.text) + + +class OpenApiStatus: + messages = {} + # logger = logging.getLogger(__module__) + + @classmethod + def warn(cls, key, object): + if cls.messages.get(key) is not None: + if cls.messages[key] in object.__warnings__: + return + # cls.logger.warning(cls.messages[key]) + logging.warning(cls.messages[key]) + object.__warnings__.append(cls.messages[key]) + # openapi_warnings.append(cls.messages[key]) + + @staticmethod + def deprecated(func_or_data): + def inner(self, *args, **kwargs): + OpenApiStatus.warn( + "{}.{}".format(type(self).__name__, func_or_data.__name__), + self, + ) + return func_or_data(self, *args, **kwargs) + + if isinstance(func_or_data, types.FunctionType): + return inner + OpenApiStatus.warn(func_or_data) + + @staticmethod + def under_review(func_or_data): + def inner(self, *args, **kwargs): + OpenApiStatus.warn( + "{}.{}".format(type(self).__name__, func_or_data.__name__), + self, + ) + return func_or_data(self, *args, **kwargs) + + if isinstance(func_or_data, types.FunctionType): + return inner + OpenApiStatus.warn(func_or_data) + + +class OpenApiBase(object): + """Base class for all generated classes""" + + JSON = "json" + YAML = "yaml" + DICT = "dict" + + __slots__ = () + + __constraints__ = {"global": []} + __validate_latter__ = {"unique": [], "constraint": []} + + def __init__(self): + pass + + def serialize(self, encoding=JSON): + """Serialize the current object according to a specified encoding. + + Args + ---- + - encoding (str[json, yaml, dict]): The object will be recursively + serialized according to the specified encoding. + The supported encodings are json, yaml and python dict. + + Returns + ------- + - obj(Union[str, dict]): A str or dict object depending on the specified + encoding. The json and yaml encodings will return a str object and + the dict encoding will return a python dict object. + """ + # TODO: restore behavior + # self._clear_globals() + if encoding == OpenApiBase.JSON: + data = json.dumps(self._encode(), indent=2, sort_keys=True) + elif encoding == OpenApiBase.YAML: + data = yaml.safe_dump(self._encode()) + elif encoding == OpenApiBase.DICT: + data = self._encode() + else: + raise NotImplementedError("Encoding %s not supported" % encoding) + # TODO: restore behavior + # self._validate_coded() + return data + + def _encode(self): + raise NotImplementedError() + + def deserialize(self, serialized_object): + """Deserialize a python object into the current object. + + If the input `serialized_object` does not match the current + openapi object an exception will be raised. + + Args + ---- + - serialized_object (Union[str, dict]): The object to deserialize. + If the serialized_object is of type str then the internal encoding + of the serialized_object must be json or yaml. + + Returns + ------- + - obj(OpenApiObject): This object with all the + serialized_object deserialized within. + """ + # TODO: restore behavior + # self._clear_globals() + if isinstance(serialized_object, (str, unicode)): + serialized_object = yaml.safe_load(serialized_object) + self._decode(serialized_object) + # TODO: restore behavior + # self._validate_coded() + return self + + def _decode(self, dict_object): + raise NotImplementedError() + + def warnings(self): + warns = list(self.__warnings__) + if "2.7" in platform.python_version().rsplit(".", 1)[0]: + del self.__warnings__[:] + else: + self.__warnings__.clear() + return warns + + +class OpenApiValidator(object): + + __slots__ = () + + _validation_errors = [] + + def __init__(self): + pass + + def _clear_errors(self): + if "2.7" in platform.python_version().rsplit(".", 1)[0]: + del self._validation_errors[:] + else: + self._validation_errors.clear() + + def validate_mac(self, mac): + if ( + mac is None + or not isinstance(mac, (str, unicode)) + or mac.count(" ") != 0 + ): + return False + try: + if len(mac) != 17: + return False + return all([0 <= int(oct, 16) <= 255 for oct in mac.split(":")]) + except Exception: + return False + + def validate_ipv4(self, ip): + if ( + ip is None + or not isinstance(ip, (str, unicode)) + or ip.count(" ") != 0 + ): + return False + if len(ip.split(".")) != 4: + return False + try: + return all([0 <= int(oct) <= 255 for oct in ip.split(".", 3)]) + except Exception: + return False + + def validate_ipv6(self, ip): + if ip is None or not isinstance(ip, (str, unicode)): + return False + ip = ip.strip() + if ( + ip.count(" ") > 0 + or ip.count(":") > 7 + or ip.count("::") > 1 + or ip.count(":::") > 0 + ): + return False + if (ip[0] == ":" and ip[:2] != "::") or ( + ip[-1] == ":" and ip[-2:] != "::" + ): + return False + if ip.count("::") == 0 and ip.count(":") != 7: + return False + if ip == "::": + return True + if ip[:2] == "::": + ip = ip.replace("::", "0:") + elif ip[-2:] == "::": + ip = ip.replace("::", ":0") + else: + ip = ip.replace("::", ":0:") + try: + return all( + [ + True + if (0 <= int(oct, 16) <= 65535) and (1 <= len(oct) <= 4) + else False + for oct in ip.split(":") + ] + ) + except Exception: + return False + + def validate_hex(self, hex): + if hex is None or not isinstance(hex, (str, unicode)): + return False + try: + int(hex, 16) + return True + except Exception: + return False + + def validate_integer(self, value, min, max, type_format=None): + if value is None or not isinstance(value, int): + return False + if min is not None and value < min: + return False + if max is not None and value > max: + return False + if type_format is not None: + if type_format == "uint32" and (value < 0 or value > 4294967295): + return False + elif type_format == "uint64" and ( + value < 0 or value > 18446744073709551615 + ): + return False + elif type_format == "int32" and ( + value < -2147483648 or value > 2147483647 + ): + return False + elif type_format == "int64" and ( + value < -9223372036854775808 or value > 9223372036854775807 + ): + return False + return True + + def validate_float(self, value): + return isinstance(value, (int, float)) + + def validate_string(self, value, min_length, max_length): + if value is None or not isinstance(value, (str, unicode)): + return False + if min_length is not None and len(value) < min_length: + return False + if max_length is not None and len(value) > max_length: + return False + return True + + def validate_bool(self, value): + return isinstance(value, bool) + + def validate_list(self, value, itemtype, min, max, min_length, max_length): + if value is None or not isinstance(value, list): + return False + v_obj = getattr(self, "validate_{}".format(itemtype), None) + if v_obj is None: + raise AttributeError( + "{} is not a valid attribute".format(itemtype) + ) + v_obj_lst = [] + for item in value: + if itemtype == "integer": + v_obj_lst.append(v_obj(item, min, max)) + elif itemtype == "string": + v_obj_lst.append(v_obj(item, min_length, max_length)) + else: + v_obj_lst.append(v_obj(item)) + return v_obj_lst + + def validate_binary(self, value): + if value is None or not isinstance(value, (str, unicode)): + return False + return all( + [ + True if int(bin) == 0 or int(bin) == 1 else False + for bin in value + ] + ) + + def types_validation( + self, + value, + type_, + err_msg, + itemtype=None, + min=None, + max=None, + min_length=None, + max_length=None, + ): + type_map = { + int: "integer", + str: "string", + float: "float", + bool: "bool", + list: "list", + "int64": "integer", + "int32": "integer", + "uint64": "integer", + "uint32": "integer", + "double": "float", + } + type_format = type_ + if type_ in type_map: + type_ = type_map[type_] + if itemtype is not None and itemtype in type_map: + itemtype = type_map[itemtype] + v_obj = getattr(self, "validate_{}".format(type_), None) + if v_obj is None: + msg = "{} is not a valid or unsupported format".format(type_) + raise TypeError(msg) + if type_ == "list": + verdict = v_obj(value, itemtype, min, max, min_length, max_length) + if all(verdict) is True: + return + err_msg = "{} \n {} are not valid".format( + err_msg, + [ + value[index] + for index, item in enumerate(verdict) + if item is False + ], + ) + verdict = False + elif type_ == "integer": + verdict = v_obj(value, min, max, type_format) + if verdict is True: + return + min_max = "" + if min is not None: + min_max = ", expected min {}".format(min) + if max is not None: + min_max = min_max + ", expected max {}".format(max) + err_msg = "{} \n got {} of type {} {}".format( + err_msg, value, type(value), min_max + ) + elif type_ == "string": + verdict = v_obj(value, min_length, max_length) + if verdict is True: + return + msg = "" + if min_length is not None: + msg = ", expected min {}".format(min_length) + if max_length is not None: + msg = msg + ", expected max {}".format(max_length) + err_msg = "{} \n got {} of type {} {}".format( + err_msg, value, type(value), msg + ) + else: + verdict = v_obj(value) + if verdict is False: + raise TypeError(err_msg) + + def _validate_unique_and_name(self, name, value, latter=False): + if self._TYPES[name].get("unique") is None or value is None: + return + if latter is True: + self.__validate_latter__["unique"].append( + (self._validate_unique_and_name, name, value) + ) + return + class_name = type(self).__name__ + unique_type = self._TYPES[name]["unique"] + if class_name not in self.__constraints__: + self.__constraints__[class_name] = dict() + if unique_type == "global": + values = self.__constraints__["global"] + else: + values = self.__constraints__[class_name] + if value in values: + self._validation_errors.append( + "{} with {} already exists".format(name, value) + ) + return + if isinstance(values, list): + values.append(value) + self.__constraints__[class_name].update({value: self}) + + def _validate_constraint(self, name, value, latter=False): + cons = self._TYPES[name].get("constraint") + if cons is None or value is None: + return + if latter is True: + self.__validate_latter__["constraint"].append( + (self._validate_constraint, name, value) + ) + return + found = False + for c in cons: + klass, prop = c.split(".") + names = self.__constraints__.get(klass, {}) + props = [obj._properties.get(prop) for obj in names.values()] + if value in props: + found = True + break + if found is not True: + self._validation_errors.append( + "{} is not a valid type of {}".format(value, "||".join(cons)) + ) + return + + def _validate_coded(self): + for item in self.__validate_latter__["unique"]: + item[0](item[1], item[2]) + for item in self.__validate_latter__["constraint"]: + item[0](item[1], item[2]) + self._clear_vars() + if len(self._validation_errors) > 0: + errors = "\n".join(self._validation_errors) + self._clear_errors() + raise Exception(errors) + + def _clear_vars(self): + if platform.python_version_tuple()[0] == "2": + self.__validate_latter__["unique"] = [] + self.__validate_latter__["constraint"] = [] + else: + self.__validate_latter__["unique"].clear() + self.__validate_latter__["constraint"].clear() + + def _clear_globals(self): + keys = list(self.__constraints__.keys()) + for k in keys: + if k == "global": + self.__constraints__["global"] = [] + continue + del self.__constraints__[k] + + +class OpenApiObject(OpenApiBase, OpenApiValidator): + """Base class for any /components/schemas object + + Every OpenApiObject is reuseable within the schema so it can + exist in multiple locations within the hierarchy. + That means it can exist in multiple locations as a + leaf, parent/choice or parent. + """ + + __slots__ = ("__warnings__", "_properties", "_parent", "_choice") + _DEFAULTS = {} + _TYPES = {} + _REQUIRED = [] + _STATUS = {} + + def __init__(self, parent=None, choice=None): + super(OpenApiObject, self).__init__() + self._parent = parent + self._choice = choice + self._properties = {} + self.__warnings__ = [] + + @property + def parent(self): + return self._parent + + def _set_choice(self, name): + if self._has_choice(name): + for enum in self._TYPES["choice"]["enum"]: + if enum in self._properties and name != enum: + self._properties.pop(enum) + self._properties["choice"] = name + + def _has_choice(self, name): + if ( + "choice" in dir(self) + and "_TYPES" in dir(self) + and "choice" in self._TYPES + and name in self._TYPES["choice"]["enum"] + ): + return True + else: + return False + + def _get_property( + self, name, default_value=None, parent=None, choice=None + ): + if name in self._properties and self._properties[name] is not None: + return self._properties[name] + if isinstance(default_value, type) is True: + self._set_choice(name) + if "_choice" in default_value.__slots__: + self._properties[name] = default_value( + parent=parent, choice=choice + ) + else: + self._properties[name] = default_value(parent=parent) + if ( + "_DEFAULTS" in dir(self._properties[name]) + and "choice" in self._properties[name]._DEFAULTS + ): + getattr( + self._properties[name], + self._properties[name]._DEFAULTS["choice"], + ) + else: + if default_value is None and name in self._DEFAULTS: + self._set_choice(name) + self._properties[name] = self._DEFAULTS[name] + else: + self._properties[name] = default_value + return self._properties[name] + + def _set_property(self, name, value, choice=None): + if name == "choice": + + if ( + self.parent is None + and value is not None + and value not in self._TYPES["choice"]["enum"] + ): + raise Exception( + "%s is not a valid choice, valid choices are %s" + % (value, ", ".join(self._TYPES["choice"]["enum"])) + ) + + self._set_choice(value) + if name in self._DEFAULTS and value is None: + self._properties[name] = self._DEFAULTS[name] + elif name in self._DEFAULTS and value is None: + self._set_choice(name) + self._properties[name] = self._DEFAULTS[name] + else: + self._set_choice(name) + self._properties[name] = value + # TODO: restore behavior + # self._validate_unique_and_name(name, value) + # self._validate_constraint(name, value) + if ( + self._parent is not None + and self._choice is not None + and value is not None + ): + self._parent._set_property("choice", self._choice) + + def _encode(self): + """Helper method for serialization""" + output = {} + self._raise_status_warnings(self, None) + self._validate_required() + for key, value in self._properties.items(): + self._validate_types(key, value) + # TODO: restore behavior + # self._validate_unique_and_name(key, value, True) + # self._validate_constraint(key, value, True) + if isinstance(value, (OpenApiObject, OpenApiIter)): + output[key] = value._encode() + if isinstance(value, OpenApiObject): + self._raise_status_warnings(key, value) + elif value is not None: + if ( + self._TYPES.get(key, {}).get("format", "") == "int64" + or self._TYPES.get(key, {}).get("format", "") == "uint64" + ): + value = str(value) + elif ( + self._TYPES.get(key, {}).get("itemformat", "") == "int64" + or self._TYPES.get(key, {}).get("itemformat", "") + == "uint64" + ): + value = [str(v) for v in value] + output[key] = value + self._raise_status_warnings(key, value) + return output + + def _decode(self, obj): + dtypes = [list, str, int, float, bool] + self._raise_status_warnings(self, None) + for property_name, property_value in obj.items(): + if property_name in self._TYPES: + ignore_warnings = False + if isinstance(property_value, dict): + child = self._get_child_class(property_name) + if ( + "choice" in child[1]._TYPES + and "_parent" in child[1].__slots__ + ): + property_value = child[1](self, property_name)._decode( + property_value + ) + elif "_parent" in child[1].__slots__: + property_value = child[1](self)._decode(property_value) + else: + property_value = child[1]()._decode(property_value) + elif ( + isinstance(property_value, list) + and property_name in self._TYPES + and self._TYPES[property_name]["type"] not in dtypes + ): + child = self._get_child_class(property_name, True) + openapi_list = child[0]() + for item in property_value: + item = child[1]()._decode(item) + openapi_list._items.append(item) + property_value = openapi_list + ignore_warnings = True + elif ( + property_name in self._DEFAULTS and property_value is None + ): + if isinstance( + self._DEFAULTS[property_name], tuple(dtypes) + ): + property_value = self._DEFAULTS[property_name] + self._set_choice(property_name) + # convert int64(will be string on wire) to to int + if ( + self._TYPES[property_name].get("format", "") == "int64" + or self._TYPES[property_name].get("format", "") == "uint64" + ): + property_value = int(property_value) + elif ( + self._TYPES[property_name].get("itemformat", "") == "int64" + or self._TYPES[property_name].get("itemformat", "") + == "uint64" + ): + property_value = [int(v) for v in property_value] + self._properties[property_name] = property_value + # TODO: restore behavior + # OpenApiStatus.warn( + # "{}.{}".format(type(self).__name__, property_name), self + # ) + if not ignore_warnings: + self._raise_status_warnings(property_name, property_value) + self._validate_types(property_name, property_value) + # TODO: restore behavior + # self._validate_unique_and_name(property_name, property_value, True) + # self._validate_constraint(property_name, property_value, True) + self._validate_required() + return self + + def _get_child_class(self, property_name, is_property_list=False): + list_class = None + class_name = self._TYPES[property_name]["type"] + module = globals().get(self.__module__) + if module is None: + module = importlib.import_module(self.__module__) + globals()[self.__module__] = module + object_class = getattr(module, class_name) + if is_property_list is True: + list_class = object_class + object_class = getattr(module, class_name[0:-4]) + return (list_class, object_class) + + def __str__(self): + return self.serialize(encoding=self.YAML) + + def __deepcopy__(self, memo): + """Creates a deep copy of the current object""" + return self.__class__().deserialize(self.serialize()) + + def __copy__(self): + """Creates a deep copy of the current object""" + return self.__deepcopy__(None) + + def __eq__(self, other): + return self.__str__() == other.__str__() + + def clone(self): + """Creates a deep copy of the current object""" + return self.__deepcopy__(None) + + def _validate_required(self): + """Validates the required properties are set + Use getattr as it will set any defaults prior to validating + """ + if getattr(self, "_REQUIRED", None) is None: + return + for name in self._REQUIRED: + if self._properties.get(name) is None: + msg = ( + "{} is a mandatory property of {}" + " and should not be set to None".format( + name, + self.__class__, + ) + ) + raise ValueError(msg) + + def _validate_types(self, property_name, property_value): + common_data_types = [list, str, int, float, bool] + if property_name not in self._TYPES: + # raise ValueError("Invalid Property {}".format(property_name)) + return + details = self._TYPES[property_name] + if ( + property_value is None + and property_name not in self._DEFAULTS + and property_name not in self._REQUIRED + ): + return + if "enum" in details and property_value not in details["enum"]: + msg = ( + "property {} shall be one of these" + " {} enum, but got {} at {}" + ) + raise TypeError( + msg.format( + property_name, + details["enum"], + property_value, + self.__class__, + ) + ) + if details["type"] in common_data_types and "format" not in details: + msg = "property {} shall be of type {} at {}".format( + property_name, details["type"], self.__class__ + ) + + itemtype = ( + details.get("itemformat") + if "itemformat" in details + else details.get("itemtype") + ) + self.types_validation( + property_value, + details["type"], + msg, + itemtype, + details.get("minimum"), + details.get("maximum"), + details.get("minLength"), + details.get("maxLength"), + ) + + if details["type"] not in common_data_types: + class_name = details["type"] + # TODO Need to revisit importlib + module = importlib.import_module(self.__module__) + object_class = getattr(module, class_name) + if not isinstance(property_value, object_class): + msg = "property {} shall be of type {}," " but got {} at {}" + raise TypeError( + msg.format( + property_name, + class_name, + type(property_value), + self.__class__, + ) + ) + if "format" in details: + msg = "Invalid {} format, expected {} at {}".format( + property_value, details["format"], self.__class__ + ) + _type = ( + details["type"] + if details["type"] is list + else details["format"] + ) + self.types_validation( + property_value, + _type, + msg, + details["format"], + details.get("minimum"), + details.get("maximum"), + details.get("minLength"), + details.get("maxLength"), + ) + + def validate(self): + self._validate_required() + for key, value in self._properties.items(): + self._validate_types(key, value) + # TODO: restore behavior + # self._validate_coded() + + def get(self, name, with_default=False): + """ + getattr for openapi object + """ + if self._properties.get(name) is not None: + return self._properties[name] + elif with_default: + # TODO need to find a way to avoid getattr + choice = ( + self._properties.get("choice") + if "choice" in dir(self) + else None + ) + getattr(self, name) + if "choice" in dir(self): + if choice is None and "choice" in self._properties: + self._properties.pop("choice") + else: + self._properties["choice"] = choice + return self._properties.pop(name) + return None + + def _raise_status_warnings(self, property_name, property_value): + if len(self._STATUS) > 0: + + if isinstance(property_name, OpenApiObject): + if "self" in self._STATUS and property_value is None: + print("[WARNING]: %s" % self._STATUS["self"]) + + return + + enum_key = "%s.%s" % (property_name, property_value) + if property_name in self._STATUS: + print("[WARNING]: %s" % self._STATUS[property_name]) + elif enum_key in self._STATUS: + print("[WARNING]: %s" % self._STATUS[enum_key]) + + +class OpenApiIter(OpenApiBase): + """Container class for OpenApiObject + + Inheriting classes contain 0..n instances of an OpenAPI components/schemas + object. + - config.flows.flow(name="1").flow(name="2").flow(name="3") + + The __getitem__ method allows getting an instance using ordinal. + - config.flows[0] + - config.flows[1:] + - config.flows[0:1] + - f1, f2, f3 = config.flows + + The __iter__ method allows for iterating across the encapsulated contents + - for flow in config.flows: + """ + + __slots__ = ("_index", "_items") + _GETITEM_RETURNS_CHOICE_OBJECT = False + + def __init__(self): + super(OpenApiIter, self).__init__() + self._index = -1 + self._items = [] + + def __len__(self): + return len(self._items) + + def _getitem(self, key): + found = None + if isinstance(key, int): + found = self._items[key] + elif isinstance(key, slice) is True: + start, stop, step = key.indices(len(self)) + sliced = self.__class__() + for i in range(start, stop, step): + sliced._items.append(self._items[i]) + return sliced + elif isinstance(key, str): + for item in self._items: + if item.name == key: + found = item + if found is None: + raise IndexError() + if ( + self._GETITEM_RETURNS_CHOICE_OBJECT is True + and found._properties.get("choice") is not None + and found._properties.get(found._properties["choice"]) is not None + ): + return found._properties[found._properties["choice"]] + return found + + def _iter(self): + self._index = -1 + return self + + def _next(self): + if self._index + 1 >= len(self._items): + raise StopIteration + else: + self._index += 1 + return self.__getitem__(self._index) + + def __getitem__(self, key): + raise NotImplementedError("This should be overridden by the generator") + + def _add(self, item): + self._items.append(item) + self._index = len(self._items) - 1 + + def remove(self, index): + del self._items[index] + self._index = len(self._items) - 1 + + def append(self, item): + """Append an item to the end of OpenApiIter + TBD: type check, raise error on mismatch + """ + self._instanceOf(item) + self._add(item) + return self + + def clear(self): + del self._items[:] + self._index = -1 + + def set(self, index, item): + self._instanceOf(item) + self._items[index] = item + return self + + def _encode(self): + return [item._encode() for item in self._items] + + def _decode(self, encoded_list): + item_class_name = self.__class__.__name__.replace("Iter", "") + module = importlib.import_module(self.__module__) + object_class = getattr(module, item_class_name) + self.clear() + for item in encoded_list: + self._add(object_class()._decode(item)) + + def __copy__(self): + raise NotImplementedError( + "Shallow copy of OpenApiIter objects is not supported" + ) + + def __deepcopy__(self, memo): + raise NotImplementedError( + "Deep copy of OpenApiIter objects is not supported" + ) + + def __str__(self): + return yaml.safe_dump(self._encode()) + + def __eq__(self, other): + return self.__str__() == other.__str__() + + def _instanceOf(self, item): + raise NotImplementedError( + "validating an OpenApiIter object is not supported" + ) + + +class PrefixConfig(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "required_object": {"type": "EObject"}, + "optional_object": {"type": "EObject"}, + "ieee_802_1qbb": {"type": bool}, + "space_1": { + "type": int, + "format": "int32", + }, + "full_duplex_100_mb": { + "type": int, + "format": "int64", + "minimum": -10, + "maximum": 4261412864, + }, + "response": { + "type": str, + "enum": [ + "status_200", + "status_400", + "status_404", + "status_500", + ], + }, + "a": {"type": str}, + "b": { + "type": float, + "format": "float", + }, + "c": { + "type": int, + "format": "int32", + }, + "d_values": { + "type": list, + "itemtype": str, + }, + "e": {"type": "EObject"}, + "f": {"type": "FObject"}, + "g": {"type": "GObjectIter"}, + "h": {"type": bool}, + "i": { + "type": str, + "format": "binary", + }, + "j": {"type": "JObjectIter"}, + "k": {"type": "KObject"}, + "l": {"type": "LObject"}, + "list_of_string_values": { + "type": list, + "itemtype": str, + }, + "list_of_integer_values": { + "type": list, + "itemtype": int, + "itemformat": "int32", + }, + "level": {"type": "LevelOne"}, + "mandatory": {"type": "Mandate"}, + "ipv4_pattern": {"type": "Ipv4Pattern"}, + "ipv6_pattern": {"type": "Ipv6Pattern"}, + "mac_pattern": {"type": "MacPattern"}, + "integer_pattern": {"type": "IntegerPattern"}, + "checksum_pattern": {"type": "ChecksumPattern"}, + "case": {"type": "Layer1Ieee802x"}, + "m_object": {"type": "MObject"}, + "integer64": { + "type": int, + "format": "int64", + }, + "integer64_list": { + "type": list, + "itemtype": int, + "itemformat": "int64", + "minimum": -12, + "maximum": 4261412864, + }, + "header_checksum": {"type": "PatternPrefixConfigHeaderChecksum"}, + "str_len": { + "type": str, + "minLength": 3, + "maxLength": 6, + }, + "hex_slice": { + "type": list, + "itemtype": str, + "itemformat": "hex", + }, + "auto_field_test": {"type": "PatternPrefixConfigAutoFieldTest"}, + "name": {"type": str}, + "w_list": {"type": "WObjectIter"}, + "x_list": {"type": "ZObjectIter"}, + "z_object": {"type": "ZObject"}, + "y_object": {"type": "YObject"}, + "choice_object": {"type": "ChoiceObjectIter"}, + "required_choice_object": {"type": "RequiredChoiceParent"}, + "g1": {"type": "GObjectIter"}, + "g2": {"type": "GObjectIter"}, + "int32_param": { + "type": int, + "format": "int32", + }, + "int32_list_param": { + "type": list, + "itemtype": int, + "itemformat": "int32", + "minimum": -23456, + "maximum": 23456, + }, + "uint32_param": { + "type": int, + "format": "uint32", + }, + "uint32_list_param": { + "type": list, + "itemtype": int, + "itemformat": "uint32", + "minimum": 0, + "maximum": 4294967293, + }, + "uint64_param": { + "type": int, + "format": "uint64", + }, + "uint64_list_param": { + "type": list, + "itemtype": int, + "itemformat": "uint64", + }, + "auto_int32_param": { + "type": int, + "format": "int32", + "minimum": 64, + "maximum": 9000, + }, + "auto_int32_list_param": { + "type": list, + "itemtype": int, + "itemformat": "int32", + "minimum": 64, + "maximum": 9000, + }, + } # type: Dict[str, str] + + _REQUIRED = ("a", "b", "c", "required_object") # type: tuple(str) + + _DEFAULTS = { + "response": "status_200", + "h": True, + } # type: Dict[str, Union(type)] + + STATUS_200 = "status_200" # type: str + STATUS_400 = "status_400" # type: str + STATUS_404 = "status_404" # type: str + STATUS_500 = "status_500" # type: str + + A = "a" # type: str + B = "b" # type: str + C = "c" # type: str + + _STATUS = { + "space_1": "space_1 property in schema PrefixConfig is deprecated, Information TBD", + "response.status_404": "STATUS_404 enum in property response is deprecated, new code will be coming soon", + "response.status_500": "STATUS_500 enum in property response is under_review, 500 can change to other values", + "a": "a property in schema PrefixConfig is under_review, Information TBD", + "d_values": "d_values property in schema PrefixConfig is deprecated, Information TBD", + "e": "e property in schema PrefixConfig is deprecated, Information TBD", + "str_len": "str_len property in schema PrefixConfig is under_review, Information TBD", + "hex_slice": "hex_slice property in schema PrefixConfig is under_review, Information TBD", + } # type: Dict[str, Union(type)] + + def __init__( + self, + parent=None, + ieee_802_1qbb=None, + space_1=None, + full_duplex_100_mb=None, + response="status_200", + a=None, + b=None, + c=None, + d_values=None, + h=True, + i=None, + list_of_string_values=None, + list_of_integer_values=None, + integer64=None, + integer64_list=None, + str_len=None, + hex_slice=None, + name=None, + int32_param=None, + int32_list_param=None, + uint32_param=None, + uint32_list_param=None, + uint64_param=None, + uint64_list_param=None, + auto_int32_param=None, + auto_int32_list_param=None, + ): + super(PrefixConfig, self).__init__() + self._parent = parent + self._set_property("ieee_802_1qbb", ieee_802_1qbb) + self._set_property("space_1", space_1) + self._set_property("full_duplex_100_mb", full_duplex_100_mb) + self._set_property("response", response) + self._set_property("a", a) + self._set_property("b", b) + self._set_property("c", c) + self._set_property("d_values", d_values) + self._set_property("h", h) + self._set_property("i", i) + self._set_property("list_of_string_values", list_of_string_values) + self._set_property("list_of_integer_values", list_of_integer_values) + self._set_property("integer64", integer64) + self._set_property("integer64_list", integer64_list) + self._set_property("str_len", str_len) + self._set_property("hex_slice", hex_slice) + self._set_property("name", name) + self._set_property("int32_param", int32_param) + self._set_property("int32_list_param", int32_list_param) + self._set_property("uint32_param", uint32_param) + self._set_property("uint32_list_param", uint32_list_param) + self._set_property("uint64_param", uint64_param) + self._set_property("uint64_list_param", uint64_list_param) + self._set_property("auto_int32_param", auto_int32_param) + self._set_property("auto_int32_list_param", auto_int32_list_param) + + def set( + self, + ieee_802_1qbb=None, + space_1=None, + full_duplex_100_mb=None, + response=None, + a=None, + b=None, + c=None, + d_values=None, + h=None, + i=None, + list_of_string_values=None, + list_of_integer_values=None, + integer64=None, + integer64_list=None, + str_len=None, + hex_slice=None, + name=None, + int32_param=None, + int32_list_param=None, + uint32_param=None, + uint32_list_param=None, + uint64_param=None, + uint64_list_param=None, + auto_int32_param=None, + auto_int32_list_param=None, + ): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def required_object(self): + # type: () -> EObject + """required_object getter + + A required object that MUST be generated as such. + + Returns: EObject + """ + return self._get_property("required_object", EObject) + + @property + def optional_object(self): + # type: () -> EObject + """optional_object getter + + An optional object that MUST be generated as such. + + Returns: EObject + """ + return self._get_property("optional_object", EObject) + + @property + def ieee_802_1qbb(self): + # type: () -> bool + """ieee_802_1qbb getter + + TBD + + Returns: bool + """ + return self._get_property("ieee_802_1qbb") + + @ieee_802_1qbb.setter + def ieee_802_1qbb(self, value): + """ieee_802_1qbb setter + + TBD + + value: bool + """ + self._set_property("ieee_802_1qbb", value) + + @property + def space_1(self): + # type: () -> int + """space_1 getter + + Deprecated: Information TBD. Description TBD + + Returns: int + """ + return self._get_property("space_1") + + @space_1.setter + def space_1(self, value): + """space_1 setter + + Deprecated: Information TBD. Description TBD + + value: int + """ + self._set_property("space_1", value) + + @property + def full_duplex_100_mb(self): + # type: () -> int + """full_duplex_100_mb getter + + TBD + + Returns: int + """ + return self._get_property("full_duplex_100_mb") + + @full_duplex_100_mb.setter + def full_duplex_100_mb(self, value): + """full_duplex_100_mb setter + + TBD + + value: int + """ + self._set_property("full_duplex_100_mb", value) + + @property + def response(self): + # type: () -> Union[Literal["status_200"], Literal["status_400"], Literal["status_404"], Literal["status_500"]] + """response getter + + Indicate to the server what response should be returned + + Returns: Union[Literal["status_200"], Literal["status_400"], Literal["status_404"], Literal["status_500"]] + """ + return self._get_property("response") + + @response.setter + def response(self, value): + """response setter + + Indicate to the server what response should be returned + + value: Union[Literal["status_200"], Literal["status_400"], Literal["status_404"], Literal["status_500"]] + """ + self._set_property("response", value) + + @property + def a(self): + # type: () -> str + """a getter + + Under Review: Information TBD. Small single line description + + Returns: str + """ + return self._get_property("a") + + @a.setter + def a(self, value): + """a setter + + Under Review: Information TBD. Small single line description + + value: str + """ + if value is None: + raise TypeError("Cannot set required property a as None") + self._set_property("a", value) + + @property + def b(self): + # type: () -> float + """b getter + + Longer multi-line description. Second line is here. Third line + + Returns: float + """ + return self._get_property("b") + + @b.setter + def b(self, value): + """b setter + + Longer multi-line description. Second line is here. Third line + + value: float + """ + if value is None: + raise TypeError("Cannot set required property b as None") + self._set_property("b", value) + + @property + def c(self): + # type: () -> int + """c getter + + TBD + + Returns: int + """ + return self._get_property("c") + + @c.setter + def c(self, value): + """c setter + + TBD + + value: int + """ + if value is None: + raise TypeError("Cannot set required property c as None") + self._set_property("c", value) + + @property + def d_values(self): + # type: () -> List[Union[Literal["a"], Literal["b"], Literal["c"]]] + """d_values getter + + Deprecated: Information TBD. A list of enum values + + Returns: List[Union[Literal["a"], Literal["b"], Literal["c"]]] + """ + return self._get_property("d_values") + + @d_values.setter + def d_values(self, value): + """d_values setter + + Deprecated: Information TBD. A list of enum values + + value: List[Union[Literal["a"], Literal["b"], Literal["c"]]] + """ + self._set_property("d_values", value) + + @property + def e(self): + # type: () -> EObject + """e getter + + Deprecated: Information TBD. A child object + + Returns: EObject + """ + return self._get_property("e", EObject) + + @property + def f(self): + # type: () -> FObject + """f getter + + An object with only choice(s) + + Returns: FObject + """ + return self._get_property("f", FObject) + + @property + def g(self): + # type: () -> GObjectIter + """g getter + + A list of objects with choice and properties + + Returns: GObjectIter + """ + return self._get_property("g", GObjectIter, self._parent, self._choice) + + @property + def h(self): + # type: () -> bool + """h getter + + A boolean value + + Returns: bool + """ + return self._get_property("h") + + @h.setter + def h(self, value): + """h setter + + A boolean value + + value: bool + """ + self._set_property("h", value) + + @property + def i(self): + # type: () -> str + """i getter + + A byte string + + Returns: str + """ + return self._get_property("i") + + @i.setter + def i(self, value): + """i setter + + A byte string + + value: str + """ + self._set_property("i", value) + + @property + def j(self): + # type: () -> JObjectIter + """j getter + + A list of objects with only choice + + Returns: JObjectIter + """ + return self._get_property("j", JObjectIter, self._parent, self._choice) + + @property + def k(self): + # type: () -> KObject + """k getter + + A nested object with only one property which is choice object + + Returns: KObject + """ + return self._get_property("k", KObject) + + @property + def l(self): + # type: () -> LObject + """l getter + + Format validation objectFormat validation objectFormat validation object + + Returns: LObject + """ + return self._get_property("l", LObject) + + @property + def list_of_string_values(self): + # type: () -> List[str] + """list_of_string_values getter + + A list of string values + + Returns: List[str] + """ + return self._get_property("list_of_string_values") + + @list_of_string_values.setter + def list_of_string_values(self, value): + """list_of_string_values setter + + A list of string values + + value: List[str] + """ + self._set_property("list_of_string_values", value) + + @property + def list_of_integer_values(self): + # type: () -> List[int] + """list_of_integer_values getter + + A list of integer values + + Returns: List[int] + """ + return self._get_property("list_of_integer_values") + + @list_of_integer_values.setter + def list_of_integer_values(self, value): + """list_of_integer_values setter + + A list of integer values + + value: List[int] + """ + self._set_property("list_of_integer_values", value) + + @property + def level(self): + # type: () -> LevelOne + """level getter + + To Test Multi level non-primitive typesTo Test Multi level non-primitive typesTo Test Multi level non-primitive types + + Returns: LevelOne + """ + return self._get_property("level", LevelOne) + + @property + def mandatory(self): + # type: () -> Mandate + """mandatory getter + + Object to Test required ParameterObject to Test required ParameterObject to Test required Parameter + + Returns: Mandate + """ + return self._get_property("mandatory", Mandate) + + @property + def ipv4_pattern(self): + # type: () -> Ipv4Pattern + """ipv4_pattern getter + + Test ipv4 patternTest ipv4 patternTest ipv4 pattern + + Returns: Ipv4Pattern + """ + return self._get_property("ipv4_pattern", Ipv4Pattern) + + @property + def ipv6_pattern(self): + # type: () -> Ipv6Pattern + """ipv6_pattern getter + + Test ipv6 patternTest ipv6 patternTest ipv6 pattern + + Returns: Ipv6Pattern + """ + return self._get_property("ipv6_pattern", Ipv6Pattern) + + @property + def mac_pattern(self): + # type: () -> MacPattern + """mac_pattern getter + + Test mac patternTest mac patternTest mac pattern + + Returns: MacPattern + """ + return self._get_property("mac_pattern", MacPattern) + + @property + def integer_pattern(self): + # type: () -> IntegerPattern + """integer_pattern getter + + Test integer patternTest integer patternTest integer pattern + + Returns: IntegerPattern + """ + return self._get_property("integer_pattern", IntegerPattern) + + @property + def checksum_pattern(self): + # type: () -> ChecksumPattern + """checksum_pattern getter + + Test checksum patternTest checksum patternTest checksum pattern + + Returns: ChecksumPattern + """ + return self._get_property("checksum_pattern", ChecksumPattern) + + @property + def case(self): + # type: () -> Layer1Ieee802x + """case getter + + + + Returns: Layer1Ieee802x + """ + return self._get_property("case", Layer1Ieee802x) + + @property + def m_object(self): + # type: () -> MObject + """m_object getter + + Required format validation objectRequired format validation objectRequired format validation object + + Returns: MObject + """ + return self._get_property("m_object", MObject) + + @property + def integer64(self): + # type: () -> int + """integer64 getter + + int64 type + + Returns: int + """ + return self._get_property("integer64") + + @integer64.setter + def integer64(self, value): + """integer64 setter + + int64 type + + value: int + """ + self._set_property("integer64", value) + + @property + def integer64_list(self): + # type: () -> List[int] + """integer64_list getter + + int64 type list + + Returns: List[int] + """ + return self._get_property("integer64_list") + + @integer64_list.setter + def integer64_list(self, value): + """integer64_list setter + + int64 type list + + value: List[int] + """ + self._set_property("integer64_list", value) + + @property + def header_checksum(self): + # type: () -> PatternPrefixConfigHeaderChecksum + """header_checksum getter + + Header checksumHeader checksumHeader checksum + + Returns: PatternPrefixConfigHeaderChecksum + """ + return self._get_property( + "header_checksum", PatternPrefixConfigHeaderChecksum + ) + + @property + def str_len(self): + # type: () -> str + """str_len getter + + Under Review: Information TBD. string minimum&maximum Length + + Returns: str + """ + return self._get_property("str_len") + + @str_len.setter + def str_len(self, value): + """str_len setter + + Under Review: Information TBD. string minimum&maximum Length + + value: str + """ + self._set_property("str_len", value) + + @property + def hex_slice(self): + # type: () -> List[str] + """hex_slice getter + + Under Review: Information TBD. Array of Hex + + Returns: List[str] + """ + return self._get_property("hex_slice") + + @hex_slice.setter + def hex_slice(self, value): + """hex_slice setter + + Under Review: Information TBD. Array of Hex + + value: List[str] + """ + self._set_property("hex_slice", value) + + @property + def auto_field_test(self): + # type: () -> PatternPrefixConfigAutoFieldTest + """auto_field_test getter + + TBDTBDTBD + + Returns: PatternPrefixConfigAutoFieldTest + """ + return self._get_property( + "auto_field_test", PatternPrefixConfigAutoFieldTest + ) + + @property + def name(self): + # type: () -> str + """name getter + + TBD + + Returns: str + """ + return self._get_property("name") + + @name.setter + def name(self, value): + """name setter + + TBD + + value: str + """ + self._set_property("name", value) + + @property + def w_list(self): + # type: () -> WObjectIter + """w_list getter + + TBD + + Returns: WObjectIter + """ + return self._get_property( + "w_list", WObjectIter, self._parent, self._choice + ) + + @property + def x_list(self): + # type: () -> ZObjectIter + """x_list getter + + TBD + + Returns: ZObjectIter + """ + return self._get_property( + "x_list", ZObjectIter, self._parent, self._choice + ) + + @property + def z_object(self): + # type: () -> ZObject + """z_object getter + + + + Returns: ZObject + """ + return self._get_property("z_object", ZObject) + + @property + def y_object(self): + # type: () -> YObject + """y_object getter + + + + Returns: YObject + """ + return self._get_property("y_object", YObject) + + @property + def choice_object(self): + # type: () -> ChoiceObjectIter + """choice_object getter + + A list of objects with choice with and without properties + + Returns: ChoiceObjectIter + """ + return self._get_property( + "choice_object", ChoiceObjectIter, self._parent, self._choice + ) + + @property + def required_choice_object(self): + # type: () -> RequiredChoiceParent + """required_choice_object getter + + + + Returns: RequiredChoiceParent + """ + return self._get_property( + "required_choice_object", RequiredChoiceParent + ) + + @property + def g1(self): + # type: () -> GObjectIter + """g1 getter + + A list of objects with choice and properties + + Returns: GObjectIter + """ + return self._get_property( + "g1", GObjectIter, self._parent, self._choice + ) + + @property + def g2(self): + # type: () -> GObjectIter + """g2 getter + + A list of objects with choice and properties + + Returns: GObjectIter + """ + return self._get_property( + "g2", GObjectIter, self._parent, self._choice + ) + + @property + def int32_param(self): + # type: () -> int + """int32_param getter + + int32 type + + Returns: int + """ + return self._get_property("int32_param") + + @int32_param.setter + def int32_param(self, value): + """int32_param setter + + int32 type + + value: int + """ + self._set_property("int32_param", value) + + @property + def int32_list_param(self): + # type: () -> List[int] + """int32_list_param getter + + int32 type list + + Returns: List[int] + """ + return self._get_property("int32_list_param") + + @int32_list_param.setter + def int32_list_param(self, value): + """int32_list_param setter + + int32 type list + + value: List[int] + """ + self._set_property("int32_list_param", value) + + @property + def uint32_param(self): + # type: () -> int + """uint32_param getter + + uint32 type + + Returns: int + """ + return self._get_property("uint32_param") + + @uint32_param.setter + def uint32_param(self, value): + """uint32_param setter + + uint32 type + + value: int + """ + self._set_property("uint32_param", value) + + @property + def uint32_list_param(self): + # type: () -> List[int] + """uint32_list_param getter + + uint32 type list + + Returns: List[int] + """ + return self._get_property("uint32_list_param") + + @uint32_list_param.setter + def uint32_list_param(self, value): + """uint32_list_param setter + + uint32 type list + + value: List[int] + """ + self._set_property("uint32_list_param", value) + + @property + def uint64_param(self): + # type: () -> int + """uint64_param getter + + uint64 type + + Returns: int + """ + return self._get_property("uint64_param") + + @uint64_param.setter + def uint64_param(self, value): + """uint64_param setter + + uint64 type + + value: int + """ + self._set_property("uint64_param", value) + + @property + def uint64_list_param(self): + # type: () -> List[int] + """uint64_list_param getter + + uint64 type list + + Returns: List[int] + """ + return self._get_property("uint64_list_param") + + @uint64_list_param.setter + def uint64_list_param(self, value): + """uint64_list_param setter + + uint64 type list + + value: List[int] + """ + self._set_property("uint64_list_param", value) + + @property + def auto_int32_param(self): + # type: () -> int + """auto_int32_param getter + + should automatically set type to int32 + + Returns: int + """ + return self._get_property("auto_int32_param") + + @auto_int32_param.setter + def auto_int32_param(self, value): + """auto_int32_param setter + + should automatically set type to int32 + + value: int + """ + self._set_property("auto_int32_param", value) + + @property + def auto_int32_list_param(self): + # type: () -> List[int] + """auto_int32_list_param getter + + should automatically set type to []int32 + + Returns: List[int] + """ + return self._get_property("auto_int32_list_param") + + @auto_int32_list_param.setter + def auto_int32_list_param(self, value): + """auto_int32_list_param setter + + should automatically set type to []int32 + + value: List[int] + """ + self._set_property("auto_int32_list_param", value) + + +class EObject(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "e_a": { + "type": float, + "format": "float", + }, + "e_b": { + "type": float, + "format": "double", + }, + "name": {"type": str}, + "m_param1": {"type": str}, + "m_param2": {"type": str}, + } # type: Dict[str, str] + + _REQUIRED = ("e_a", "e_b") # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__( + self, + parent=None, + e_a=None, + e_b=None, + name=None, + m_param1=None, + m_param2=None, + ): + super(EObject, self).__init__() + self._parent = parent + self._set_property("e_a", e_a) + self._set_property("e_b", e_b) + self._set_property("name", name) + self._set_property("m_param1", m_param1) + self._set_property("m_param2", m_param2) + + def set(self, e_a=None, e_b=None, name=None, m_param1=None, m_param2=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def e_a(self): + # type: () -> float + """e_a getter + + TBD + + Returns: float + """ + return self._get_property("e_a") + + @e_a.setter + def e_a(self, value): + """e_a setter + + TBD + + value: float + """ + if value is None: + raise TypeError("Cannot set required property e_a as None") + self._set_property("e_a", value) + + @property + def e_b(self): + # type: () -> float + """e_b getter + + TBD + + Returns: float + """ + return self._get_property("e_b") + + @e_b.setter + def e_b(self, value): + """e_b setter + + TBD + + value: float + """ + if value is None: + raise TypeError("Cannot set required property e_b as None") + self._set_property("e_b", value) + + @property + def name(self): + # type: () -> str + """name getter + + TBD + + Returns: str + """ + return self._get_property("name") + + @name.setter + def name(self, value): + """name setter + + TBD + + value: str + """ + self._set_property("name", value) + + @property + def m_param1(self): + # type: () -> str + """m_param1 getter + + TBD + + Returns: str + """ + return self._get_property("m_param1") + + @m_param1.setter + def m_param1(self, value): + """m_param1 setter + + TBD + + value: str + """ + self._set_property("m_param1", value) + + @property + def m_param2(self): + # type: () -> str + """m_param2 getter + + TBD + + Returns: str + """ + return self._get_property("m_param2") + + @m_param2.setter + def m_param2(self, value): + """m_param2 setter + + TBD + + value: str + """ + self._set_property("m_param2", value) + + +class FObject(OpenApiObject): + __slots__ = ("_parent", "_choice") + + _TYPES = { + "choice": { + "type": str, + "enum": [ + "f_a", + "f_b", + "f_c", + ], + }, + "f_a": {"type": str}, + "f_b": { + "type": float, + "format": "double", + }, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = { + "choice": "f_a", + "f_a": "some string", + "f_b": 3.0, + } # type: Dict[str, Union(type)] + + F_A = "f_a" # type: str + F_B = "f_b" # type: str + F_C = "f_c" # type: str + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, choice=None, f_a="some string", f_b=3.0): + super(FObject, self).__init__() + self._parent = parent + self._set_property("f_a", f_a) + self._set_property("f_b", f_b) + if ( + "choice" in self._DEFAULTS + and choice is None + and self._DEFAULTS["choice"] in self._TYPES + ): + getattr(self, self._DEFAULTS["choice"]) + else: + self._set_property("choice", choice) + + def set(self, f_a=None, f_b=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def choice(self): + # type: () -> Union[Literal["f_a"], Literal["f_b"], Literal["f_c"]] + """choice getter + + TBD + + Returns: Union[Literal["f_a"], Literal["f_b"], Literal["f_c"]] + """ + return self._get_property("choice") + + @choice.setter + def choice(self, value): + """choice setter + + TBD + + value: Union[Literal["f_a"], Literal["f_b"], Literal["f_c"]] + """ + self._set_property("choice", value) + + @property + def f_a(self): + # type: () -> str + """f_a getter + + TBD + + Returns: str + """ + return self._get_property("f_a") + + @f_a.setter + def f_a(self, value): + """f_a setter + + TBD + + value: str + """ + self._set_property("f_a", value, "f_a") + + @property + def f_b(self): + # type: () -> float + """f_b getter + + TBD + + Returns: float + """ + return self._get_property("f_b") + + @f_b.setter + def f_b(self, value): + """f_b setter + + TBD + + value: float + """ + self._set_property("f_b", value, "f_b") + + +class GObject(OpenApiObject): + __slots__ = ("_parent", "_choice") + + _TYPES = { + "g_a": {"type": str}, + "g_b": { + "type": int, + "format": "int32", + }, + "g_c": {"type": float}, + "choice": { + "type": str, + "enum": [ + "g_d", + "g_e", + ], + }, + "g_d": {"type": str}, + "g_e": { + "type": float, + "format": "double", + }, + "g_f": { + "type": str, + "enum": [ + "a", + "b", + "c", + ], + }, + "name": {"type": str}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = { + "g_a": "asdf", + "g_b": 6, + "g_c": 77.7, + "choice": "g_d", + "g_d": "some string", + "g_e": 3.0, + "g_f": "a", + } # type: Dict[str, Union(type)] + + G_D = "g_d" # type: str + G_E = "g_e" # type: str + + A = "a" # type: str + B = "b" # type: str + C = "c" # type: str + + _STATUS = { + "self": "GObject is deprecated, new schema Jobject to be used", + "g_c": "g_c property in schema GObject is deprecated, Information TBD", + } # type: Dict[str, Union(type)] + + def __init__( + self, + parent=None, + choice=None, + g_a="asdf", + g_b=6, + g_c=77.7, + g_d="some string", + g_e=3.0, + g_f="a", + name=None, + ): + super(GObject, self).__init__() + self._parent = parent + self._set_property("g_a", g_a) + self._set_property("g_b", g_b) + self._set_property("g_c", g_c) + self._set_property("g_d", g_d) + self._set_property("g_e", g_e) + self._set_property("g_f", g_f) + self._set_property("name", name) + if ( + "choice" in self._DEFAULTS + and choice is None + and self._DEFAULTS["choice"] in self._TYPES + ): + getattr(self, self._DEFAULTS["choice"]) + else: + self._set_property("choice", choice) + + def set( + self, + g_a=None, + g_b=None, + g_c=None, + g_d=None, + g_e=None, + g_f=None, + name=None, + ): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def g_a(self): + # type: () -> str + """g_a getter + + TBD + + Returns: str + """ + return self._get_property("g_a") + + @g_a.setter + def g_a(self, value): + """g_a setter + + TBD + + value: str + """ + self._set_property("g_a", value) + + @property + def g_b(self): + # type: () -> int + """g_b getter + + TBD + + Returns: int + """ + return self._get_property("g_b") + + @g_b.setter + def g_b(self, value): + """g_b setter + + TBD + + value: int + """ + self._set_property("g_b", value) + + @property + def g_c(self): + # type: () -> float + """g_c getter + + Deprecated: Information TBD. Description TBD + + Returns: float + """ + return self._get_property("g_c") + + @g_c.setter + def g_c(self, value): + """g_c setter + + Deprecated: Information TBD. Description TBD + + value: float + """ + self._set_property("g_c", value) + + @property + def choice(self): + # type: () -> Union[Literal["g_d"], Literal["g_e"]] + """choice getter + + TBD + + Returns: Union[Literal["g_d"], Literal["g_e"]] + """ + return self._get_property("choice") + + @choice.setter + def choice(self, value): + """choice setter + + TBD + + value: Union[Literal["g_d"], Literal["g_e"]] + """ + self._set_property("choice", value) + + @property + def g_d(self): + # type: () -> str + """g_d getter + + TBD + + Returns: str + """ + return self._get_property("g_d") + + @g_d.setter + def g_d(self, value): + """g_d setter + + TBD + + value: str + """ + self._set_property("g_d", value, "g_d") + + @property + def g_e(self): + # type: () -> float + """g_e getter + + TBD + + Returns: float + """ + return self._get_property("g_e") + + @g_e.setter + def g_e(self, value): + """g_e setter + + TBD + + value: float + """ + self._set_property("g_e", value, "g_e") + + @property + def g_f(self): + # type: () -> Union[Literal["a"], Literal["b"], Literal["c"]] + """g_f getter + + Another enum to test protbuf enum generation + + Returns: Union[Literal["a"], Literal["b"], Literal["c"]] + """ + return self._get_property("g_f") + + @g_f.setter + def g_f(self, value): + """g_f setter + + Another enum to test protbuf enum generation + + value: Union[Literal["a"], Literal["b"], Literal["c"]] + """ + self._set_property("g_f", value) + + @property + def name(self): + # type: () -> str + """name getter + + TBD + + Returns: str + """ + return self._get_property("name") + + @name.setter + def name(self, value): + """name setter + + TBD + + value: str + """ + self._set_property("name", value) + + +class GObjectIter(OpenApiIter): + __slots__ = ("_parent", "_choice") + + _GETITEM_RETURNS_CHOICE_OBJECT = False + + def __init__(self, parent=None, choice=None): + super(GObjectIter, self).__init__() + self._parent = parent + self._choice = choice + + def __getitem__(self, key): + # type: (str) -> Union[GObject] + return self._getitem(key) + + def __iter__(self): + # type: () -> GObjectIter + return self._iter() + + def __next__(self): + # type: () -> GObject + return self._next() + + def next(self): + # type: () -> GObject + return self._next() + + def _instanceOf(self, item): + if not isinstance(item, GObject): + raise Exception("Item is not an instance of GObject") + + def gobject( + self, + g_a="asdf", + g_b=6, + g_c=77.7, + g_d="some string", + g_e=3.0, + g_f="a", + name=None, + ): + # type: (str,int,float,str,float,Union[Literal["a"], Literal["b"], Literal["c"]],str) -> GObjectIter + """Factory method that creates an instance of the GObject class + + Deprecated: new schema Jobject to be used. Description TBD + + Returns: GObjectIter + """ + item = GObject( + parent=self._parent, + choice=self._choice, + g_a=g_a, + g_b=g_b, + g_c=g_c, + g_d=g_d, + g_e=g_e, + g_f=g_f, + name=name, + ) + self._add(item) + return self + + def add( + self, + g_a="asdf", + g_b=6, + g_c=77.7, + g_d="some string", + g_e=3.0, + g_f="a", + name=None, + ): + # type: (str,int,float,str,float,Union[Literal["a"], Literal["b"], Literal["c"]],str) -> GObject + """Add method that creates and returns an instance of the GObject class + + Deprecated: new schema Jobject to be used. Description TBD + + Returns: GObject + """ + item = GObject( + parent=self._parent, + choice=self._choice, + g_a=g_a, + g_b=g_b, + g_c=g_c, + g_d=g_d, + g_e=g_e, + g_f=g_f, + name=name, + ) + self._add(item) + return item + + +class JObject(OpenApiObject): + __slots__ = ("_parent", "_choice") + + _TYPES = { + "choice": { + "type": str, + "enum": [ + "j_a", + "j_b", + ], + }, + "j_a": {"type": "EObject"}, + "j_b": {"type": "FObject"}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = { + "choice": "j_a", + } # type: Dict[str, Union(type)] + + J_A = "j_a" # type: str + J_B = "j_b" # type: str + + _STATUS = { + "choice.j_b": "J_B enum in property choice is deprecated, use j_a instead", + } # type: Dict[str, Union(type)] + + def __init__(self, parent=None, choice=None): + super(JObject, self).__init__() + self._parent = parent + if ( + "choice" in self._DEFAULTS + and choice is None + and self._DEFAULTS["choice"] in self._TYPES + ): + getattr(self, self._DEFAULTS["choice"]) + else: + self._set_property("choice", choice) + + @property + def j_a(self): + # type: () -> EObject + """Factory property that returns an instance of the EObject class + + TBD + + Returns: EObject + """ + return self._get_property("j_a", EObject, self, "j_a") + + @property + def j_b(self): + # type: () -> FObject + """Factory property that returns an instance of the FObject class + + TBD + + Returns: FObject + """ + return self._get_property("j_b", FObject, self, "j_b") + + @property + def choice(self): + # type: () -> Union[Literal["j_a"], Literal["j_b"]] + """choice getter + + TBD + + Returns: Union[Literal["j_a"], Literal["j_b"]] + """ + return self._get_property("choice") + + @choice.setter + def choice(self, value): + """choice setter + + TBD + + value: Union[Literal["j_a"], Literal["j_b"]] + """ + self._set_property("choice", value) + + +class JObjectIter(OpenApiIter): + __slots__ = ("_parent", "_choice") + + _GETITEM_RETURNS_CHOICE_OBJECT = True + + def __init__(self, parent=None, choice=None): + super(JObjectIter, self).__init__() + self._parent = parent + self._choice = choice + + def __getitem__(self, key): + # type: (str) -> Union[EObject, FObject, JObject] + return self._getitem(key) + + def __iter__(self): + # type: () -> JObjectIter + return self._iter() + + def __next__(self): + # type: () -> JObject + return self._next() + + def next(self): + # type: () -> JObject + return self._next() + + def _instanceOf(self, item): + if not isinstance(item, JObject): + raise Exception("Item is not an instance of JObject") + + def jobject(self): + # type: () -> JObjectIter + """Factory method that creates an instance of the JObject class + + TBD + + Returns: JObjectIter + """ + item = JObject(parent=self._parent, choice=self._choice) + self._add(item) + return self + + def add(self): + # type: () -> JObject + """Add method that creates and returns an instance of the JObject class + + TBD + + Returns: JObject + """ + item = JObject(parent=self._parent, choice=self._choice) + self._add(item) + return item + + def j_a(self, e_a=None, e_b=None, name=None, m_param1=None, m_param2=None): + # type: (float,float,str,str,str) -> JObjectIter + """Factory method that creates an instance of the EObject class + + TBD + + Returns: JObjectIter + """ + item = JObject() + item.j_a + item.choice = "j_a" + self._add(item) + return self + + def j_b(self, f_a="some string", f_b=3.0): + # type: (str,float) -> JObjectIter + """Factory method that creates an instance of the FObject class + + TBD + + Returns: JObjectIter + """ + item = JObject() + item.j_b + item.choice = "j_b" + self._add(item) + return self + + +class KObject(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "e_object": {"type": "EObject"}, + "f_object": {"type": "FObject"}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None): + super(KObject, self).__init__() + self._parent = parent + + @property + def e_object(self): + # type: () -> EObject + """e_object getter + + TBDTBDTBD + + Returns: EObject + """ + return self._get_property("e_object", EObject) + + @property + def f_object(self): + # type: () -> FObject + """f_object getter + + TBDTBDTBD + + Returns: FObject + """ + return self._get_property("f_object", FObject) + + +class LObject(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "string_param": {"type": str}, + "integer": { + "type": int, + "format": "int32", + "minimum": -10, + "maximum": 90, + }, + "float": { + "type": float, + "format": "float", + }, + "double": { + "type": float, + "format": "double", + }, + "mac": { + "type": str, + "format": "mac", + }, + "ipv4": { + "type": str, + "format": "ipv4", + }, + "ipv6": { + "type": str, + "format": "ipv6", + }, + "hex": { + "type": str, + "format": "hex", + }, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__( + self, + parent=None, + string_param=None, + integer=None, + float=None, + double=None, + mac=None, + ipv4=None, + ipv6=None, + hex=None, + ): + super(LObject, self).__init__() + self._parent = parent + self._set_property("string_param", string_param) + self._set_property("integer", integer) + self._set_property("float", float) + self._set_property("double", double) + self._set_property("mac", mac) + self._set_property("ipv4", ipv4) + self._set_property("ipv6", ipv6) + self._set_property("hex", hex) + + def set( + self, + string_param=None, + integer=None, + float=None, + double=None, + mac=None, + ipv4=None, + ipv6=None, + hex=None, + ): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def string_param(self): + # type: () -> str + """string_param getter + + TBD + + Returns: str + """ + return self._get_property("string_param") + + @string_param.setter + def string_param(self, value): + """string_param setter + + TBD + + value: str + """ + self._set_property("string_param", value) + + @property + def integer(self): + # type: () -> int + """integer getter + + TBD + + Returns: int + """ + return self._get_property("integer") + + @integer.setter + def integer(self, value): + """integer setter + + TBD + + value: int + """ + self._set_property("integer", value) + + @property + def float(self): + # type: () -> float + """float getter + + TBD + + Returns: float + """ + return self._get_property("float") + + @float.setter + def float(self, value): + """float setter + + TBD + + value: float + """ + self._set_property("float", value) + + @property + def double(self): + # type: () -> float + """double getter + + TBD + + Returns: float + """ + return self._get_property("double") + + @double.setter + def double(self, value): + """double setter + + TBD + + value: float + """ + self._set_property("double", value) + + @property + def mac(self): + # type: () -> str + """mac getter + + TBD + + Returns: str + """ + return self._get_property("mac") + + @mac.setter + def mac(self, value): + """mac setter + + TBD + + value: str + """ + self._set_property("mac", value) + + @property + def ipv4(self): + # type: () -> str + """ipv4 getter + + TBD + + Returns: str + """ + return self._get_property("ipv4") + + @ipv4.setter + def ipv4(self, value): + """ipv4 setter + + TBD + + value: str + """ + self._set_property("ipv4", value) + + @property + def ipv6(self): + # type: () -> str + """ipv6 getter + + TBD + + Returns: str + """ + return self._get_property("ipv6") + + @ipv6.setter + def ipv6(self, value): + """ipv6 setter + + TBD + + value: str + """ + self._set_property("ipv6", value) + + @property + def hex(self): + # type: () -> str + """hex getter + + TBD + + Returns: str + """ + return self._get_property("hex") + + @hex.setter + def hex(self, value): + """hex setter + + TBD + + value: str + """ + self._set_property("hex", value) + + +class LevelOne(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "l1_p1": {"type": "LevelTwo"}, + "l1_p2": {"type": "LevelFour"}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None): + super(LevelOne, self).__init__() + self._parent = parent + + @property + def l1_p1(self): + # type: () -> LevelTwo + """l1_p1 getter + + Test Level 2Test Level 2Test Level 2Level one + + Returns: LevelTwo + """ + return self._get_property("l1_p1", LevelTwo) + + @property + def l1_p2(self): + # type: () -> LevelFour + """l1_p2 getter + + Test level4 redundant junk testingTest level4 redundant junk testingTest level4 redundant junk testingLevel one to four + + Returns: LevelFour + """ + return self._get_property("l1_p2", LevelFour) + + +class LevelTwo(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "l2_p1": {"type": "LevelThree"}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None): + super(LevelTwo, self).__init__() + self._parent = parent + + @property + def l2_p1(self): + # type: () -> LevelThree + """l2_p1 getter + + Test Level3Test Level3Test Level3Level Two + + Returns: LevelThree + """ + return self._get_property("l2_p1", LevelThree) + + +class LevelThree(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "l3_p1": {"type": str}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, l3_p1=None): + super(LevelThree, self).__init__() + self._parent = parent + self._set_property("l3_p1", l3_p1) + + def set(self, l3_p1=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def l3_p1(self): + # type: () -> str + """l3_p1 getter + + Set value at Level 3 + + Returns: str + """ + return self._get_property("l3_p1") + + @l3_p1.setter + def l3_p1(self, value): + """l3_p1 setter + + Set value at Level 3 + + value: str + """ + self._set_property("l3_p1", value) + + +class LevelFour(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "l4_p1": {"type": "LevelOne"}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None): + super(LevelFour, self).__init__() + self._parent = parent + + @property + def l4_p1(self): + # type: () -> LevelOne + """l4_p1 getter + + To Test Multi level non-primitive typesTo Test Multi level non-primitive typesTo Test Multi level non-primitive typesloop over level 1 + + Returns: LevelOne + """ + return self._get_property("l4_p1", LevelOne) + + +class Mandate(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "required_param": {"type": str}, + } # type: Dict[str, str] + + _REQUIRED = ("required_param",) # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, required_param=None): + super(Mandate, self).__init__() + self._parent = parent + self._set_property("required_param", required_param) + + def set(self, required_param=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def required_param(self): + # type: () -> str + """required_param getter + + TBD + + Returns: str + """ + return self._get_property("required_param") + + @required_param.setter + def required_param(self, value): + """required_param setter + + TBD + + value: str + """ + if value is None: + raise TypeError( + "Cannot set required property required_param as None" + ) + self._set_property("required_param", value) + + +class Ipv4Pattern(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "ipv4": {"type": "PatternIpv4PatternIpv4"}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None): + super(Ipv4Pattern, self).__init__() + self._parent = parent + + @property + def ipv4(self): + # type: () -> PatternIpv4PatternIpv4 + """ipv4 getter + + TBDTBDTBD + + Returns: PatternIpv4PatternIpv4 + """ + return self._get_property("ipv4", PatternIpv4PatternIpv4) + + +class PatternIpv4PatternIpv4(OpenApiObject): + __slots__ = ("_parent", "_choice") + + _TYPES = { + "choice": { + "type": str, + "enum": [ + "value", + "values", + "increment", + "decrement", + ], + }, + "value": { + "type": str, + "format": "ipv4", + }, + "values": { + "type": list, + "itemtype": str, + "itemformat": "ipv4", + }, + "increment": {"type": "PatternIpv4PatternIpv4Counter"}, + "decrement": {"type": "PatternIpv4PatternIpv4Counter"}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = { + "choice": "value", + "value": "0.0.0.0", + "values": ["0.0.0.0"], + } # type: Dict[str, Union(type)] + + VALUE = "value" # type: str + VALUES = "values" # type: str + INCREMENT = "increment" # type: str + DECREMENT = "decrement" # type: str + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__( + self, parent=None, choice=None, value="0.0.0.0", values=["0.0.0.0"] + ): + super(PatternIpv4PatternIpv4, self).__init__() + self._parent = parent + self._set_property("value", value) + self._set_property("values", values) + if ( + "choice" in self._DEFAULTS + and choice is None + and self._DEFAULTS["choice"] in self._TYPES + ): + getattr(self, self._DEFAULTS["choice"]) + else: + self._set_property("choice", choice) + + def set(self, value=None, values=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def increment(self): + # type: () -> PatternIpv4PatternIpv4Counter + """Factory property that returns an instance of the PatternIpv4PatternIpv4Counter class + + ipv4 counter pattern + + Returns: PatternIpv4PatternIpv4Counter + """ + return self._get_property( + "increment", PatternIpv4PatternIpv4Counter, self, "increment" + ) + + @property + def decrement(self): + # type: () -> PatternIpv4PatternIpv4Counter + """Factory property that returns an instance of the PatternIpv4PatternIpv4Counter class + + ipv4 counter pattern + + Returns: PatternIpv4PatternIpv4Counter + """ + return self._get_property( + "decrement", PatternIpv4PatternIpv4Counter, self, "decrement" + ) + + @property + def choice(self): + # type: () -> Union[Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] + """choice getter + + TBD + + Returns: Union[Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] + """ + return self._get_property("choice") + + @choice.setter + def choice(self, value): + """choice setter + + TBD + + value: Union[Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] + """ + self._set_property("choice", value) + + @property + def value(self): + # type: () -> str + """value getter + + TBD + + Returns: str + """ + return self._get_property("value") + + @value.setter + def value(self, value): + """value setter + + TBD + + value: str + """ + self._set_property("value", value, "value") + + @property + def values(self): + # type: () -> List[str] + """values getter + + TBD + + Returns: List[str] + """ + return self._get_property("values") + + @values.setter + def values(self, value): + """values setter + + TBD + + value: List[str] + """ + self._set_property("values", value, "values") + + +class PatternIpv4PatternIpv4Counter(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "start": { + "type": str, + "format": "ipv4", + }, + "step": { + "type": str, + "format": "ipv4", + }, + "count": { + "type": int, + "format": "uint32", + }, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = { + "start": "0.0.0.0", + "step": "0.0.0.1", + "count": 1, + } # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, start="0.0.0.0", step="0.0.0.1", count=1): + super(PatternIpv4PatternIpv4Counter, self).__init__() + self._parent = parent + self._set_property("start", start) + self._set_property("step", step) + self._set_property("count", count) + + def set(self, start=None, step=None, count=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def start(self): + # type: () -> str + """start getter + + TBD + + Returns: str + """ + return self._get_property("start") + + @start.setter + def start(self, value): + """start setter + + TBD + + value: str + """ + self._set_property("start", value) + + @property + def step(self): + # type: () -> str + """step getter + + TBD + + Returns: str + """ + return self._get_property("step") + + @step.setter + def step(self, value): + """step setter + + TBD + + value: str + """ + self._set_property("step", value) + + @property + def count(self): + # type: () -> int + """count getter + + TBD + + Returns: int + """ + return self._get_property("count") + + @count.setter + def count(self, value): + """count setter + + TBD + + value: int + """ + self._set_property("count", value) + + +class Ipv6Pattern(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "ipv6": {"type": "PatternIpv6PatternIpv6"}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None): + super(Ipv6Pattern, self).__init__() + self._parent = parent + + @property + def ipv6(self): + # type: () -> PatternIpv6PatternIpv6 + """ipv6 getter + + TBDTBDTBD + + Returns: PatternIpv6PatternIpv6 + """ + return self._get_property("ipv6", PatternIpv6PatternIpv6) + + +class PatternIpv6PatternIpv6(OpenApiObject): + __slots__ = ("_parent", "_choice") + + _TYPES = { + "choice": { + "type": str, + "enum": [ + "value", + "values", + "increment", + "decrement", + ], + }, + "value": { + "type": str, + "format": "ipv6", + }, + "values": { + "type": list, + "itemtype": str, + "itemformat": "ipv6", + }, + "increment": {"type": "PatternIpv6PatternIpv6Counter"}, + "decrement": {"type": "PatternIpv6PatternIpv6Counter"}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = { + "choice": "value", + "value": "::", + "values": ["::"], + } # type: Dict[str, Union(type)] + + VALUE = "value" # type: str + VALUES = "values" # type: str + INCREMENT = "increment" # type: str + DECREMENT = "decrement" # type: str + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, choice=None, value="::", values=["::"]): + super(PatternIpv6PatternIpv6, self).__init__() + self._parent = parent + self._set_property("value", value) + self._set_property("values", values) + if ( + "choice" in self._DEFAULTS + and choice is None + and self._DEFAULTS["choice"] in self._TYPES + ): + getattr(self, self._DEFAULTS["choice"]) + else: + self._set_property("choice", choice) + + def set(self, value=None, values=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def increment(self): + # type: () -> PatternIpv6PatternIpv6Counter + """Factory property that returns an instance of the PatternIpv6PatternIpv6Counter class + + ipv6 counter pattern + + Returns: PatternIpv6PatternIpv6Counter + """ + return self._get_property( + "increment", PatternIpv6PatternIpv6Counter, self, "increment" + ) + + @property + def decrement(self): + # type: () -> PatternIpv6PatternIpv6Counter + """Factory property that returns an instance of the PatternIpv6PatternIpv6Counter class + + ipv6 counter pattern + + Returns: PatternIpv6PatternIpv6Counter + """ + return self._get_property( + "decrement", PatternIpv6PatternIpv6Counter, self, "decrement" + ) + + @property + def choice(self): + # type: () -> Union[Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] + """choice getter + + TBD + + Returns: Union[Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] + """ + return self._get_property("choice") + + @choice.setter + def choice(self, value): + """choice setter + + TBD + + value: Union[Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] + """ + self._set_property("choice", value) + + @property + def value(self): + # type: () -> str + """value getter + + TBD + + Returns: str + """ + return self._get_property("value") + + @value.setter + def value(self, value): + """value setter + + TBD + + value: str + """ + self._set_property("value", value, "value") + + @property + def values(self): + # type: () -> List[str] + """values getter + + TBD + + Returns: List[str] + """ + return self._get_property("values") + + @values.setter + def values(self, value): + """values setter + + TBD + + value: List[str] + """ + self._set_property("values", value, "values") + + +class PatternIpv6PatternIpv6Counter(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "start": { + "type": str, + "format": "ipv6", + }, + "step": { + "type": str, + "format": "ipv6", + }, + "count": { + "type": int, + "format": "uint32", + }, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = { + "start": "::", + "step": "::1", + "count": 1, + } # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, start="::", step="::1", count=1): + super(PatternIpv6PatternIpv6Counter, self).__init__() + self._parent = parent + self._set_property("start", start) + self._set_property("step", step) + self._set_property("count", count) + + def set(self, start=None, step=None, count=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def start(self): + # type: () -> str + """start getter + + TBD + + Returns: str + """ + return self._get_property("start") + + @start.setter + def start(self, value): + """start setter + + TBD + + value: str + """ + self._set_property("start", value) + + @property + def step(self): + # type: () -> str + """step getter + + TBD + + Returns: str + """ + return self._get_property("step") + + @step.setter + def step(self, value): + """step setter + + TBD + + value: str + """ + self._set_property("step", value) + + @property + def count(self): + # type: () -> int + """count getter + + TBD + + Returns: int + """ + return self._get_property("count") + + @count.setter + def count(self, value): + """count setter + + TBD + + value: int + """ + self._set_property("count", value) + + +class MacPattern(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "mac": {"type": "PatternMacPatternMac"}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None): + super(MacPattern, self).__init__() + self._parent = parent + + @property + def mac(self): + # type: () -> PatternMacPatternMac + """mac getter + + TBDTBDTBD + + Returns: PatternMacPatternMac + """ + return self._get_property("mac", PatternMacPatternMac) + + +class PatternMacPatternMac(OpenApiObject): + __slots__ = ("_parent", "_choice") + + _TYPES = { + "choice": { + "type": str, + "enum": [ + "value", + "values", + "auto", + "increment", + "decrement", + ], + }, + "value": { + "type": str, + "format": "mac", + }, + "values": { + "type": list, + "itemtype": str, + "itemformat": "mac", + }, + "auto": { + "type": str, + "format": "mac", + }, + "increment": {"type": "PatternMacPatternMacCounter"}, + "decrement": {"type": "PatternMacPatternMacCounter"}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = { + "choice": "auto", + "value": "00:00:00:00:00:00", + "values": ["00:00:00:00:00:00"], + "auto": "00:00:00:00:00:00", + } # type: Dict[str, Union(type)] + + VALUE = "value" # type: str + VALUES = "values" # type: str + AUTO = "auto" # type: str + INCREMENT = "increment" # type: str + DECREMENT = "decrement" # type: str + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__( + self, + parent=None, + choice=None, + value="00:00:00:00:00:00", + values=["00:00:00:00:00:00"], + auto="00:00:00:00:00:00", + ): + super(PatternMacPatternMac, self).__init__() + self._parent = parent + self._set_property("value", value) + self._set_property("values", values) + self._set_property("auto", auto) + if ( + "choice" in self._DEFAULTS + and choice is None + and self._DEFAULTS["choice"] in self._TYPES + ): + getattr(self, self._DEFAULTS["choice"]) + else: + self._set_property("choice", choice) + + def set(self, value=None, values=None, auto=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def increment(self): + # type: () -> PatternMacPatternMacCounter + """Factory property that returns an instance of the PatternMacPatternMacCounter class + + mac counter pattern + + Returns: PatternMacPatternMacCounter + """ + return self._get_property( + "increment", PatternMacPatternMacCounter, self, "increment" + ) + + @property + def decrement(self): + # type: () -> PatternMacPatternMacCounter + """Factory property that returns an instance of the PatternMacPatternMacCounter class + + mac counter pattern + + Returns: PatternMacPatternMacCounter + """ + return self._get_property( + "decrement", PatternMacPatternMacCounter, self, "decrement" + ) + + @property + def choice(self): + # type: () -> Union[Literal["auto"], Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] + """choice getter + + TBD + + Returns: Union[Literal["auto"], Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] + """ + return self._get_property("choice") + + @choice.setter + def choice(self, value): + """choice setter + + TBD + + value: Union[Literal["auto"], Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] + """ + self._set_property("choice", value) + + @property + def value(self): + # type: () -> str + """value getter + + TBD + + Returns: str + """ + return self._get_property("value") + + @value.setter + def value(self, value): + """value setter + + TBD + + value: str + """ + self._set_property("value", value, "value") + + @property + def values(self): + # type: () -> List[str] + """values getter + + TBD + + Returns: List[str] + """ + return self._get_property("values") + + @values.setter + def values(self, value): + """values setter + + TBD + + value: List[str] + """ + self._set_property("values", value, "values") + + @property + def auto(self): + # type: () -> str + """auto getter + + The OTG implementation can provide system generated. value for this property. If the OTG is unable to generate value. the default value must be used. + + Returns: str + """ + return self._get_property("auto") + + +class PatternMacPatternMacCounter(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "start": { + "type": str, + "format": "mac", + }, + "step": { + "type": str, + "format": "mac", + }, + "count": { + "type": int, + "format": "uint32", + }, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = { + "start": "00:00:00:00:00:00", + "step": "00:00:00:00:00:01", + "count": 1, + } # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__( + self, + parent=None, + start="00:00:00:00:00:00", + step="00:00:00:00:00:01", + count=1, + ): + super(PatternMacPatternMacCounter, self).__init__() + self._parent = parent + self._set_property("start", start) + self._set_property("step", step) + self._set_property("count", count) + + def set(self, start=None, step=None, count=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def start(self): + # type: () -> str + """start getter + + TBD + + Returns: str + """ + return self._get_property("start") + + @start.setter + def start(self, value): + """start setter + + TBD + + value: str + """ + self._set_property("start", value) + + @property + def step(self): + # type: () -> str + """step getter + + TBD + + Returns: str + """ + return self._get_property("step") + + @step.setter + def step(self, value): + """step setter + + TBD + + value: str + """ + self._set_property("step", value) + + @property + def count(self): + # type: () -> int + """count getter + + TBD + + Returns: int + """ + return self._get_property("count") + + @count.setter + def count(self, value): + """count setter + + TBD + + value: int + """ + self._set_property("count", value) + + +class IntegerPattern(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "integer": {"type": "PatternIntegerPatternInteger"}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None): + super(IntegerPattern, self).__init__() + self._parent = parent + + @property + def integer(self): + # type: () -> PatternIntegerPatternInteger + """integer getter + + TBDTBDTBD + + Returns: PatternIntegerPatternInteger + """ + return self._get_property("integer", PatternIntegerPatternInteger) + + +class PatternIntegerPatternInteger(OpenApiObject): + __slots__ = ("_parent", "_choice") + + _TYPES = { + "choice": { + "type": str, + "enum": [ + "value", + "values", + "increment", + "decrement", + ], + }, + "value": { + "type": int, + "format": "uint32", + "maximum": 255, + }, + "values": { + "type": list, + "itemtype": int, + "itemformat": "uint32", + "maximum": 255, + }, + "increment": {"type": "PatternIntegerPatternIntegerCounter"}, + "decrement": {"type": "PatternIntegerPatternIntegerCounter"}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = { + "choice": "value", + "value": 0, + "values": [0], + } # type: Dict[str, Union(type)] + + VALUE = "value" # type: str + VALUES = "values" # type: str + INCREMENT = "increment" # type: str + DECREMENT = "decrement" # type: str + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, choice=None, value=0, values=[0]): + super(PatternIntegerPatternInteger, self).__init__() + self._parent = parent + self._set_property("value", value) + self._set_property("values", values) + if ( + "choice" in self._DEFAULTS + and choice is None + and self._DEFAULTS["choice"] in self._TYPES + ): + getattr(self, self._DEFAULTS["choice"]) + else: + self._set_property("choice", choice) + + def set(self, value=None, values=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def increment(self): + # type: () -> PatternIntegerPatternIntegerCounter + """Factory property that returns an instance of the PatternIntegerPatternIntegerCounter class + + integer counter pattern + + Returns: PatternIntegerPatternIntegerCounter + """ + return self._get_property( + "increment", PatternIntegerPatternIntegerCounter, self, "increment" + ) + + @property + def decrement(self): + # type: () -> PatternIntegerPatternIntegerCounter + """Factory property that returns an instance of the PatternIntegerPatternIntegerCounter class + + integer counter pattern + + Returns: PatternIntegerPatternIntegerCounter + """ + return self._get_property( + "decrement", PatternIntegerPatternIntegerCounter, self, "decrement" + ) + + @property + def choice(self): + # type: () -> Union[Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] + """choice getter + + TBD + + Returns: Union[Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] + """ + return self._get_property("choice") + + @choice.setter + def choice(self, value): + """choice setter + + TBD + + value: Union[Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] + """ + self._set_property("choice", value) + + @property + def value(self): + # type: () -> int + """value getter + + TBD + + Returns: int + """ + return self._get_property("value") + + @value.setter + def value(self, value): + """value setter + + TBD + + value: int + """ + self._set_property("value", value, "value") + + @property + def values(self): + # type: () -> List[int] + """values getter + + TBD + + Returns: List[int] + """ + return self._get_property("values") + + @values.setter + def values(self, value): + """values setter + + TBD + + value: List[int] + """ + self._set_property("values", value, "values") + + +class PatternIntegerPatternIntegerCounter(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "start": { + "type": int, + "format": "uint32", + "maximum": 255, + }, + "step": { + "type": int, + "format": "uint32", + "maximum": 255, + }, + "count": { + "type": int, + "format": "uint32", + "maximum": 255, + }, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = { + "start": 0, + "step": 1, + "count": 1, + } # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, start=0, step=1, count=1): + super(PatternIntegerPatternIntegerCounter, self).__init__() + self._parent = parent + self._set_property("start", start) + self._set_property("step", step) + self._set_property("count", count) + + def set(self, start=None, step=None, count=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def start(self): + # type: () -> int + """start getter + + TBD + + Returns: int + """ + return self._get_property("start") + + @start.setter + def start(self, value): + """start setter + + TBD + + value: int + """ + self._set_property("start", value) + + @property + def step(self): + # type: () -> int + """step getter + + TBD + + Returns: int + """ + return self._get_property("step") + + @step.setter + def step(self, value): + """step setter + + TBD + + value: int + """ + self._set_property("step", value) + + @property + def count(self): + # type: () -> int + """count getter + + TBD + + Returns: int + """ + return self._get_property("count") + + @count.setter + def count(self, value): + """count setter + + TBD + + value: int + """ + self._set_property("count", value) + + +class ChecksumPattern(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "checksum": {"type": "PatternChecksumPatternChecksum"}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None): + super(ChecksumPattern, self).__init__() + self._parent = parent + + @property + def checksum(self): + # type: () -> PatternChecksumPatternChecksum + """checksum getter + + TBDTBDTBD + + Returns: PatternChecksumPatternChecksum + """ + return self._get_property("checksum", PatternChecksumPatternChecksum) + + +class PatternChecksumPatternChecksum(OpenApiObject): + __slots__ = ("_parent", "_choice") + + _TYPES = { + "choice": { + "type": str, + "enum": [ + "generated", + "custom", + ], + }, + "generated": { + "type": str, + "enum": [ + "good", + "bad", + ], + }, + "custom": { + "type": int, + "format": "uint32", + "maximum": 255, + }, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = { + "choice": "generated", + "generated": "good", + } # type: Dict[str, Union(type)] + + GENERATED = "generated" # type: str + CUSTOM = "custom" # type: str + + GOOD = "good" # type: str + BAD = "bad" # type: str + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__( + self, parent=None, choice=None, generated="good", custom=None + ): + super(PatternChecksumPatternChecksum, self).__init__() + self._parent = parent + self._set_property("generated", generated) + self._set_property("custom", custom) + if ( + "choice" in self._DEFAULTS + and choice is None + and self._DEFAULTS["choice"] in self._TYPES + ): + getattr(self, self._DEFAULTS["choice"]) + else: + self._set_property("choice", choice) + + def set(self, generated=None, custom=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def choice(self): + # type: () -> Union[Literal["custom"], Literal["generated"]] + """choice getter + + The type of checksum + + Returns: Union[Literal["custom"], Literal["generated"]] + """ + return self._get_property("choice") + + @choice.setter + def choice(self, value): + """choice setter + + The type of checksum + + value: Union[Literal["custom"], Literal["generated"]] + """ + self._set_property("choice", value) + + @property + def generated(self): + # type: () -> Union[Literal["bad"], Literal["good"]] + """generated getter + + A system generated checksum value + + Returns: Union[Literal["bad"], Literal["good"]] + """ + return self._get_property("generated") + + @generated.setter + def generated(self, value): + """generated setter + + A system generated checksum value + + value: Union[Literal["bad"], Literal["good"]] + """ + self._set_property("generated", value, "generated") + + @property + def custom(self): + # type: () -> int + """custom getter + + A custom checksum value + + Returns: int + """ + return self._get_property("custom") + + @custom.setter + def custom(self, value): + """custom setter + + A custom checksum value + + value: int + """ + self._set_property("custom", value, "custom") + + +class Layer1Ieee802x(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "flow_control": {"type": bool}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, flow_control=None): + super(Layer1Ieee802x, self).__init__() + self._parent = parent + self._set_property("flow_control", flow_control) + + def set(self, flow_control=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def flow_control(self): + # type: () -> bool + """flow_control getter + + TBD + + Returns: bool + """ + return self._get_property("flow_control") + + @flow_control.setter + def flow_control(self, value): + """flow_control setter + + TBD + + value: bool + """ + self._set_property("flow_control", value) + + +class MObject(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "string_param": {"type": str}, + "integer": { + "type": int, + "format": "int32", + "minimum": -10, + "maximum": 90, + }, + "float": { + "type": float, + "format": "float", + }, + "double": { + "type": float, + "format": "double", + }, + "mac": { + "type": str, + "format": "mac", + }, + "ipv4": { + "type": str, + "format": "ipv4", + }, + "ipv6": { + "type": str, + "format": "ipv6", + }, + "hex": { + "type": str, + "format": "hex", + }, + } # type: Dict[str, str] + + _REQUIRED = ( + "string_param", + "integer", + "float", + "double", + "mac", + "ipv4", + "ipv6", + "hex", + ) # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__( + self, + parent=None, + string_param=None, + integer=None, + float=None, + double=None, + mac=None, + ipv4=None, + ipv6=None, + hex=None, + ): + super(MObject, self).__init__() + self._parent = parent + self._set_property("string_param", string_param) + self._set_property("integer", integer) + self._set_property("float", float) + self._set_property("double", double) + self._set_property("mac", mac) + self._set_property("ipv4", ipv4) + self._set_property("ipv6", ipv6) + self._set_property("hex", hex) + + def set( + self, + string_param=None, + integer=None, + float=None, + double=None, + mac=None, + ipv4=None, + ipv6=None, + hex=None, + ): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def string_param(self): + # type: () -> str + """string_param getter + + TBD + + Returns: str + """ + return self._get_property("string_param") + + @string_param.setter + def string_param(self, value): + """string_param setter + + TBD + + value: str + """ + if value is None: + raise TypeError( + "Cannot set required property string_param as None" + ) + self._set_property("string_param", value) + + @property + def integer(self): + # type: () -> int + """integer getter + + TBD + + Returns: int + """ + return self._get_property("integer") + + @integer.setter + def integer(self, value): + """integer setter + + TBD + + value: int + """ + if value is None: + raise TypeError("Cannot set required property integer as None") + self._set_property("integer", value) + + @property + def float(self): + # type: () -> float + """float getter + + TBD + + Returns: float + """ + return self._get_property("float") + + @float.setter + def float(self, value): + """float setter + + TBD + + value: float + """ + if value is None: + raise TypeError("Cannot set required property float as None") + self._set_property("float", value) + + @property + def double(self): + # type: () -> float + """double getter + + TBD + + Returns: float + """ + return self._get_property("double") + + @double.setter + def double(self, value): + """double setter + + TBD + + value: float + """ + if value is None: + raise TypeError("Cannot set required property double as None") + self._set_property("double", value) + + @property + def mac(self): + # type: () -> str + """mac getter + + TBD + + Returns: str + """ + return self._get_property("mac") + + @mac.setter + def mac(self, value): + """mac setter + + TBD + + value: str + """ + if value is None: + raise TypeError("Cannot set required property mac as None") + self._set_property("mac", value) + + @property + def ipv4(self): + # type: () -> str + """ipv4 getter + + TBD + + Returns: str + """ + return self._get_property("ipv4") + + @ipv4.setter + def ipv4(self, value): + """ipv4 setter + + TBD + + value: str + """ + if value is None: + raise TypeError("Cannot set required property ipv4 as None") + self._set_property("ipv4", value) + + @property + def ipv6(self): + # type: () -> str + """ipv6 getter + + TBD + + Returns: str + """ + return self._get_property("ipv6") + + @ipv6.setter + def ipv6(self, value): + """ipv6 setter + + TBD + + value: str + """ + if value is None: + raise TypeError("Cannot set required property ipv6 as None") + self._set_property("ipv6", value) + + @property + def hex(self): + # type: () -> str + """hex getter + + TBD + + Returns: str + """ + return self._get_property("hex") + + @hex.setter + def hex(self, value): + """hex setter + + TBD + + value: str + """ + if value is None: + raise TypeError("Cannot set required property hex as None") + self._set_property("hex", value) + + +class PatternPrefixConfigHeaderChecksum(OpenApiObject): + __slots__ = ("_parent", "_choice") + + _TYPES = { + "choice": { + "type": str, + "enum": [ + "generated", + "custom", + ], + }, + "generated": { + "type": str, + "enum": [ + "good", + "bad", + ], + }, + "custom": { + "type": int, + "format": "uint32", + "maximum": 65535, + }, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = { + "choice": "generated", + "generated": "good", + } # type: Dict[str, Union(type)] + + GENERATED = "generated" # type: str + CUSTOM = "custom" # type: str + + GOOD = "good" # type: str + BAD = "bad" # type: str + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__( + self, parent=None, choice=None, generated="good", custom=None + ): + super(PatternPrefixConfigHeaderChecksum, self).__init__() + self._parent = parent + self._set_property("generated", generated) + self._set_property("custom", custom) + if ( + "choice" in self._DEFAULTS + and choice is None + and self._DEFAULTS["choice"] in self._TYPES + ): + getattr(self, self._DEFAULTS["choice"]) + else: + self._set_property("choice", choice) + + def set(self, generated=None, custom=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def choice(self): + # type: () -> Union[Literal["custom"], Literal["generated"]] + """choice getter + + The type of checksum + + Returns: Union[Literal["custom"], Literal["generated"]] + """ + return self._get_property("choice") + + @choice.setter + def choice(self, value): + """choice setter + + The type of checksum + + value: Union[Literal["custom"], Literal["generated"]] + """ + self._set_property("choice", value) + + @property + def generated(self): + # type: () -> Union[Literal["bad"], Literal["good"]] + """generated getter + + A system generated checksum value + + Returns: Union[Literal["bad"], Literal["good"]] + """ + return self._get_property("generated") + + @generated.setter + def generated(self, value): + """generated setter + + A system generated checksum value + + value: Union[Literal["bad"], Literal["good"]] + """ + self._set_property("generated", value, "generated") + + @property + def custom(self): + # type: () -> int + """custom getter + + A custom checksum value + + Returns: int + """ + return self._get_property("custom") + + @custom.setter + def custom(self, value): + """custom setter + + A custom checksum value + + value: int + """ + self._set_property("custom", value, "custom") + + +class PatternPrefixConfigAutoFieldTest(OpenApiObject): + __slots__ = ("_parent", "_choice") + + _TYPES = { + "choice": { + "type": str, + "enum": [ + "value", + "values", + "auto", + "increment", + "decrement", + ], + }, + "value": { + "type": int, + "format": "uint32", + "maximum": 255, + }, + "values": { + "type": list, + "itemtype": int, + "itemformat": "uint32", + "maximum": 255, + }, + "auto": { + "type": int, + "format": "uint32", + "maximum": 255, + }, + "increment": {"type": "PatternPrefixConfigAutoFieldTestCounter"}, + "decrement": {"type": "PatternPrefixConfigAutoFieldTestCounter"}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = { + "choice": "auto", + "value": 0, + "values": [0], + "auto": 0, + } # type: Dict[str, Union(type)] + + VALUE = "value" # type: str + VALUES = "values" # type: str + AUTO = "auto" # type: str + INCREMENT = "increment" # type: str + DECREMENT = "decrement" # type: str + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, choice=None, value=0, values=[0], auto=0): + super(PatternPrefixConfigAutoFieldTest, self).__init__() + self._parent = parent + self._set_property("value", value) + self._set_property("values", values) + self._set_property("auto", auto) + if ( + "choice" in self._DEFAULTS + and choice is None + and self._DEFAULTS["choice"] in self._TYPES + ): + getattr(self, self._DEFAULTS["choice"]) + else: + self._set_property("choice", choice) + + def set(self, value=None, values=None, auto=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def increment(self): + # type: () -> PatternPrefixConfigAutoFieldTestCounter + """Factory property that returns an instance of the PatternPrefixConfigAutoFieldTestCounter class + + integer counter pattern + + Returns: PatternPrefixConfigAutoFieldTestCounter + """ + return self._get_property( + "increment", + PatternPrefixConfigAutoFieldTestCounter, + self, + "increment", + ) + + @property + def decrement(self): + # type: () -> PatternPrefixConfigAutoFieldTestCounter + """Factory property that returns an instance of the PatternPrefixConfigAutoFieldTestCounter class + + integer counter pattern + + Returns: PatternPrefixConfigAutoFieldTestCounter + """ + return self._get_property( + "decrement", + PatternPrefixConfigAutoFieldTestCounter, + self, + "decrement", + ) + + @property + def choice(self): + # type: () -> Union[Literal["auto"], Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] + """choice getter + + TBD + + Returns: Union[Literal["auto"], Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] + """ + return self._get_property("choice") + + @choice.setter + def choice(self, value): + """choice setter + + TBD + + value: Union[Literal["auto"], Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] + """ + self._set_property("choice", value) + + @property + def value(self): + # type: () -> int + """value getter + + TBD + + Returns: int + """ + return self._get_property("value") + + @value.setter + def value(self, value): + """value setter + + TBD + + value: int + """ + self._set_property("value", value, "value") + + @property + def values(self): + # type: () -> List[int] + """values getter + + TBD + + Returns: List[int] + """ + return self._get_property("values") + + @values.setter + def values(self, value): + """values setter + + TBD + + value: List[int] + """ + self._set_property("values", value, "values") + + @property + def auto(self): + # type: () -> int + """auto getter + + The OTG implementation can provide system generated. value for this property. If the OTG is unable to generate value. the default value must be used. + + Returns: int + """ + return self._get_property("auto") + + +class PatternPrefixConfigAutoFieldTestCounter(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "start": { + "type": int, + "format": "uint32", + "maximum": 255, + }, + "step": { + "type": int, + "format": "uint32", + "maximum": 255, + }, + "count": { + "type": int, + "format": "uint32", + "maximum": 255, + }, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = { + "start": 0, + "step": 1, + "count": 1, + } # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, start=0, step=1, count=1): + super(PatternPrefixConfigAutoFieldTestCounter, self).__init__() + self._parent = parent + self._set_property("start", start) + self._set_property("step", step) + self._set_property("count", count) + + def set(self, start=None, step=None, count=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def start(self): + # type: () -> int + """start getter + + TBD + + Returns: int + """ + return self._get_property("start") + + @start.setter + def start(self, value): + """start setter + + TBD + + value: int + """ + self._set_property("start", value) + + @property + def step(self): + # type: () -> int + """step getter + + TBD + + Returns: int + """ + return self._get_property("step") + + @step.setter + def step(self, value): + """step setter + + TBD + + value: int + """ + self._set_property("step", value) + + @property + def count(self): + # type: () -> int + """count getter + + TBD + + Returns: int + """ + return self._get_property("count") + + @count.setter + def count(self, value): + """count setter + + TBD + + value: int + """ + self._set_property("count", value) + + +class WObject(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "w_name": {"type": str}, + } # type: Dict[str, str] + + _REQUIRED = ("w_name",) # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, w_name=None): + super(WObject, self).__init__() + self._parent = parent + self._set_property("w_name", w_name) + + def set(self, w_name=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def w_name(self): + # type: () -> str + """w_name getter + + TBD + + Returns: str + """ + return self._get_property("w_name") + + @w_name.setter + def w_name(self, value): + """w_name setter + + TBD + + value: str + """ + if value is None: + raise TypeError("Cannot set required property w_name as None") + self._set_property("w_name", value) + + +class WObjectIter(OpenApiIter): + __slots__ = ("_parent", "_choice") + + _GETITEM_RETURNS_CHOICE_OBJECT = False + + def __init__(self, parent=None, choice=None): + super(WObjectIter, self).__init__() + self._parent = parent + self._choice = choice + + def __getitem__(self, key): + # type: (str) -> Union[WObject] + return self._getitem(key) + + def __iter__(self): + # type: () -> WObjectIter + return self._iter() + + def __next__(self): + # type: () -> WObject + return self._next() + + def next(self): + # type: () -> WObject + return self._next() + + def _instanceOf(self, item): + if not isinstance(item, WObject): + raise Exception("Item is not an instance of WObject") + + def wobject(self, w_name=None): + # type: (str) -> WObjectIter + """Factory method that creates an instance of the WObject class + + TBD + + Returns: WObjectIter + """ + item = WObject(parent=self._parent, w_name=w_name) + self._add(item) + return self + + def add(self, w_name=None): + # type: (str) -> WObject + """Add method that creates and returns an instance of the WObject class + + TBD + + Returns: WObject + """ + item = WObject(parent=self._parent, w_name=w_name) + self._add(item) + return item + + +class ZObject(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "name": {"type": str}, + } # type: Dict[str, str] + + _REQUIRED = ("name",) # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, name=None): + super(ZObject, self).__init__() + self._parent = parent + self._set_property("name", name) + + def set(self, name=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def name(self): + # type: () -> str + """name getter + + TBD + + Returns: str + """ + return self._get_property("name") + + @name.setter + def name(self, value): + """name setter + + TBD + + value: str + """ + if value is None: + raise TypeError("Cannot set required property name as None") + self._set_property("name", value) + + +class ZObjectIter(OpenApiIter): + __slots__ = ("_parent", "_choice") + + _GETITEM_RETURNS_CHOICE_OBJECT = False + + def __init__(self, parent=None, choice=None): + super(ZObjectIter, self).__init__() + self._parent = parent + self._choice = choice + + def __getitem__(self, key): + # type: (str) -> Union[ZObject] + return self._getitem(key) + + def __iter__(self): + # type: () -> ZObjectIter + return self._iter() + + def __next__(self): + # type: () -> ZObject + return self._next() + + def next(self): + # type: () -> ZObject + return self._next() + + def _instanceOf(self, item): + if not isinstance(item, ZObject): + raise Exception("Item is not an instance of ZObject") + + def zobject(self, name=None): + # type: (str) -> ZObjectIter + """Factory method that creates an instance of the ZObject class + + TBD + + Returns: ZObjectIter + """ + item = ZObject(parent=self._parent, name=name) + self._add(item) + return self + + def add(self, name=None): + # type: (str) -> ZObject + """Add method that creates and returns an instance of the ZObject class + + TBD + + Returns: ZObject + """ + item = ZObject(parent=self._parent, name=name) + self._add(item) + return item + + +class YObject(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "y_name": {"type": str}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, y_name=None): + super(YObject, self).__init__() + self._parent = parent + self._set_property("y_name", y_name) + + def set(self, y_name=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def y_name(self): + # type: () -> str + """y_name getter + + TBD. x-constraint:. /components/schemas/ZObject/properties/name. /components/schemas/WObject/properties/w_name. + + Returns: str + """ + return self._get_property("y_name") + + @y_name.setter + def y_name(self, value): + """y_name setter + + TBD. x-constraint:. /components/schemas/ZObject/properties/name. /components/schemas/WObject/properties/w_name. + + value: str + """ + self._set_property("y_name", value) + + +class ChoiceObject(OpenApiObject): + __slots__ = ("_parent", "_choice") + + _TYPES = { + "choice": { + "type": str, + "enum": [ + "e_obj", + "f_obj", + "no_obj", + ], + }, + "e_obj": {"type": "EObject"}, + "f_obj": {"type": "FObject"}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = { + "choice": "no_obj", + } # type: Dict[str, Union(type)] + + E_OBJ = "e_obj" # type: str + F_OBJ = "f_obj" # type: str + NO_OBJ = "no_obj" # type: str + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, choice=None): + super(ChoiceObject, self).__init__() + self._parent = parent + if ( + "choice" in self._DEFAULTS + and choice is None + and self._DEFAULTS["choice"] in self._TYPES + ): + getattr(self, self._DEFAULTS["choice"]) + else: + self._set_property("choice", choice) + + @property + def e_obj(self): + # type: () -> EObject + """Factory property that returns an instance of the EObject class + + TBD + + Returns: EObject + """ + return self._get_property("e_obj", EObject, self, "e_obj") + + @property + def f_obj(self): + # type: () -> FObject + """Factory property that returns an instance of the FObject class + + TBD + + Returns: FObject + """ + return self._get_property("f_obj", FObject, self, "f_obj") + + @property + def choice(self): + # type: () -> Union[Literal["e_obj"], Literal["f_obj"], Literal["no_obj"]] + """choice getter + + TBD + + Returns: Union[Literal["e_obj"], Literal["f_obj"], Literal["no_obj"]] + """ + return self._get_property("choice") + + @choice.setter + def choice(self, value): + """choice setter + + TBD + + value: Union[Literal["e_obj"], Literal["f_obj"], Literal["no_obj"]] + """ + self._set_property("choice", value) + + +class ChoiceObjectIter(OpenApiIter): + __slots__ = ("_parent", "_choice") + + _GETITEM_RETURNS_CHOICE_OBJECT = True + + def __init__(self, parent=None, choice=None): + super(ChoiceObjectIter, self).__init__() + self._parent = parent + self._choice = choice + + def __getitem__(self, key): + # type: (str) -> Union[ChoiceObject, EObject, FObject] + return self._getitem(key) + + def __iter__(self): + # type: () -> ChoiceObjectIter + return self._iter() + + def __next__(self): + # type: () -> ChoiceObject + return self._next() + + def next(self): + # type: () -> ChoiceObject + return self._next() + + def _instanceOf(self, item): + if not isinstance(item, ChoiceObject): + raise Exception("Item is not an instance of ChoiceObject") + + def choiceobject(self): + # type: () -> ChoiceObjectIter + """Factory method that creates an instance of the ChoiceObject class + + TBD + + Returns: ChoiceObjectIter + """ + item = ChoiceObject(parent=self._parent, choice=self._choice) + self._add(item) + return self + + def add(self): + # type: () -> ChoiceObject + """Add method that creates and returns an instance of the ChoiceObject class + + TBD + + Returns: ChoiceObject + """ + item = ChoiceObject(parent=self._parent, choice=self._choice) + self._add(item) + return item + + def e_obj( + self, e_a=None, e_b=None, name=None, m_param1=None, m_param2=None + ): + # type: (float,float,str,str,str) -> ChoiceObjectIter + """Factory method that creates an instance of the EObject class + + TBD + + Returns: ChoiceObjectIter + """ + item = ChoiceObject() + item.e_obj + item.choice = "e_obj" + self._add(item) + return self + + def f_obj(self, f_a="some string", f_b=3.0): + # type: (str,float) -> ChoiceObjectIter + """Factory method that creates an instance of the FObject class + + TBD + + Returns: ChoiceObjectIter + """ + item = ChoiceObject() + item.f_obj + item.choice = "f_obj" + self._add(item) + return self + + +class RequiredChoiceParent(OpenApiObject): + __slots__ = ("_parent", "_choice") + + _TYPES = { + "choice": { + "type": str, + "enum": [ + "intermediate_obj", + "no_obj", + ], + }, + "intermediate_obj": {"type": "RequiredChoiceIntermediate"}, + } # type: Dict[str, str] + + _REQUIRED = ("choice",) # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + INTERMEDIATE_OBJ = "intermediate_obj" # type: str + NO_OBJ = "no_obj" # type: str + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, choice=None): + super(RequiredChoiceParent, self).__init__() + self._parent = parent + if ( + "choice" in self._DEFAULTS + and choice is None + and self._DEFAULTS["choice"] in self._TYPES + ): + getattr(self, self._DEFAULTS["choice"]) + else: + self._set_property("choice", choice) + + @property + def intermediate_obj(self): + # type: () -> RequiredChoiceIntermediate + """Factory property that returns an instance of the RequiredChoiceIntermediate class + + TBD + + Returns: RequiredChoiceIntermediate + """ + return self._get_property( + "intermediate_obj", + RequiredChoiceIntermediate, + self, + "intermediate_obj", + ) + + @property + def choice(self): + # type: () -> Union[Literal["intermediate_obj"], Literal["no_obj"]] + """choice getter + + TBD + + Returns: Union[Literal["intermediate_obj"], Literal["no_obj"]] + """ + return self._get_property("choice") + + @choice.setter + def choice(self, value): + """choice setter + + TBD + + value: Union[Literal["intermediate_obj"], Literal["no_obj"]] + """ + if value is None: + raise TypeError("Cannot set required property choice as None") + self._set_property("choice", value) + + +class RequiredChoiceIntermediate(OpenApiObject): + __slots__ = ("_parent", "_choice") + + _TYPES = { + "choice": { + "type": str, + "enum": [ + "f_a", + "leaf", + ], + }, + "f_a": {"type": str}, + "leaf": {"type": "RequiredChoiceIntermeLeaf"}, + } # type: Dict[str, str] + + _REQUIRED = ("choice",) # type: tuple(str) + + _DEFAULTS = { + "f_a": "some string", + } # type: Dict[str, Union(type)] + + F_A = "f_a" # type: str + LEAF = "leaf" # type: str + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, choice=None, f_a="some string"): + super(RequiredChoiceIntermediate, self).__init__() + self._parent = parent + self._set_property("f_a", f_a) + if ( + "choice" in self._DEFAULTS + and choice is None + and self._DEFAULTS["choice"] in self._TYPES + ): + getattr(self, self._DEFAULTS["choice"]) + else: + self._set_property("choice", choice) + + def set(self, f_a=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def leaf(self): + # type: () -> RequiredChoiceIntermeLeaf + """Factory property that returns an instance of the RequiredChoiceIntermeLeaf class + + TBD + + Returns: RequiredChoiceIntermeLeaf + """ + return self._get_property( + "leaf", RequiredChoiceIntermeLeaf, self, "leaf" + ) + + @property + def choice(self): + # type: () -> Union[Literal["f_a"], Literal["leaf"]] + """choice getter + + TBD + + Returns: Union[Literal["f_a"], Literal["leaf"]] + """ + return self._get_property("choice") + + @choice.setter + def choice(self, value): + """choice setter + + TBD + + value: Union[Literal["f_a"], Literal["leaf"]] + """ + if value is None: + raise TypeError("Cannot set required property choice as None") + self._set_property("choice", value) + + @property + def f_a(self): + # type: () -> str + """f_a getter + + TBD + + Returns: str + """ + return self._get_property("f_a") + + @f_a.setter + def f_a(self, value): + """f_a setter + + TBD + + value: str + """ + self._set_property("f_a", value, "f_a") + + +class RequiredChoiceIntermeLeaf(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "name": {"type": str}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, name=None): + super(RequiredChoiceIntermeLeaf, self).__init__() + self._parent = parent + self._set_property("name", name) + + def set(self, name=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def name(self): + # type: () -> str + """name getter + + TBD + + Returns: str + """ + return self._get_property("name") + + @name.setter + def name(self, value): + """name setter + + TBD + + value: str + """ + self._set_property("name", value) + + +class Error(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "code": { + "type": int, + "format": "int32", + }, + "kind": { + "type": str, + "enum": [ + "transport", + "validation", + "internal", + ], + }, + "errors": { + "type": list, + "itemtype": str, + }, + } # type: Dict[str, str] + + _REQUIRED = ("code", "errors") # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + TRANSPORT = "transport" # type: str + VALIDATION = "validation" # type: str + INTERNAL = "internal" # type: str + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, code=None, kind=None, errors=None): + super(Error, self).__init__() + self._parent = parent + self._set_property("code", code) + self._set_property("kind", kind) + self._set_property("errors", errors) + + def set(self, code=None, kind=None, errors=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def code(self): + # type: () -> int + """code getter + + Numeric status code based on underlying transport being used. + + Returns: int + """ + return self._get_property("code") + + @code.setter + def code(self, value): + """code setter + + Numeric status code based on underlying transport being used. + + value: int + """ + if value is None: + raise TypeError("Cannot set required property code as None") + self._set_property("code", value) + + @property + def kind(self): + # type: () -> Union[Literal["internal"], Literal["transport"], Literal["validation"]] + """kind getter + + Kind of error message. + + Returns: Union[Literal["internal"], Literal["transport"], Literal["validation"]] + """ + return self._get_property("kind") + + @kind.setter + def kind(self, value): + """kind setter + + Kind of error message. + + value: Union[Literal["internal"], Literal["transport"], Literal["validation"]] + """ + self._set_property("kind", value) + + @property + def errors(self): + # type: () -> List[str] + """errors getter + + List of error messages generated while serving API request. + + Returns: List[str] + """ + return self._get_property("errors") + + @errors.setter + def errors(self, value): + """errors setter + + List of error messages generated while serving API request. + + value: List[str] + """ + if value is None: + raise TypeError("Cannot set required property errors as None") + self._set_property("errors", value) + + +class UpdateConfig(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "g": {"type": "GObjectIter"}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = { + "self": "UpdateConfig is under_review, the whole schema is being reviewed", + } # type: Dict[str, Union(type)] + + def __init__(self, parent=None): + super(UpdateConfig, self).__init__() + self._parent = parent + + @property + def g(self): + # type: () -> GObjectIter + """g getter + + A list of objects with choice and properties + + Returns: GObjectIter + """ + return self._get_property("g", GObjectIter, self._parent, self._choice) + + +class MetricsRequest(OpenApiObject): + __slots__ = ("_parent", "_choice") + + _TYPES = { + "choice": { + "type": str, + "enum": [ + "port", + "flow", + ], + }, + "port": {"type": str}, + "flow": {"type": str}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = { + "choice": "port", + } # type: Dict[str, Union(type)] + + PORT = "port" # type: str + FLOW = "flow" # type: str + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, choice=None, port=None, flow=None): + super(MetricsRequest, self).__init__() + self._parent = parent + self._set_property("port", port) + self._set_property("flow", flow) + if ( + "choice" in self._DEFAULTS + and choice is None + and self._DEFAULTS["choice"] in self._TYPES + ): + getattr(self, self._DEFAULTS["choice"]) + else: + self._set_property("choice", choice) + + def set(self, port=None, flow=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def choice(self): + # type: () -> Union[Literal["flow"], Literal["port"]] + """choice getter + + TBD + + Returns: Union[Literal["flow"], Literal["port"]] + """ + return self._get_property("choice") + + @choice.setter + def choice(self, value): + """choice setter + + TBD + + value: Union[Literal["flow"], Literal["port"]] + """ + self._set_property("choice", value) + + @property + def port(self): + # type: () -> str + """port getter + + TBD + + Returns: str + """ + return self._get_property("port") + + @port.setter + def port(self, value): + """port setter + + TBD + + value: str + """ + self._set_property("port", value, "port") + + @property + def flow(self): + # type: () -> str + """flow getter + + TBD + + Returns: str + """ + return self._get_property("flow") + + @flow.setter + def flow(self, value): + """flow setter + + TBD + + value: str + """ + self._set_property("flow", value, "flow") + + +class Metrics(OpenApiObject): + __slots__ = ("_parent", "_choice") + + _TYPES = { + "choice": { + "type": str, + "enum": [ + "ports", + "flows", + ], + }, + "ports": {"type": "PortMetricIter"}, + "flows": {"type": "FlowMetricIter"}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = { + "choice": "ports", + } # type: Dict[str, Union(type)] + + PORTS = "ports" # type: str + FLOWS = "flows" # type: str + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, choice=None): + super(Metrics, self).__init__() + self._parent = parent + if ( + "choice" in self._DEFAULTS + and choice is None + and self._DEFAULTS["choice"] in self._TYPES + ): + getattr(self, self._DEFAULTS["choice"]) + else: + self._set_property("choice", choice) + + @property + def choice(self): + # type: () -> Union[Literal["flows"], Literal["ports"]] + """choice getter + + TBD + + Returns: Union[Literal["flows"], Literal["ports"]] + """ + return self._get_property("choice") + + @choice.setter + def choice(self, value): + """choice setter + + TBD + + value: Union[Literal["flows"], Literal["ports"]] + """ + self._set_property("choice", value) + + @property + def ports(self): + # type: () -> PortMetricIter + """ports getter + + TBD + + Returns: PortMetricIter + """ + return self._get_property( + "ports", PortMetricIter, self._parent, self._choice + ) + + @property + def flows(self): + # type: () -> FlowMetricIter + """flows getter + + TBD + + Returns: FlowMetricIter + """ + return self._get_property( + "flows", FlowMetricIter, self._parent, self._choice + ) + + +class PortMetric(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "name": {"type": str}, + "tx_frames": { + "type": float, + "format": "double", + }, + "rx_frames": { + "type": float, + "format": "double", + }, + } # type: Dict[str, str] + + _REQUIRED = ("name", "tx_frames", "rx_frames") # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, name=None, tx_frames=None, rx_frames=None): + super(PortMetric, self).__init__() + self._parent = parent + self._set_property("name", name) + self._set_property("tx_frames", tx_frames) + self._set_property("rx_frames", rx_frames) + + def set(self, name=None, tx_frames=None, rx_frames=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def name(self): + # type: () -> str + """name getter + + TBD + + Returns: str + """ + return self._get_property("name") + + @name.setter + def name(self, value): + """name setter + + TBD + + value: str + """ + if value is None: + raise TypeError("Cannot set required property name as None") + self._set_property("name", value) + + @property + def tx_frames(self): + # type: () -> float + """tx_frames getter + + TBD + + Returns: float + """ + return self._get_property("tx_frames") + + @tx_frames.setter + def tx_frames(self, value): + """tx_frames setter + + TBD + + value: float + """ + if value is None: + raise TypeError("Cannot set required property tx_frames as None") + self._set_property("tx_frames", value) + + @property + def rx_frames(self): + # type: () -> float + """rx_frames getter + + TBD + + Returns: float + """ + return self._get_property("rx_frames") + + @rx_frames.setter + def rx_frames(self, value): + """rx_frames setter + + TBD + + value: float + """ + if value is None: + raise TypeError("Cannot set required property rx_frames as None") + self._set_property("rx_frames", value) + + +class PortMetricIter(OpenApiIter): + __slots__ = ("_parent", "_choice") + + _GETITEM_RETURNS_CHOICE_OBJECT = False + + def __init__(self, parent=None, choice=None): + super(PortMetricIter, self).__init__() + self._parent = parent + self._choice = choice + + def __getitem__(self, key): + # type: (str) -> Union[PortMetric] + return self._getitem(key) + + def __iter__(self): + # type: () -> PortMetricIter + return self._iter() + + def __next__(self): + # type: () -> PortMetric + return self._next() + + def next(self): + # type: () -> PortMetric + return self._next() + + def _instanceOf(self, item): + if not isinstance(item, PortMetric): + raise Exception("Item is not an instance of PortMetric") + + def metric(self, name=None, tx_frames=None, rx_frames=None): + # type: (str,float,float) -> PortMetricIter + """Factory method that creates an instance of the PortMetric class + + TBD + + Returns: PortMetricIter + """ + item = PortMetric( + parent=self._parent, + name=name, + tx_frames=tx_frames, + rx_frames=rx_frames, + ) + self._add(item) + return self + + def add(self, name=None, tx_frames=None, rx_frames=None): + # type: (str,float,float) -> PortMetric + """Add method that creates and returns an instance of the PortMetric class + + TBD + + Returns: PortMetric + """ + item = PortMetric( + parent=self._parent, + name=name, + tx_frames=tx_frames, + rx_frames=rx_frames, + ) + self._add(item) + return item + + +class FlowMetric(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "name": {"type": str}, + "tx_frames": { + "type": float, + "format": "double", + }, + "rx_frames": { + "type": float, + "format": "double", + }, + } # type: Dict[str, str] + + _REQUIRED = ("name", "tx_frames", "rx_frames") # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, name=None, tx_frames=None, rx_frames=None): + super(FlowMetric, self).__init__() + self._parent = parent + self._set_property("name", name) + self._set_property("tx_frames", tx_frames) + self._set_property("rx_frames", rx_frames) + + def set(self, name=None, tx_frames=None, rx_frames=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def name(self): + # type: () -> str + """name getter + + TBD + + Returns: str + """ + return self._get_property("name") + + @name.setter + def name(self, value): + """name setter + + TBD + + value: str + """ + if value is None: + raise TypeError("Cannot set required property name as None") + self._set_property("name", value) + + @property + def tx_frames(self): + # type: () -> float + """tx_frames getter + + TBD + + Returns: float + """ + return self._get_property("tx_frames") + + @tx_frames.setter + def tx_frames(self, value): + """tx_frames setter + + TBD + + value: float + """ + if value is None: + raise TypeError("Cannot set required property tx_frames as None") + self._set_property("tx_frames", value) + + @property + def rx_frames(self): + # type: () -> float + """rx_frames getter + + TBD + + Returns: float + """ + return self._get_property("rx_frames") + + @rx_frames.setter + def rx_frames(self, value): + """rx_frames setter + + TBD + + value: float + """ + if value is None: + raise TypeError("Cannot set required property rx_frames as None") + self._set_property("rx_frames", value) + + +class FlowMetricIter(OpenApiIter): + __slots__ = ("_parent", "_choice") + + _GETITEM_RETURNS_CHOICE_OBJECT = False + + def __init__(self, parent=None, choice=None): + super(FlowMetricIter, self).__init__() + self._parent = parent + self._choice = choice + + def __getitem__(self, key): + # type: (str) -> Union[FlowMetric] + return self._getitem(key) + + def __iter__(self): + # type: () -> FlowMetricIter + return self._iter() + + def __next__(self): + # type: () -> FlowMetric + return self._next() + + def next(self): + # type: () -> FlowMetric + return self._next() + + def _instanceOf(self, item): + if not isinstance(item, FlowMetric): + raise Exception("Item is not an instance of FlowMetric") + + def metric(self, name=None, tx_frames=None, rx_frames=None): + # type: (str,float,float) -> FlowMetricIter + """Factory method that creates an instance of the FlowMetric class + + TBD + + Returns: FlowMetricIter + """ + item = FlowMetric( + parent=self._parent, + name=name, + tx_frames=tx_frames, + rx_frames=rx_frames, + ) + self._add(item) + return self + + def add(self, name=None, tx_frames=None, rx_frames=None): + # type: (str,float,float) -> FlowMetric + """Add method that creates and returns an instance of the FlowMetric class + + TBD + + Returns: FlowMetric + """ + item = FlowMetric( + parent=self._parent, + name=name, + tx_frames=tx_frames, + rx_frames=rx_frames, + ) + self._add(item) + return item + + +class WarningDetails(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "warnings": { + "type": list, + "itemtype": str, + }, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, warnings=None): + super(WarningDetails, self).__init__() + self._parent = parent + self._set_property("warnings", warnings) + + def set(self, warnings=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def warnings(self): + # type: () -> List[str] + """warnings getter + + TBD + + Returns: List[str] + """ + return self._get_property("warnings") + + @warnings.setter + def warnings(self, value): + """warnings setter + + TBD + + value: List[str] + """ + self._set_property("warnings", value) + + +class CommonResponseSuccess(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "message": {"type": str}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, message=None): + super(CommonResponseSuccess, self).__init__() + self._parent = parent + self._set_property("message", message) + + def set(self, message=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def message(self): + # type: () -> str + """message getter + + TBD + + Returns: str + """ + return self._get_property("message") + + @message.setter + def message(self, value): + """message setter + + TBD + + value: str + """ + self._set_property("message", value) + + +class ApiTestInputBody(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "some_string": {"type": str}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, some_string=None): + super(ApiTestInputBody, self).__init__() + self._parent = parent + self._set_property("some_string", some_string) + + def set(self, some_string=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def some_string(self): + # type: () -> str + """some_string getter + + TBD + + Returns: str + """ + return self._get_property("some_string") + + @some_string.setter + def some_string(self, value): + """some_string setter + + TBD + + value: str + """ + self._set_property("some_string", value) + + +class ServiceAbcItemList(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "items": {"type": "ServiceAbcItemIter"}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None): + super(ServiceAbcItemList, self).__init__() + self._parent = parent + + @property + def items(self): + # type: () -> ServiceAbcItemIter + """items getter + + TBD + + Returns: ServiceAbcItemIter + """ + return self._get_property( + "items", ServiceAbcItemIter, self._parent, self._choice + ) + + +class ServiceAbcItem(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "some_id": {"type": str}, + "some_string": {"type": str}, + "path_id": {"type": str}, + "level_2": {"type": str}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__( + self, + parent=None, + some_id=None, + some_string=None, + path_id=None, + level_2=None, + ): + super(ServiceAbcItem, self).__init__() + self._parent = parent + self._set_property("some_id", some_id) + self._set_property("some_string", some_string) + self._set_property("path_id", path_id) + self._set_property("level_2", level_2) + + def set(self, some_id=None, some_string=None, path_id=None, level_2=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def some_id(self): + # type: () -> str + """some_id getter + + TBD + + Returns: str + """ + return self._get_property("some_id") + + @some_id.setter + def some_id(self, value): + """some_id setter + + TBD + + value: str + """ + self._set_property("some_id", value) + + @property + def some_string(self): + # type: () -> str + """some_string getter + + TBD + + Returns: str + """ + return self._get_property("some_string") + + @some_string.setter + def some_string(self, value): + """some_string setter + + TBD + + value: str + """ + self._set_property("some_string", value) + + @property + def path_id(self): + # type: () -> str + """path_id getter + + TBD + + Returns: str + """ + return self._get_property("path_id") + + @path_id.setter + def path_id(self, value): + """path_id setter + + TBD + + value: str + """ + self._set_property("path_id", value) + + @property + def level_2(self): + # type: () -> str + """level_2 getter + + TBD + + Returns: str + """ + return self._get_property("level_2") + + @level_2.setter + def level_2(self, value): + """level_2 setter + + TBD + + value: str + """ + self._set_property("level_2", value) + + +class ServiceAbcItemIter(OpenApiIter): + __slots__ = ("_parent", "_choice") + + _GETITEM_RETURNS_CHOICE_OBJECT = False + + def __init__(self, parent=None, choice=None): + super(ServiceAbcItemIter, self).__init__() + self._parent = parent + self._choice = choice + + def __getitem__(self, key): + # type: (str) -> Union[ServiceAbcItem] + return self._getitem(key) + + def __iter__(self): + # type: () -> ServiceAbcItemIter + return self._iter() + + def __next__(self): + # type: () -> ServiceAbcItem + return self._next() + + def next(self): + # type: () -> ServiceAbcItem + return self._next() + + def _instanceOf(self, item): + if not isinstance(item, ServiceAbcItem): + raise Exception("Item is not an instance of ServiceAbcItem") + + def item(self, some_id=None, some_string=None, path_id=None, level_2=None): + # type: (str,str,str,str) -> ServiceAbcItemIter + """Factory method that creates an instance of the ServiceAbcItem class + + TBD + + Returns: ServiceAbcItemIter + """ + item = ServiceAbcItem( + parent=self._parent, + some_id=some_id, + some_string=some_string, + path_id=path_id, + level_2=level_2, + ) + self._add(item) + return self + + def add(self, some_id=None, some_string=None, path_id=None, level_2=None): + # type: (str,str,str,str) -> ServiceAbcItem + """Add method that creates and returns an instance of the ServiceAbcItem class + + TBD + + Returns: ServiceAbcItem + """ + item = ServiceAbcItem( + parent=self._parent, + some_id=some_id, + some_string=some_string, + path_id=path_id, + level_2=level_2, + ) + self._add(item) + return item + + +class Version(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "api_spec_version": {"type": str}, + "sdk_version": {"type": str}, + "app_version": {"type": str}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = { + "api_spec_version": "", + "sdk_version": "", + "app_version": "", + } # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__( + self, parent=None, api_spec_version="", sdk_version="", app_version="" + ): + super(Version, self).__init__() + self._parent = parent + self._set_property("api_spec_version", api_spec_version) + self._set_property("sdk_version", sdk_version) + self._set_property("app_version", app_version) + + def set(self, api_spec_version=None, sdk_version=None, app_version=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def api_spec_version(self): + # type: () -> str + """api_spec_version getter + + Version of API specification + + Returns: str + """ + return self._get_property("api_spec_version") + + @api_spec_version.setter + def api_spec_version(self, value): + """api_spec_version setter + + Version of API specification + + value: str + """ + self._set_property("api_spec_version", value) + + @property + def sdk_version(self): + # type: () -> str + """sdk_version getter + + Version of SDK generated from API specification + + Returns: str + """ + return self._get_property("sdk_version") + + @sdk_version.setter + def sdk_version(self, value): + """sdk_version setter + + Version of SDK generated from API specification + + value: str + """ + self._set_property("sdk_version", value) + + @property + def app_version(self): + # type: () -> str + """app_version getter + + Version of application consuming or serving the API + + Returns: str + """ + return self._get_property("app_version") + + @app_version.setter + def app_version(self, value): + """app_version setter + + Version of application consuming or serving the API + + value: str + """ + self._set_property("app_version", value) + + +class Api(object): + """OpenApi Abstract API""" + + __warnings__ = [] + + def __init__(self, **kwargs): + self._version_meta = self.version() + self._version_meta.api_spec_version = "0.0.1" + self._version_meta.sdk_version = "" + self._version_check = kwargs.get("version_check") + if self._version_check is None: + self._version_check = False + self._version_check_err = None + + def add_warnings(self, msg): + print("[WARNING]: %s" % msg) + self.__warnings__.append(msg) + + def _deserialize_error(self, err_string): + # type: (str) -> Union[Error, None] + err = self.error() + try: + err.deserialize(err_string) + except Exception: + err = None + return err + + def from_exception(self, error): + # type: (Exception) -> Union[Error, None] + if isinstance(error, Error): + return error + elif isinstance(error, grpc.RpcError): + err = self._deserialize_error(error.details()) + if err is not None: + return err + err = self.error() + err.code = error.code().value[0] + err.errors = [error.details()] + return err + elif isinstance(error, Exception): + if len(error.args) != 1: + return None + if isinstance(error.args[0], Error): + return error.args[0] + elif isinstance(error.args[0], str): + return self._deserialize_error(error.args[0]) + + def set_config(self, payload): + """POST /api/config + + Sets configuration resources. + + Return: None + """ + raise NotImplementedError("set_config") + + def update_configuration(self, payload): + """PATCH /api/config + + Deprecated: please use post instead. Sets configuration resources. + + Return: prefix_config + """ + raise NotImplementedError("update_configuration") + + def get_config(self): + """GET /api/config + + Gets the configuration resources. + + Return: prefix_config + """ + raise NotImplementedError("get_config") + + def get_metrics(self, payload): + """GET /api/metrics + + Gets metrics. + + Return: metrics + """ + raise NotImplementedError("get_metrics") + + def get_warnings(self): + """GET /api/warnings + + Gets warnings. + + Return: warning_details + """ + raise NotImplementedError("get_warnings") + + def clear_warnings(self): + """DELETE /api/warnings + + Clears warnings. + + Return: None + """ + raise NotImplementedError("clear_warnings") + + def getrootresponse(self): + """GET /api/apitest + + simple GET api with single return type + + Return: common_responsesuccess + """ + raise NotImplementedError("getrootresponse") + + def dummyresponsetest(self): + """DELETE /api/apitest + + TBD + + Return: None + """ + raise NotImplementedError("dummyresponsetest") + + def postrootresponse(self, payload): + """POST /api/apitest + + simple POST api with single return type + + Return: common_responsesuccess + """ + raise NotImplementedError("postrootresponse") + + def getallitems(self): + """GET /api/serviceb + + return list of some items + + Return: serviceabc_itemlist + """ + raise NotImplementedError("getallitems") + + def getsingleitem(self): + """GET /api/serviceb/{item_id} + + return single item + + Return: serviceabc_item + """ + raise NotImplementedError("getsingleitem") + + def getsingleitemlevel2(self): + """GET /api/serviceb/{item_id}/{level_2} + + return single item + + Return: serviceabc_item + """ + raise NotImplementedError("getsingleitemlevel2") + + def get_version(self): + """GET /api/capabilities/version + + TBD + + Return: version + """ + raise NotImplementedError("get_version") + + def prefix_config(self): + """Factory method that creates an instance of PrefixConfig + + Return: PrefixConfig + """ + return PrefixConfig() + + def error(self): + """Factory method that creates an instance of Error + + Return: Error + """ + return Error() + + def update_config(self): + """Factory method that creates an instance of UpdateConfig + + Return: UpdateConfig + """ + return UpdateConfig() + + def metrics_request(self): + """Factory method that creates an instance of MetricsRequest + + Return: MetricsRequest + """ + return MetricsRequest() + + def metrics(self): + """Factory method that creates an instance of Metrics + + Return: Metrics + """ + return Metrics() + + def warning_details(self): + """Factory method that creates an instance of WarningDetails + + Return: WarningDetails + """ + return WarningDetails() + + def common_responsesuccess(self): + """Factory method that creates an instance of CommonResponseSuccess + + Return: CommonResponseSuccess + """ + return CommonResponseSuccess() + + def apitest_inputbody(self): + """Factory method that creates an instance of ApiTestInputBody + + Return: ApiTestInputBody + """ + return ApiTestInputBody() + + def serviceabc_itemlist(self): + """Factory method that creates an instance of ServiceAbcItemList + + Return: ServiceAbcItemList + """ + return ServiceAbcItemList() + + def serviceabc_item(self): + """Factory method that creates an instance of ServiceAbcItem + + Return: ServiceAbcItem + """ + return ServiceAbcItem() + + def version(self): + """Factory method that creates an instance of Version + + Return: Version + """ + return Version() + + def close(self): + pass + + def _check_client_server_version_compatibility( + self, client_ver, server_ver, component_name + ): + try: + c = semantic_version.Version(client_ver) + except Exception as e: + raise AssertionError( + "Client {} version '{}' is not a valid semver: {}".format( + component_name, client_ver, e + ) + ) + + try: + s = semantic_version.SimpleSpec(server_ver) + except Exception as e: + raise AssertionError( + "Server {} version '{}' is not a valid semver: {}".format( + component_name, server_ver, e + ) + ) + + err = "Client {} version '{}' is not semver compatible with Server {} version '{}'".format( + component_name, client_ver, component_name, server_ver + ) + + if not s.match(c): + raise Exception(err) + + def get_local_version(self): + return self._version_meta + + def get_remote_version(self): + return self.get_version() + + def check_version_compatibility(self): + comp_err, api_err = self._do_version_check() + if comp_err is not None: + raise comp_err + if api_err is not None: + raise api_err + + def _do_version_check(self): + local = self.get_local_version() + try: + remote = self.get_remote_version() + except Exception as e: + return None, e + + try: + self._check_client_server_version_compatibility( + local.api_spec_version, remote.api_spec_version, "API spec" + ) + except Exception as e: + msg = "client SDK version '{}' is not compatible with server SDK version '{}'".format( + local.sdk_version, remote.sdk_version + ) + return Exception("{}: {}".format(msg, str(e))), None + + return None, None + + def _do_version_check_once(self): + if not self._version_check: + return + + if self._version_check_err is not None: + raise self._version_check_err + + comp_err, api_err = self._do_version_check() + if comp_err is not None: + self._version_check_err = comp_err + raise comp_err + if api_err is not None: + self._version_check_err = None + raise api_err + + self._version_check = False + self._version_check_err = None + + +class HttpApi(Api): + """OpenAPI HTTP Api""" + + def __init__(self, **kwargs): + super(HttpApi, self).__init__(**kwargs) + self._transport = HttpTransport(**kwargs) + + @property + def verify(self): + return self._transport.verify + + @verify.setter + def verify(self, value): + self._transport.set_verify(value) + + def set_config(self, payload): + """POST /api/config + + Sets configuration resources. + + Return: None + """ + self._do_version_check_once() + return self._transport.send_recv( + "post", + "/api/config", + payload=payload, + return_object=None, + request_class=PrefixConfig, + ) + + def update_configuration(self, payload): + """PATCH /api/config + + Deprecated: please use post instead. Sets configuration resources. + + Return: prefix_config + """ + self.add_warnings( + "update_configuration api is deprecated, please use post instead" + ) + self._do_version_check_once() + return self._transport.send_recv( + "patch", + "/api/config", + payload=payload, + return_object=self.prefix_config(), + request_class=UpdateConfig, + ) + + def get_config(self): + """GET /api/config + + Gets the configuration resources. + + Return: prefix_config + """ + self._do_version_check_once() + return self._transport.send_recv( + "get", + "/api/config", + payload=None, + return_object=self.prefix_config(), + ) + + def get_metrics(self, payload): + """GET /api/metrics + + Gets metrics. + + Return: metrics + """ + self._do_version_check_once() + return self._transport.send_recv( + "get", + "/api/metrics", + payload=payload, + return_object=self.metrics(), + request_class=MetricsRequest, + ) + + def get_warnings(self): + """GET /api/warnings + + Gets warnings. + + Return: warning_details + """ + self._do_version_check_once() + return self._transport.send_recv( + "get", + "/api/warnings", + payload=None, + return_object=self.warning_details(), + ) + + def clear_warnings(self): + """DELETE /api/warnings + + Clears warnings. + + Return: None + """ + self._do_version_check_once() + return self._transport.send_recv( + "delete", + "/api/warnings", + payload=None, + return_object=None, + ) + + def getrootresponse(self): + """GET /api/apitest + + simple GET api with single return type + + Return: common_responsesuccess + """ + self._do_version_check_once() + return self._transport.send_recv( + "get", + "/api/apitest", + payload=None, + return_object=self.common_responsesuccess(), + ) + + def dummyresponsetest(self): + """DELETE /api/apitest + + TBD + + Return: None + """ + self._do_version_check_once() + return self._transport.send_recv( + "delete", + "/api/apitest", + payload=None, + return_object=None, + ) + + def postrootresponse(self, payload): + """POST /api/apitest + + simple POST api with single return type + + Return: common_responsesuccess + """ + self._do_version_check_once() + return self._transport.send_recv( + "post", + "/api/apitest", + payload=payload, + return_object=self.common_responsesuccess(), + request_class=ApiTestInputBody, + ) + + def getallitems(self): + """GET /api/serviceb + + return list of some items + + Return: serviceabc_itemlist + """ + self._do_version_check_once() + return self._transport.send_recv( + "get", + "/api/serviceb", + payload=None, + return_object=self.serviceabc_itemlist(), + ) + + def getsingleitem(self): + """GET /api/serviceb/{item_id} + + return single item + + Return: serviceabc_item + """ + self._do_version_check_once() + return self._transport.send_recv( + "get", + "/api/serviceb/{item_id}", + payload=None, + return_object=self.serviceabc_item(), + ) + + def getsingleitemlevel2(self): + """GET /api/serviceb/{item_id}/{level_2} + + return single item + + Return: serviceabc_item + """ + self._do_version_check_once() + return self._transport.send_recv( + "get", + "/api/serviceb/{item_id}/{level_2}", + payload=None, + return_object=self.serviceabc_item(), + ) + + def get_version(self): + """GET /api/capabilities/version + + TBD + + Return: version + """ + return self._transport.send_recv( + "get", + "/api/capabilities/version", + payload=None, + return_object=self.version(), + ) + + +class GrpcApi(Api): + # OpenAPI gRPC Api + def __init__(self, **kwargs): + super(GrpcApi, self).__init__(**kwargs) + self._stub = None + self._channel = None + self._request_timeout = 10 + self._keep_alive_timeout = 10 * 1000 + self._location = ( + kwargs["location"] + if "location" in kwargs and kwargs["location"] is not None + else "localhost:50051" + ) + self._transport = ( + kwargs["transport"] if "transport" in kwargs else None + ) + self._logger = kwargs["logger"] if "logger" in kwargs else None + self._loglevel = ( + kwargs["loglevel"] if "loglevel" in kwargs else logging.DEBUG + ) + if self._logger is None: + stdout_handler = logging.StreamHandler(sys.stdout) + formatter = logging.Formatter( + fmt="%(asctime)s [%(name)s] [%(levelname)s] %(message)s", + datefmt="%Y-%m-%d %H:%M:%S", + ) + formatter.converter = time.gmtime + stdout_handler.setFormatter(formatter) + self._logger = logging.Logger( + self.__module__, level=self._loglevel + ) + self._logger.addHandler(stdout_handler) + self._logger.debug( + "gRPCTransport args: {}".format( + ", ".join(["{}={!r}".format(k, v) for k, v in kwargs.items()]) + ) + ) + + def _get_stub(self): + if self._stub is None: + CHANNEL_OPTIONS = [ + ("grpc.enable_retries", 0), + ("grpc.keepalive_timeout_ms", self._keep_alive_timeout), + ] + self._channel = grpc.insecure_channel( + self._location, options=CHANNEL_OPTIONS + ) + self._stub = pb2_grpc.OpenapiStub(self._channel) + return self._stub + + def _serialize_payload(self, payload): + if not isinstance(payload, (str, dict, OpenApiBase)): + raise Exception( + "We are supporting [str, dict, OpenApiBase] object" + ) + if isinstance(payload, OpenApiBase): + payload = payload.serialize() + if isinstance(payload, dict): + payload = json.dumps(payload) + elif isinstance(payload, (str, unicode)): + payload = json.dumps(yaml.safe_load(payload)) + return payload + + def _raise_exception(self, grpc_error): + err = self.error() + try: + err.deserialize(grpc_error.details()) + except Exception as _: + err.code = grpc_error.code().value[0] + err.errors = [grpc_error.details()] + raise Exception(err) + + @property + def request_timeout(self): + """duration of time in seconds to allow for the RPC.""" + return self._request_timeout + + @request_timeout.setter + def request_timeout(self, timeout): + self._request_timeout = timeout + + @property + def keep_alive_timeout(self): + return self._keep_alive_timeout + + @keep_alive_timeout.setter + def keep_alive_timeout(self, timeout): + self._keep_alive_timeout = timeout * 1000 + + def close(self): + if self._channel is not None: + self._channel.close() + self._channel = None + self._stub = None + + def set_config(self, payload): + pb_obj = json_format.Parse( + self._serialize_payload(payload), pb2.PrefixConfig() + ) + self._do_version_check_once() + req_obj = pb2.SetConfigRequest(prefix_config=pb_obj) + stub = self._get_stub() + try: + res_obj = stub.SetConfig(req_obj, timeout=self._request_timeout) + except grpc.RpcError as grpc_error: + self._raise_exception(grpc_error) + response = json_format.MessageToDict( + res_obj, preserving_proto_field_name=True + ) + bytes = response.get("response_bytes") + if bytes is not None: + return io.BytesIO(res_obj.response_bytes) + + def update_configuration(self, payload): + self.add_warnings( + "update_configuration api is deprecated, please use post instead" + ) + pb_obj = json_format.Parse( + self._serialize_payload(payload), pb2.UpdateConfig() + ) + self._do_version_check_once() + req_obj = pb2.UpdateConfigurationRequest(update_config=pb_obj) + stub = self._get_stub() + try: + res_obj = stub.UpdateConfiguration( + req_obj, timeout=self._request_timeout + ) + except grpc.RpcError as grpc_error: + self._raise_exception(grpc_error) + response = json_format.MessageToDict( + res_obj, preserving_proto_field_name=True + ) + result = response.get("prefix_config") + if result is not None: + return self.prefix_config().deserialize(result) + + def get_config(self): + stub = self._get_stub() + empty = pb2_grpc.google_dot_protobuf_dot_empty__pb2.Empty() + res_obj = stub.GetConfig(empty, timeout=self._request_timeout) + response = json_format.MessageToDict( + res_obj, preserving_proto_field_name=True + ) + result = response.get("prefix_config") + if result is not None: + return self.prefix_config().deserialize(result) + + def get_metrics(self, payload): + pb_obj = json_format.Parse( + self._serialize_payload(payload), pb2.MetricsRequest() + ) + self._do_version_check_once() + req_obj = pb2.GetMetricsRequest(metrics_request=pb_obj) + stub = self._get_stub() + try: + res_obj = stub.GetMetrics(req_obj, timeout=self._request_timeout) + except grpc.RpcError as grpc_error: + self._raise_exception(grpc_error) + response = json_format.MessageToDict( + res_obj, preserving_proto_field_name=True + ) + result = response.get("metrics") + if result is not None: + return self.metrics().deserialize(result) + + def get_warnings(self): + stub = self._get_stub() + empty = pb2_grpc.google_dot_protobuf_dot_empty__pb2.Empty() + res_obj = stub.GetWarnings(empty, timeout=self._request_timeout) + response = json_format.MessageToDict( + res_obj, preserving_proto_field_name=True + ) + result = response.get("warning_details") + if result is not None: + return self.warning_details().deserialize(result) + + def clear_warnings(self): + stub = self._get_stub() + empty = pb2_grpc.google_dot_protobuf_dot_empty__pb2.Empty() + res_obj = stub.ClearWarnings(empty, timeout=self._request_timeout) + response = json_format.MessageToDict( + res_obj, preserving_proto_field_name=True + ) + resp_str = response.get("string") + if resp_str is not None: + return response.get("string") + + def getrootresponse(self): + stub = self._get_stub() + empty = pb2_grpc.google_dot_protobuf_dot_empty__pb2.Empty() + res_obj = stub.GetRootResponse(empty, timeout=self._request_timeout) + response = json_format.MessageToDict( + res_obj, preserving_proto_field_name=True + ) + result = response.get("common_response_success") + if result is not None: + return self.common_responsesuccess().deserialize(result) + + def dummyresponsetest(self): + stub = self._get_stub() + empty = pb2_grpc.google_dot_protobuf_dot_empty__pb2.Empty() + res_obj = stub.DummyResponseTest(empty, timeout=self._request_timeout) + response = json_format.MessageToDict( + res_obj, preserving_proto_field_name=True + ) + resp_str = response.get("string") + if resp_str is not None: + return response.get("string") + + def postrootresponse(self, payload): + pb_obj = json_format.Parse( + self._serialize_payload(payload), pb2.ApiTestInputBody() + ) + self._do_version_check_once() + req_obj = pb2.PostRootResponseRequest(apitest_inputbody=pb_obj) + stub = self._get_stub() + try: + res_obj = stub.PostRootResponse( + req_obj, timeout=self._request_timeout + ) + except grpc.RpcError as grpc_error: + self._raise_exception(grpc_error) + response = json_format.MessageToDict( + res_obj, preserving_proto_field_name=True + ) + result = response.get("common_response_success") + if result is not None: + return self.common_responsesuccess().deserialize(result) + + def getallitems(self): + stub = self._get_stub() + empty = pb2_grpc.google_dot_protobuf_dot_empty__pb2.Empty() + res_obj = stub.GetAllItems(empty, timeout=self._request_timeout) + response = json_format.MessageToDict( + res_obj, preserving_proto_field_name=True + ) + result = response.get("service_abc_item_list") + if result is not None: + return self.serviceabc_itemlist().deserialize(result) + + def getsingleitem(self): + stub = self._get_stub() + empty = pb2_grpc.google_dot_protobuf_dot_empty__pb2.Empty() + res_obj = stub.GetSingleItem(empty, timeout=self._request_timeout) + response = json_format.MessageToDict( + res_obj, preserving_proto_field_name=True + ) + result = response.get("service_abc_item") + if result is not None: + return self.serviceabc_item().deserialize(result) + + def getsingleitemlevel2(self): + stub = self._get_stub() + empty = pb2_grpc.google_dot_protobuf_dot_empty__pb2.Empty() + res_obj = stub.GetSingleItemLevel2( + empty, timeout=self._request_timeout + ) + response = json_format.MessageToDict( + res_obj, preserving_proto_field_name=True + ) + result = response.get("service_abc_item") + if result is not None: + return self.serviceabc_item().deserialize(result) + + def get_version(self): + stub = self._get_stub() + empty = pb2_grpc.google_dot_protobuf_dot_empty__pb2.Empty() + res_obj = stub.GetVersion(empty, timeout=self._request_timeout) + response = json_format.MessageToDict( + res_obj, preserving_proto_field_name=True + ) + result = response.get("version") + if result is not None: + return self.version().deserialize(result) diff --git a/artifacts/sanity/sanity_pb2.py b/artifacts/sanity/sanity_pb2.py new file mode 100644 index 00000000..c69144cf --- /dev/null +++ b/artifacts/sanity/sanity_pb2.py @@ -0,0 +1,250 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: sanity.proto +"""Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0csanity.proto\x12\x06sanity\x1a google/protobuf/descriptor.proto\x1a\x1bgoogle/protobuf/empty.proto\"\x1e\n\x0c\x45rrorDetails\x12\x0e\n\x06\x65rrors\x18\x01 \x03(\t\"\"\n\x0eWarningDetails\x12\x10\n\x08warnings\x18\x01 \x03(\t\"\xa8\x01\n\x05\x45rror\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12*\n\x04kind\x18\x02 \x01(\x0e\x32\x17.sanity.Error.Kind.EnumH\x00\x88\x01\x01\x12\x0e\n\x06\x65rrors\x18\x03 \x03(\t\x1aL\n\x04Kind\"D\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\r\n\ttransport\x10\x01\x12\x0e\n\nvalidation\x10\x02\x12\x0c\n\x08internal\x10\x03\x42\x07\n\x05_kind\"\x83\x13\n\x0cPrefixConfig\x12(\n\x0frequired_object\x18\x01 \x01(\x0b\x32\x0f.sanity.EObject\x12-\n\x0foptional_object\x18\x02 \x01(\x0b\x32\x0f.sanity.EObjectH\x00\x88\x01\x01\x12\x1a\n\rieee_802_1qbb\x18\x03 \x01(\x08H\x01\x88\x01\x01\x12\x14\n\x07space_1\x18\x04 \x01(\x05H\x02\x88\x01\x01\x12\x1f\n\x12\x66ull_duplex_100_mb\x18\x05 \x01(\x03H\x03\x88\x01\x01\x12\x39\n\x08response\x18\x06 \x01(\x0e\x32\".sanity.PrefixConfig.Response.EnumH\x04\x88\x01\x01\x12\t\n\x01\x61\x18\x07 \x01(\t\x12\t\n\x01\x62\x18\x08 \x01(\x02\x12\t\n\x01\x63\x18\t \x01(\x05\x12\x33\n\x08\x64_values\x18\n \x03(\x0e\x32!.sanity.PrefixConfig.DValues.Enum\x12\x1f\n\x01\x65\x18\x0b \x01(\x0b\x32\x0f.sanity.EObjectH\x05\x88\x01\x01\x12\x1f\n\x01\x66\x18\x0c \x01(\x0b\x32\x0f.sanity.FObjectH\x06\x88\x01\x01\x12\x1a\n\x01g\x18\r \x03(\x0b\x32\x0f.sanity.GObject\x12\x0e\n\x01h\x18\x0e \x01(\x08H\x07\x88\x01\x01\x12\x0e\n\x01i\x18\x0f \x01(\x0cH\x08\x88\x01\x01\x12\x1a\n\x01j\x18\x10 \x03(\x0b\x32\x0f.sanity.JObject\x12\x1f\n\x01k\x18\x11 \x01(\x0b\x32\x0f.sanity.KObjectH\t\x88\x01\x01\x12\x1f\n\x01l\x18\x12 \x01(\x0b\x32\x0f.sanity.LObjectH\n\x88\x01\x01\x12\x1d\n\x15list_of_string_values\x18\x13 \x03(\t\x12\x1e\n\x16list_of_integer_values\x18\x14 \x03(\x05\x12$\n\x05level\x18\x15 \x01(\x0b\x32\x10.sanity.LevelOneH\x0b\x88\x01\x01\x12\'\n\tmandatory\x18\x16 \x01(\x0b\x32\x0f.sanity.MandateH\x0c\x88\x01\x01\x12.\n\x0cipv4_pattern\x18\x17 \x01(\x0b\x32\x13.sanity.Ipv4PatternH\r\x88\x01\x01\x12.\n\x0cipv6_pattern\x18\x18 \x01(\x0b\x32\x13.sanity.Ipv6PatternH\x0e\x88\x01\x01\x12,\n\x0bmac_pattern\x18\x19 \x01(\x0b\x32\x12.sanity.MacPatternH\x0f\x88\x01\x01\x12\x34\n\x0finteger_pattern\x18\x1a \x01(\x0b\x32\x16.sanity.IntegerPatternH\x10\x88\x01\x01\x12\x36\n\x10\x63hecksum_pattern\x18\x1b \x01(\x0b\x32\x17.sanity.ChecksumPatternH\x11\x88\x01\x01\x12)\n\x04\x63\x61se\x18\x1c \x01(\x0b\x32\x16.sanity.Layer1Ieee802xH\x12\x88\x01\x01\x12&\n\x08m_object\x18\x1d \x01(\x0b\x32\x0f.sanity.MObjectH\x13\x88\x01\x01\x12\x16\n\tinteger64\x18\x1e \x01(\x03H\x14\x88\x01\x01\x12\x16\n\x0einteger64_list\x18\x1f \x03(\x03\x12G\n\x0fheader_checksum\x18 \x01(\x0b\x32).sanity.PatternPrefixConfigHeaderChecksumH\x15\x88\x01\x01\x12\x14\n\x07str_len\x18! \x01(\tH\x16\x88\x01\x01\x12\x11\n\thex_slice\x18\" \x03(\t\x12\x46\n\x0f\x61uto_field_test\x18# \x01(\x0b\x32(.sanity.PatternPrefixConfigAutoFieldTestH\x17\x88\x01\x01\x12\x11\n\x04name\x18$ \x01(\tH\x18\x88\x01\x01\x12\x1f\n\x06w_list\x18% \x03(\x0b\x32\x0f.sanity.WObject\x12\x1f\n\x06x_list\x18& \x03(\x0b\x32\x0f.sanity.ZObject\x12&\n\x08z_object\x18\' \x01(\x0b\x32\x0f.sanity.ZObjectH\x19\x88\x01\x01\x12&\n\x08y_object\x18( \x01(\x0b\x32\x0f.sanity.YObjectH\x1a\x88\x01\x01\x12+\n\rchoice_object\x18) \x03(\x0b\x32\x14.sanity.ChoiceObject\x12\x41\n\x16required_choice_object\x18* \x01(\x0b\x32\x1c.sanity.RequiredChoiceParentH\x1b\x88\x01\x01\x12\x1b\n\x02g1\x18+ \x03(\x0b\x32\x0f.sanity.GObject\x12\x1b\n\x02g2\x18, \x03(\x0b\x32\x0f.sanity.GObject\x12\x18\n\x0bint32_param\x18- \x01(\x05H\x1c\x88\x01\x01\x12\x18\n\x10int32_list_param\x18. \x03(\x05\x12\x19\n\x0cuint32_param\x18/ \x01(\rH\x1d\x88\x01\x01\x12\x19\n\x11uint32_list_param\x18\x30 \x03(\r\x12\x19\n\x0cuint64_param\x18\x31 \x01(\x04H\x1e\x88\x01\x01\x12\x19\n\x11uint64_list_param\x18\x32 \x03(\x04\x12\x1d\n\x10\x61uto_int32_param\x18\x33 \x01(\x05H\x1f\x88\x01\x01\x12\x1d\n\x15\x61uto_int32_list_param\x18\x34 \x03(\x05\x1a\x63\n\x08Response\"W\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x0e\n\nstatus_200\x10\x01\x12\x0e\n\nstatus_400\x10\x02\x12\x0e\n\nstatus_404\x10\x03\x12\x0e\n\nstatus_500\x10\x04\x1a\x37\n\x07\x44Values\",\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x05\n\x01\x61\x10\x01\x12\x05\n\x01\x62\x10\x02\x12\x05\n\x01\x63\x10\x03\x42\x12\n\x10_optional_objectB\x10\n\x0e_ieee_802_1qbbB\n\n\x08_space_1B\x15\n\x13_full_duplex_100_mbB\x0b\n\t_responseB\x04\n\x02_eB\x04\n\x02_fB\x04\n\x02_hB\x04\n\x02_iB\x04\n\x02_kB\x04\n\x02_lB\x08\n\x06_levelB\x0c\n\n_mandatoryB\x0f\n\r_ipv4_patternB\x0f\n\r_ipv6_patternB\x0e\n\x0c_mac_patternB\x12\n\x10_integer_patternB\x13\n\x11_checksum_patternB\x07\n\x05_caseB\x0b\n\t_m_objectB\x0c\n\n_integer64B\x12\n\x10_header_checksumB\n\n\x08_str_lenB\x12\n\x10_auto_field_testB\x07\n\x05_nameB\x0b\n\t_z_objectB\x0b\n\t_y_objectB\x19\n\x17_required_choice_objectB\x0e\n\x0c_int32_paramB\x0f\n\r_uint32_paramB\x0f\n\r_uint64_paramB\x13\n\x11_auto_int32_param\"\x19\n\x07WObject\x12\x0e\n\x06w_name\x18\x01 \x01(\t\"\x17\n\x07ZObject\x12\x0c\n\x04name\x18\x01 \x01(\t\")\n\x07YObject\x12\x13\n\x06y_name\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_y_name\"<\n\x0eLayer1Ieee802x\x12\x19\n\x0c\x66low_control\x18\x01 \x01(\x08H\x00\x88\x01\x01\x42\x0f\n\r_flow_control\"\x80\x03\n\x07GObject\x12\x10\n\x03g_a\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x10\n\x03g_b\x18\x02 \x01(\x05H\x01\x88\x01\x01\x12\x10\n\x03g_c\x18\x03 \x01(\x02H\x02\x88\x01\x01\x12\x30\n\x06\x63hoice\x18\x04 \x01(\x0e\x32\x1b.sanity.GObject.Choice.EnumH\x03\x88\x01\x01\x12\x10\n\x03g_d\x18\x05 \x01(\tH\x04\x88\x01\x01\x12\x10\n\x03g_e\x18\x06 \x01(\x01H\x05\x88\x01\x01\x12)\n\x03g_f\x18\x07 \x01(\x0e\x32\x17.sanity.GObject.GF.EnumH\x06\x88\x01\x01\x12\x11\n\x04name\x18\x08 \x01(\tH\x07\x88\x01\x01\x1a\x33\n\x06\x43hoice\")\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x07\n\x03g_d\x10\x01\x12\x07\n\x03g_e\x10\x02\x1a\x32\n\x02GF\",\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x05\n\x01\x61\x10\x01\x12\x05\n\x01\x62\x10\x02\x12\x05\n\x01\x63\x10\x03\x42\x06\n\x04_g_aB\x06\n\x04_g_bB\x06\n\x04_g_cB\t\n\x07_choiceB\x06\n\x04_g_dB\x06\n\x04_g_eB\x06\n\x04_g_fB\x07\n\x05_name\"\x87\x01\n\x07\x45Object\x12\x0b\n\x03\x65_a\x18\x01 \x01(\x02\x12\x0b\n\x03\x65_b\x18\x02 \x01(\x01\x12\x11\n\x04name\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x15\n\x08m_param1\x18\x04 \x01(\tH\x01\x88\x01\x01\x12\x15\n\x08m_param2\x18\x05 \x01(\tH\x02\x88\x01\x01\x42\x07\n\x05_nameB\x0b\n\t_m_param1B\x0b\n\t_m_param2\"\xb8\x01\n\x07\x46Object\x12\x30\n\x06\x63hoice\x18\x01 \x01(\x0e\x32\x1b.sanity.FObject.Choice.EnumH\x00\x88\x01\x01\x12\x10\n\x03\x66_a\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x10\n\x03\x66_b\x18\x03 \x01(\x01H\x02\x88\x01\x01\x1a<\n\x06\x43hoice\"2\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x07\n\x03\x66_a\x10\x01\x12\x07\n\x03\x66_b\x10\x02\x12\x07\n\x03\x66_c\x10\x03\x42\t\n\x07_choiceB\x06\n\x04_f_aB\x06\n\x04_f_b\"\xd1\x01\n\x07JObject\x12\x30\n\x06\x63hoice\x18\x01 \x01(\x0e\x32\x1b.sanity.JObject.Choice.EnumH\x00\x88\x01\x01\x12!\n\x03j_a\x18\x02 \x01(\x0b\x32\x0f.sanity.EObjectH\x01\x88\x01\x01\x12!\n\x03j_b\x18\x03 \x01(\x0b\x32\x0f.sanity.FObjectH\x02\x88\x01\x01\x1a\x33\n\x06\x43hoice\")\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x07\n\x03j_a\x10\x01\x12\x07\n\x03j_b\x10\x02\x42\t\n\x07_choiceB\x06\n\x04_j_aB\x06\n\x04_j_b\"\xf3\x01\n\x0c\x43hoiceObject\x12\x35\n\x06\x63hoice\x18\x01 \x01(\x0e\x32 .sanity.ChoiceObject.Choice.EnumH\x00\x88\x01\x01\x12#\n\x05\x65_obj\x18\x02 \x01(\x0b\x32\x0f.sanity.EObjectH\x01\x88\x01\x01\x12#\n\x05\x66_obj\x18\x03 \x01(\x0b\x32\x0f.sanity.FObjectH\x02\x88\x01\x01\x1a\x43\n\x06\x43hoice\"9\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\t\n\x05\x65_obj\x10\x01\x12\t\n\x05\x66_obj\x10\x02\x12\n\n\x06no_obj\x10\x03\x42\t\n\x07_choiceB\x08\n\x06_e_objB\x08\n\x06_f_obj\"s\n\x07KObject\x12&\n\x08\x65_object\x18\x01 \x01(\x0b\x32\x0f.sanity.EObjectH\x00\x88\x01\x01\x12&\n\x08\x66_object\x18\x02 \x01(\x0b\x32\x0f.sanity.FObjectH\x01\x88\x01\x01\x42\x0b\n\t_e_objectB\x0b\n\t_f_object\"\x81\x02\n\x07LObject\x12\x19\n\x0cstring_param\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x07integer\x18\x02 \x01(\x05H\x01\x88\x01\x01\x12\x12\n\x05\x66loat\x18\x03 \x01(\x02H\x02\x88\x01\x01\x12\x13\n\x06\x64ouble\x18\x04 \x01(\x01H\x03\x88\x01\x01\x12\x10\n\x03mac\x18\x05 \x01(\tH\x04\x88\x01\x01\x12\x11\n\x04ipv4\x18\x06 \x01(\tH\x05\x88\x01\x01\x12\x11\n\x04ipv6\x18\x07 \x01(\tH\x06\x88\x01\x01\x12\x10\n\x03hex\x18\x08 \x01(\tH\x07\x88\x01\x01\x42\x0f\n\r_string_paramB\n\n\x08_integerB\x08\n\x06_floatB\t\n\x07_doubleB\x06\n\x04_macB\x07\n\x05_ipv4B\x07\n\x05_ipv6B\x06\n\x04_hex\"\x85\x01\n\x07MObject\x12\x14\n\x0cstring_param\x18\x01 \x01(\t\x12\x0f\n\x07integer\x18\x02 \x01(\x05\x12\r\n\x05\x66loat\x18\x03 \x01(\x02\x12\x0e\n\x06\x64ouble\x18\x04 \x01(\x01\x12\x0b\n\x03mac\x18\x05 \x01(\t\x12\x0c\n\x04ipv4\x18\x06 \x01(\t\x12\x0c\n\x04ipv6\x18\x07 \x01(\t\x12\x0b\n\x03hex\x18\x08 \x01(\t\"!\n\x07Mandate\x12\x16\n\x0erequired_param\x18\x01 \x01(\t\"*\n\x0cUpdateConfig\x12\x1a\n\x01g\x18\x01 \x03(\x0b\x32\x0f.sanity.GObject\"\xc3\x01\n\x0eMetricsRequest\x12\x37\n\x06\x63hoice\x18\x01 \x01(\x0e\x32\".sanity.MetricsRequest.Choice.EnumH\x00\x88\x01\x01\x12\x11\n\x04port\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04\x66low\x18\x03 \x01(\tH\x02\x88\x01\x01\x1a\x35\n\x06\x43hoice\"+\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x08\n\x04port\x10\x01\x12\x08\n\x04\x66low\x10\x02\x42\t\n\x07_choiceB\x07\n\x05_portB\x07\n\x05_flow\"\xc5\x01\n\x07Metrics\x12\x30\n\x06\x63hoice\x18\x01 \x01(\x0e\x32\x1b.sanity.Metrics.Choice.EnumH\x00\x88\x01\x01\x12!\n\x05ports\x18\x02 \x03(\x0b\x32\x12.sanity.PortMetric\x12!\n\x05\x66lows\x18\x03 \x03(\x0b\x32\x12.sanity.FlowMetric\x1a\x37\n\x06\x43hoice\"-\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\t\n\x05ports\x10\x01\x12\t\n\x05\x66lows\x10\x02\x42\t\n\x07_choice\"@\n\nPortMetric\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\ttx_frames\x18\x02 \x01(\x01\x12\x11\n\trx_frames\x18\x03 \x01(\x01\"@\n\nFlowMetric\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\ttx_frames\x18\x02 \x01(\x01\x12\x11\n\trx_frames\x18\x03 \x01(\x01\"\xed\x01\n\x14RequiredChoiceParent\x12\x38\n\x06\x63hoice\x18\x01 \x01(\x0e\x32(.sanity.RequiredChoiceParent.Choice.Enum\x12\x41\n\x10intermediate_obj\x18\x02 \x01(\x0b\x32\".sanity.RequiredChoiceIntermediateH\x00\x88\x01\x01\x1a\x43\n\x06\x43hoice\"9\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x14\n\x10intermediate_obj\x10\x01\x12\n\n\x06no_obj\x10\x02\x42\x13\n\x11_intermediate_obj\"\xeb\x01\n\x1aRequiredChoiceIntermediate\x12>\n\x06\x63hoice\x18\x01 \x01(\x0e\x32..sanity.RequiredChoiceIntermediate.Choice.Enum\x12\x10\n\x03\x66_a\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x34\n\x04leaf\x18\x03 \x01(\x0b\x32!.sanity.RequiredChoiceIntermeLeafH\x01\x88\x01\x01\x1a\x34\n\x06\x43hoice\"*\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x07\n\x03\x66_a\x10\x01\x12\x08\n\x04leaf\x10\x02\x42\x06\n\x04_f_aB\x07\n\x05_leaf\"7\n\x19RequiredChoiceIntermeLeaf\x12\x11\n\x04name\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x07\n\x05_name\"k\n\x08LevelOne\x12$\n\x05l1_p1\x18\x01 \x01(\x0b\x32\x10.sanity.LevelTwoH\x00\x88\x01\x01\x12%\n\x05l1_p2\x18\x02 \x01(\x0b\x32\x11.sanity.LevelFourH\x01\x88\x01\x01\x42\x08\n\x06_l1_p1B\x08\n\x06_l1_p2\"<\n\x08LevelTwo\x12&\n\x05l2_p1\x18\x01 \x01(\x0b\x32\x12.sanity.LevelThreeH\x00\x88\x01\x01\x42\x08\n\x06_l2_p1\"*\n\nLevelThree\x12\x12\n\x05l3_p1\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_l3_p1\";\n\tLevelFour\x12$\n\x05l4_p1\x18\x01 \x01(\x0b\x32\x10.sanity.LevelOneH\x00\x88\x01\x01\x42\x08\n\x06_l4_p1\"I\n\x0bIpv4Pattern\x12\x31\n\x04ipv4\x18\x01 \x01(\x0b\x32\x1e.sanity.PatternIpv4PatternIpv4H\x00\x88\x01\x01\x42\x07\n\x05_ipv4\"I\n\x0bIpv6Pattern\x12\x31\n\x04ipv6\x18\x01 \x01(\x0b\x32\x1e.sanity.PatternIpv6PatternIpv6H\x00\x88\x01\x01\x42\x07\n\x05_ipv6\"D\n\nMacPattern\x12.\n\x03mac\x18\x01 \x01(\x0b\x32\x1c.sanity.PatternMacPatternMacH\x00\x88\x01\x01\x42\x06\n\x04_mac\"X\n\x0eIntegerPattern\x12:\n\x07integer\x18\x01 \x01(\x0b\x32$.sanity.PatternIntegerPatternIntegerH\x00\x88\x01\x01\x42\n\n\x08_integer\"]\n\x0f\x43hecksumPattern\x12=\n\x08\x63hecksum\x18\x01 \x01(\x0b\x32&.sanity.PatternChecksumPatternChecksumH\x00\x88\x01\x01\x42\x0b\n\t_checksum\"9\n\x15\x43ommonResponseSuccess\x12\x14\n\x07message\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\n\n\x08_message\"<\n\x10\x41piTestInputBody\x12\x18\n\x0bsome_string\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_some_string\"\xa0\x01\n\x0eServiceAbcItem\x12\x14\n\x07some_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0bsome_string\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x14\n\x07path_id\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x14\n\x07level_2\x18\x04 \x01(\tH\x03\x88\x01\x01\x42\n\n\x08_some_idB\x0e\n\x0c_some_stringB\n\n\x08_path_idB\n\n\x08_level_2\";\n\x12ServiceAbcItemList\x12%\n\x05items\x18\x01 \x03(\x0b\x32\x16.sanity.ServiceAbcItem\"\xf1\x02\n!PatternPrefixConfigHeaderChecksum\x12J\n\x06\x63hoice\x18\x01 \x01(\x0e\x32\x35.sanity.PatternPrefixConfigHeaderChecksum.Choice.EnumH\x00\x88\x01\x01\x12P\n\tgenerated\x18\x02 \x01(\x0e\x32\x38.sanity.PatternPrefixConfigHeaderChecksum.Generated.EnumH\x01\x88\x01\x01\x12\x13\n\x06\x63ustom\x18\x03 \x01(\rH\x02\x88\x01\x01\x1a<\n\x06\x43hoice\"2\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\r\n\tgenerated\x10\x01\x12\n\n\x06\x63ustom\x10\x02\x1a\x37\n\tGenerated\"*\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x08\n\x04good\x10\x01\x12\x07\n\x03\x62\x61\x64\x10\x02\x42\t\n\x07_choiceB\x0c\n\n_generatedB\t\n\x07_custom\"\x81\x01\n\'PatternPrefixConfigAutoFieldTestCounter\x12\x12\n\x05start\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x11\n\x04step\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\x08\n\x06_startB\x07\n\x05_stepB\x08\n\x06_count\"\xd2\x03\n PatternPrefixConfigAutoFieldTest\x12I\n\x06\x63hoice\x18\x01 \x01(\x0e\x32\x34.sanity.PatternPrefixConfigAutoFieldTest.Choice.EnumH\x00\x88\x01\x01\x12\x12\n\x05value\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x0e\n\x06values\x18\x03 \x03(\r\x12\x11\n\x04\x61uto\x18\x04 \x01(\rH\x02\x88\x01\x01\x12G\n\tincrement\x18\x06 \x01(\x0b\x32/.sanity.PatternPrefixConfigAutoFieldTestCounterH\x03\x88\x01\x01\x12G\n\tdecrement\x18\x07 \x01(\x0b\x32/.sanity.PatternPrefixConfigAutoFieldTestCounterH\x04\x88\x01\x01\x1a`\n\x06\x43hoice\"V\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\t\n\x05value\x10\x02\x12\n\n\x06values\x10\x03\x12\x08\n\x04\x61uto\x10\x01\x12\r\n\tincrement\x10\x04\x12\r\n\tdecrement\x10\x05\x42\t\n\x07_choiceB\x08\n\x06_valueB\x07\n\x05_autoB\x0c\n\n_incrementB\x0c\n\n_decrement\"w\n\x1dPatternIpv4PatternIpv4Counter\x12\x12\n\x05start\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04step\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\x08\n\x06_startB\x07\n\x05_stepB\x08\n\x06_count\"\x84\x03\n\x16PatternIpv4PatternIpv4\x12?\n\x06\x63hoice\x18\x01 \x01(\x0e\x32*.sanity.PatternIpv4PatternIpv4.Choice.EnumH\x00\x88\x01\x01\x12\x12\n\x05value\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x0e\n\x06values\x18\x03 \x03(\t\x12=\n\tincrement\x18\x05 \x01(\x0b\x32%.sanity.PatternIpv4PatternIpv4CounterH\x02\x88\x01\x01\x12=\n\tdecrement\x18\x06 \x01(\x0b\x32%.sanity.PatternIpv4PatternIpv4CounterH\x03\x88\x01\x01\x1aV\n\x06\x43hoice\"L\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\t\n\x05value\x10\x02\x12\n\n\x06values\x10\x03\x12\r\n\tincrement\x10\x04\x12\r\n\tdecrement\x10\x05\x42\t\n\x07_choiceB\x08\n\x06_valueB\x0c\n\n_incrementB\x0c\n\n_decrement\"w\n\x1dPatternIpv6PatternIpv6Counter\x12\x12\n\x05start\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04step\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\x08\n\x06_startB\x07\n\x05_stepB\x08\n\x06_count\"\x84\x03\n\x16PatternIpv6PatternIpv6\x12?\n\x06\x63hoice\x18\x01 \x01(\x0e\x32*.sanity.PatternIpv6PatternIpv6.Choice.EnumH\x00\x88\x01\x01\x12\x12\n\x05value\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x0e\n\x06values\x18\x03 \x03(\t\x12=\n\tincrement\x18\x05 \x01(\x0b\x32%.sanity.PatternIpv6PatternIpv6CounterH\x02\x88\x01\x01\x12=\n\tdecrement\x18\x06 \x01(\x0b\x32%.sanity.PatternIpv6PatternIpv6CounterH\x03\x88\x01\x01\x1aV\n\x06\x43hoice\"L\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\t\n\x05value\x10\x02\x12\n\n\x06values\x10\x03\x12\r\n\tincrement\x10\x04\x12\r\n\tdecrement\x10\x05\x42\t\n\x07_choiceB\x08\n\x06_valueB\x0c\n\n_incrementB\x0c\n\n_decrement\"u\n\x1bPatternMacPatternMacCounter\x12\x12\n\x05start\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04step\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\x08\n\x06_startB\x07\n\x05_stepB\x08\n\x06_count\"\xa2\x03\n\x14PatternMacPatternMac\x12=\n\x06\x63hoice\x18\x01 \x01(\x0e\x32(.sanity.PatternMacPatternMac.Choice.EnumH\x00\x88\x01\x01\x12\x12\n\x05value\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x0e\n\x06values\x18\x03 \x03(\t\x12\x11\n\x04\x61uto\x18\x04 \x01(\tH\x02\x88\x01\x01\x12;\n\tincrement\x18\x06 \x01(\x0b\x32#.sanity.PatternMacPatternMacCounterH\x03\x88\x01\x01\x12;\n\tdecrement\x18\x07 \x01(\x0b\x32#.sanity.PatternMacPatternMacCounterH\x04\x88\x01\x01\x1a`\n\x06\x43hoice\"V\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\t\n\x05value\x10\x02\x12\n\n\x06values\x10\x03\x12\x08\n\x04\x61uto\x10\x01\x12\r\n\tincrement\x10\x04\x12\r\n\tdecrement\x10\x05\x42\t\n\x07_choiceB\x08\n\x06_valueB\x07\n\x05_autoB\x0c\n\n_incrementB\x0c\n\n_decrement\"}\n#PatternIntegerPatternIntegerCounter\x12\x12\n\x05start\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x11\n\x04step\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\x08\n\x06_startB\x07\n\x05_stepB\x08\n\x06_count\"\x9c\x03\n\x1cPatternIntegerPatternInteger\x12\x45\n\x06\x63hoice\x18\x01 \x01(\x0e\x32\x30.sanity.PatternIntegerPatternInteger.Choice.EnumH\x00\x88\x01\x01\x12\x12\n\x05value\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x0e\n\x06values\x18\x03 \x03(\r\x12\x43\n\tincrement\x18\x05 \x01(\x0b\x32+.sanity.PatternIntegerPatternIntegerCounterH\x02\x88\x01\x01\x12\x43\n\tdecrement\x18\x06 \x01(\x0b\x32+.sanity.PatternIntegerPatternIntegerCounterH\x03\x88\x01\x01\x1aV\n\x06\x43hoice\"L\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\t\n\x05value\x10\x02\x12\n\n\x06values\x10\x03\x12\r\n\tincrement\x10\x04\x12\r\n\tdecrement\x10\x05\x42\t\n\x07_choiceB\x08\n\x06_valueB\x0c\n\n_incrementB\x0c\n\n_decrement\"\xe8\x02\n\x1ePatternChecksumPatternChecksum\x12G\n\x06\x63hoice\x18\x01 \x01(\x0e\x32\x32.sanity.PatternChecksumPatternChecksum.Choice.EnumH\x00\x88\x01\x01\x12M\n\tgenerated\x18\x02 \x01(\x0e\x32\x35.sanity.PatternChecksumPatternChecksum.Generated.EnumH\x01\x88\x01\x01\x12\x13\n\x06\x63ustom\x18\x03 \x01(\rH\x02\x88\x01\x01\x1a<\n\x06\x43hoice\"2\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\r\n\tgenerated\x10\x01\x12\n\n\x06\x63ustom\x10\x02\x1a\x37\n\tGenerated\"*\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x08\n\x04good\x10\x01\x12\x07\n\x03\x62\x61\x64\x10\x02\x42\t\n\x07_choiceB\x0c\n\n_generatedB\t\n\x07_custom\"\x91\x01\n\x07Version\x12\x1d\n\x10\x61pi_spec_version\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0bsdk_version\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0b\x61pp_version\x18\x03 \x01(\tH\x02\x88\x01\x01\x42\x13\n\x11_api_spec_versionB\x0e\n\x0c_sdk_versionB\x0e\n\x0c_app_version\";\n\x08Warnings\x12/\n\x0fwarning_details\x18\x01 \x01(\x0b\x32\x16.sanity.WarningDetails\"?\n\x10SetConfigRequest\x12+\n\rprefix_config\x18\x01 \x01(\x0b\x32\x14.sanity.PrefixConfig\"I\n\x1aUpdateConfigurationRequest\x12+\n\rupdate_config\x18\x01 \x01(\x0b\x32\x14.sanity.UpdateConfig\"+\n\x11SetConfigResponse\x12\x16\n\x0eresponse_bytes\x18\x01 \x01(\x0c\"J\n\x1bUpdateConfigurationResponse\x12+\n\rprefix_config\x18\x01 \x01(\x0b\x32\x14.sanity.PrefixConfig\"@\n\x11GetConfigResponse\x12+\n\rprefix_config\x18\x01 \x01(\x0b\x32\x14.sanity.PrefixConfig\"D\n\x11GetMetricsRequest\x12/\n\x0fmetrics_request\x18\x01 \x01(\x0b\x32\x16.sanity.MetricsRequest\"6\n\x12GetMetricsResponse\x12 \n\x07metrics\x18\x01 \x01(\x0b\x32\x0f.sanity.Metrics\"F\n\x13GetWarningsResponse\x12/\n\x0fwarning_details\x18\x01 \x01(\x0b\x32\x16.sanity.WarningDetails\"\'\n\x15\x43learWarningsResponse\x12\x0e\n\x06string\x18\x01 \x01(\t\"P\n\x17PostRootResponseRequest\x12\x35\n\x13\x61pi_test_input_body\x18\x01 \x01(\x0b\x32\x18.sanity.ApiTestInputBody\"Y\n\x17GetRootResponseResponse\x12>\n\x17\x63ommon_response_success\x18\x01 \x01(\x0b\x32\x1d.sanity.CommonResponseSuccess\"+\n\x19\x44ummyResponseTestResponse\x12\x0e\n\x06string\x18\x01 \x01(\t\"Z\n\x18PostRootResponseResponse\x12>\n\x17\x63ommon_response_success\x18\x01 \x01(\x0b\x32\x1d.sanity.CommonResponseSuccess\"P\n\x13GetAllItemsResponse\x12\x39\n\x15service_abc_item_list\x18\x01 \x01(\x0b\x32\x1a.sanity.ServiceAbcItemList\"I\n\x15GetSingleItemResponse\x12\x30\n\x10service_abc_item\x18\x01 \x01(\x0b\x32\x16.sanity.ServiceAbcItem\"O\n\x1bGetSingleItemLevel2Response\x12\x30\n\x10service_abc_item\x18\x01 \x01(\x0b\x32\x16.sanity.ServiceAbcItem\"6\n\x12GetVersionResponse\x12 \n\x07version\x18\x01 \x01(\x0b\x32\x0f.sanity.Version2\xd1\x07\n\x07Openapi\x12@\n\tSetConfig\x12\x18.sanity.SetConfigRequest\x1a\x19.sanity.SetConfigResponse\x12^\n\x13UpdateConfiguration\x12\".sanity.UpdateConfigurationRequest\x1a#.sanity.UpdateConfigurationResponse\x12>\n\tGetConfig\x12\x16.google.protobuf.Empty\x1a\x19.sanity.GetConfigResponse\x12\x43\n\nGetMetrics\x12\x19.sanity.GetMetricsRequest\x1a\x1a.sanity.GetMetricsResponse\x12\x42\n\x0bGetWarnings\x12\x16.google.protobuf.Empty\x1a\x1b.sanity.GetWarningsResponse\x12\x46\n\rClearWarnings\x12\x16.google.protobuf.Empty\x1a\x1d.sanity.ClearWarningsResponse\x12J\n\x0fGetRootResponse\x12\x16.google.protobuf.Empty\x1a\x1f.sanity.GetRootResponseResponse\x12N\n\x11\x44ummyResponseTest\x12\x16.google.protobuf.Empty\x1a!.sanity.DummyResponseTestResponse\x12U\n\x10PostRootResponse\x12\x1f.sanity.PostRootResponseRequest\x1a .sanity.PostRootResponseResponse\x12\x42\n\x0bGetAllItems\x12\x16.google.protobuf.Empty\x1a\x1b.sanity.GetAllItemsResponse\x12\x46\n\rGetSingleItem\x12\x16.google.protobuf.Empty\x1a\x1d.sanity.GetSingleItemResponse\x12R\n\x13GetSingleItemLevel2\x12\x16.google.protobuf.Empty\x1a#.sanity.GetSingleItemLevel2Response\x12@\n\nGetVersion\x12\x16.google.protobuf.Empty\x1a\x1a.sanity.GetVersionResponseB\x11Z\x0f./sanity;sanityb\x06proto3') + +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sanity_pb2', globals()) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'Z\017./sanity;sanity' + _ERRORDETAILS._serialized_start=87 + _ERRORDETAILS._serialized_end=117 + _WARNINGDETAILS._serialized_start=119 + _WARNINGDETAILS._serialized_end=153 + _ERROR._serialized_start=156 + _ERROR._serialized_end=324 + _ERROR_KIND._serialized_start=239 + _ERROR_KIND._serialized_end=315 + _ERROR_KIND_ENUM._serialized_start=247 + _ERROR_KIND_ENUM._serialized_end=315 + _PREFIXCONFIG._serialized_start=327 + _PREFIXCONFIG._serialized_end=2762 + _PREFIXCONFIG_RESPONSE._serialized_start=2148 + _PREFIXCONFIG_RESPONSE._serialized_end=2247 + _PREFIXCONFIG_RESPONSE_ENUM._serialized_start=2160 + _PREFIXCONFIG_RESPONSE_ENUM._serialized_end=2247 + _PREFIXCONFIG_DVALUES._serialized_start=2249 + _PREFIXCONFIG_DVALUES._serialized_end=2304 + _PREFIXCONFIG_DVALUES_ENUM._serialized_start=2260 + _PREFIXCONFIG_DVALUES_ENUM._serialized_end=2304 + _WOBJECT._serialized_start=2764 + _WOBJECT._serialized_end=2789 + _ZOBJECT._serialized_start=2791 + _ZOBJECT._serialized_end=2814 + _YOBJECT._serialized_start=2816 + _YOBJECT._serialized_end=2857 + _LAYER1IEEE802X._serialized_start=2859 + _LAYER1IEEE802X._serialized_end=2919 + _GOBJECT._serialized_start=2922 + _GOBJECT._serialized_end=3306 + _GOBJECT_CHOICE._serialized_start=3135 + _GOBJECT_CHOICE._serialized_end=3186 + _GOBJECT_CHOICE_ENUM._serialized_start=3145 + _GOBJECT_CHOICE_ENUM._serialized_end=3186 + _GOBJECT_GF._serialized_start=3188 + _GOBJECT_GF._serialized_end=3238 + _GOBJECT_GF_ENUM._serialized_start=2260 + _GOBJECT_GF_ENUM._serialized_end=2304 + _EOBJECT._serialized_start=3309 + _EOBJECT._serialized_end=3444 + _FOBJECT._serialized_start=3447 + _FOBJECT._serialized_end=3631 + _FOBJECT_CHOICE._serialized_start=3544 + _FOBJECT_CHOICE._serialized_end=3604 + _FOBJECT_CHOICE_ENUM._serialized_start=3554 + _FOBJECT_CHOICE_ENUM._serialized_end=3604 + _JOBJECT._serialized_start=3634 + _JOBJECT._serialized_end=3843 + _JOBJECT_CHOICE._serialized_start=3765 + _JOBJECT_CHOICE._serialized_end=3816 + _JOBJECT_CHOICE_ENUM._serialized_start=3775 + _JOBJECT_CHOICE_ENUM._serialized_end=3816 + _CHOICEOBJECT._serialized_start=3846 + _CHOICEOBJECT._serialized_end=4089 + _CHOICEOBJECT_CHOICE._serialized_start=3991 + _CHOICEOBJECT_CHOICE._serialized_end=4058 + _CHOICEOBJECT_CHOICE_ENUM._serialized_start=4001 + _CHOICEOBJECT_CHOICE_ENUM._serialized_end=4058 + _KOBJECT._serialized_start=4091 + _KOBJECT._serialized_end=4206 + _LOBJECT._serialized_start=4209 + _LOBJECT._serialized_end=4466 + _MOBJECT._serialized_start=4469 + _MOBJECT._serialized_end=4602 + _MANDATE._serialized_start=4604 + _MANDATE._serialized_end=4637 + _UPDATECONFIG._serialized_start=4639 + _UPDATECONFIG._serialized_end=4681 + _METRICSREQUEST._serialized_start=4684 + _METRICSREQUEST._serialized_end=4879 + _METRICSREQUEST_CHOICE._serialized_start=4797 + _METRICSREQUEST_CHOICE._serialized_end=4850 + _METRICSREQUEST_CHOICE_ENUM._serialized_start=4807 + _METRICSREQUEST_CHOICE_ENUM._serialized_end=4850 + _METRICS._serialized_start=4882 + _METRICS._serialized_end=5079 + _METRICS_CHOICE._serialized_start=5013 + _METRICS_CHOICE._serialized_end=5068 + _METRICS_CHOICE_ENUM._serialized_start=5023 + _METRICS_CHOICE_ENUM._serialized_end=5068 + _PORTMETRIC._serialized_start=5081 + _PORTMETRIC._serialized_end=5145 + _FLOWMETRIC._serialized_start=5147 + _FLOWMETRIC._serialized_end=5211 + _REQUIREDCHOICEPARENT._serialized_start=5214 + _REQUIREDCHOICEPARENT._serialized_end=5451 + _REQUIREDCHOICEPARENT_CHOICE._serialized_start=5363 + _REQUIREDCHOICEPARENT_CHOICE._serialized_end=5430 + _REQUIREDCHOICEPARENT_CHOICE_ENUM._serialized_start=5373 + _REQUIREDCHOICEPARENT_CHOICE_ENUM._serialized_end=5430 + _REQUIREDCHOICEINTERMEDIATE._serialized_start=5454 + _REQUIREDCHOICEINTERMEDIATE._serialized_end=5689 + _REQUIREDCHOICEINTERMEDIATE_CHOICE._serialized_start=5620 + _REQUIREDCHOICEINTERMEDIATE_CHOICE._serialized_end=5672 + _REQUIREDCHOICEINTERMEDIATE_CHOICE_ENUM._serialized_start=5630 + _REQUIREDCHOICEINTERMEDIATE_CHOICE_ENUM._serialized_end=5672 + _REQUIREDCHOICEINTERMELEAF._serialized_start=5691 + _REQUIREDCHOICEINTERMELEAF._serialized_end=5746 + _LEVELONE._serialized_start=5748 + _LEVELONE._serialized_end=5855 + _LEVELTWO._serialized_start=5857 + _LEVELTWO._serialized_end=5917 + _LEVELTHREE._serialized_start=5919 + _LEVELTHREE._serialized_end=5961 + _LEVELFOUR._serialized_start=5963 + _LEVELFOUR._serialized_end=6022 + _IPV4PATTERN._serialized_start=6024 + _IPV4PATTERN._serialized_end=6097 + _IPV6PATTERN._serialized_start=6099 + _IPV6PATTERN._serialized_end=6172 + _MACPATTERN._serialized_start=6174 + _MACPATTERN._serialized_end=6242 + _INTEGERPATTERN._serialized_start=6244 + _INTEGERPATTERN._serialized_end=6332 + _CHECKSUMPATTERN._serialized_start=6334 + _CHECKSUMPATTERN._serialized_end=6427 + _COMMONRESPONSESUCCESS._serialized_start=6429 + _COMMONRESPONSESUCCESS._serialized_end=6486 + _APITESTINPUTBODY._serialized_start=6488 + _APITESTINPUTBODY._serialized_end=6548 + _SERVICEABCITEM._serialized_start=6551 + _SERVICEABCITEM._serialized_end=6711 + _SERVICEABCITEMLIST._serialized_start=6713 + _SERVICEABCITEMLIST._serialized_end=6772 + _PATTERNPREFIXCONFIGHEADERCHECKSUM._serialized_start=6775 + _PATTERNPREFIXCONFIGHEADERCHECKSUM._serialized_end=7144 + _PATTERNPREFIXCONFIGHEADERCHECKSUM_CHOICE._serialized_start=6991 + _PATTERNPREFIXCONFIGHEADERCHECKSUM_CHOICE._serialized_end=7051 + _PATTERNPREFIXCONFIGHEADERCHECKSUM_CHOICE_ENUM._serialized_start=7001 + _PATTERNPREFIXCONFIGHEADERCHECKSUM_CHOICE_ENUM._serialized_end=7051 + _PATTERNPREFIXCONFIGHEADERCHECKSUM_GENERATED._serialized_start=7053 + _PATTERNPREFIXCONFIGHEADERCHECKSUM_GENERATED._serialized_end=7108 + _PATTERNPREFIXCONFIGHEADERCHECKSUM_GENERATED_ENUM._serialized_start=7066 + _PATTERNPREFIXCONFIGHEADERCHECKSUM_GENERATED_ENUM._serialized_end=7108 + _PATTERNPREFIXCONFIGAUTOFIELDTESTCOUNTER._serialized_start=7147 + _PATTERNPREFIXCONFIGAUTOFIELDTESTCOUNTER._serialized_end=7276 + _PATTERNPREFIXCONFIGAUTOFIELDTEST._serialized_start=7279 + _PATTERNPREFIXCONFIGAUTOFIELDTEST._serialized_end=7745 + _PATTERNPREFIXCONFIGAUTOFIELDTEST_CHOICE._serialized_start=7591 + _PATTERNPREFIXCONFIGAUTOFIELDTEST_CHOICE._serialized_end=7687 + _PATTERNPREFIXCONFIGAUTOFIELDTEST_CHOICE_ENUM._serialized_start=7601 + _PATTERNPREFIXCONFIGAUTOFIELDTEST_CHOICE_ENUM._serialized_end=7687 + _PATTERNIPV4PATTERNIPV4COUNTER._serialized_start=7747 + _PATTERNIPV4PATTERNIPV4COUNTER._serialized_end=7866 + _PATTERNIPV4PATTERNIPV4._serialized_start=7869 + _PATTERNIPV4PATTERNIPV4._serialized_end=8257 + _PATTERNIPV4PATTERNIPV4_CHOICE._serialized_start=8122 + _PATTERNIPV4PATTERNIPV4_CHOICE._serialized_end=8208 + _PATTERNIPV4PATTERNIPV4_CHOICE_ENUM._serialized_start=8132 + _PATTERNIPV4PATTERNIPV4_CHOICE_ENUM._serialized_end=8208 + _PATTERNIPV6PATTERNIPV6COUNTER._serialized_start=8259 + _PATTERNIPV6PATTERNIPV6COUNTER._serialized_end=8378 + _PATTERNIPV6PATTERNIPV6._serialized_start=8381 + _PATTERNIPV6PATTERNIPV6._serialized_end=8769 + _PATTERNIPV6PATTERNIPV6_CHOICE._serialized_start=8122 + _PATTERNIPV6PATTERNIPV6_CHOICE._serialized_end=8208 + _PATTERNIPV6PATTERNIPV6_CHOICE_ENUM._serialized_start=8132 + _PATTERNIPV6PATTERNIPV6_CHOICE_ENUM._serialized_end=8208 + _PATTERNMACPATTERNMACCOUNTER._serialized_start=8771 + _PATTERNMACPATTERNMACCOUNTER._serialized_end=8888 + _PATTERNMACPATTERNMAC._serialized_start=8891 + _PATTERNMACPATTERNMAC._serialized_end=9309 + _PATTERNMACPATTERNMAC_CHOICE._serialized_start=7591 + _PATTERNMACPATTERNMAC_CHOICE._serialized_end=7687 + _PATTERNMACPATTERNMAC_CHOICE_ENUM._serialized_start=7601 + _PATTERNMACPATTERNMAC_CHOICE_ENUM._serialized_end=7687 + _PATTERNINTEGERPATTERNINTEGERCOUNTER._serialized_start=9311 + _PATTERNINTEGERPATTERNINTEGERCOUNTER._serialized_end=9436 + _PATTERNINTEGERPATTERNINTEGER._serialized_start=9439 + _PATTERNINTEGERPATTERNINTEGER._serialized_end=9851 + _PATTERNINTEGERPATTERNINTEGER_CHOICE._serialized_start=8122 + _PATTERNINTEGERPATTERNINTEGER_CHOICE._serialized_end=8208 + _PATTERNINTEGERPATTERNINTEGER_CHOICE_ENUM._serialized_start=8132 + _PATTERNINTEGERPATTERNINTEGER_CHOICE_ENUM._serialized_end=8208 + _PATTERNCHECKSUMPATTERNCHECKSUM._serialized_start=9854 + _PATTERNCHECKSUMPATTERNCHECKSUM._serialized_end=10214 + _PATTERNCHECKSUMPATTERNCHECKSUM_CHOICE._serialized_start=6991 + _PATTERNCHECKSUMPATTERNCHECKSUM_CHOICE._serialized_end=7051 + _PATTERNCHECKSUMPATTERNCHECKSUM_CHOICE_ENUM._serialized_start=7001 + _PATTERNCHECKSUMPATTERNCHECKSUM_CHOICE_ENUM._serialized_end=7051 + _PATTERNCHECKSUMPATTERNCHECKSUM_GENERATED._serialized_start=7053 + _PATTERNCHECKSUMPATTERNCHECKSUM_GENERATED._serialized_end=7108 + _PATTERNCHECKSUMPATTERNCHECKSUM_GENERATED_ENUM._serialized_start=7066 + _PATTERNCHECKSUMPATTERNCHECKSUM_GENERATED_ENUM._serialized_end=7108 + _VERSION._serialized_start=10217 + _VERSION._serialized_end=10362 + _WARNINGS._serialized_start=10364 + _WARNINGS._serialized_end=10423 + _SETCONFIGREQUEST._serialized_start=10425 + _SETCONFIGREQUEST._serialized_end=10488 + _UPDATECONFIGURATIONREQUEST._serialized_start=10490 + _UPDATECONFIGURATIONREQUEST._serialized_end=10563 + _SETCONFIGRESPONSE._serialized_start=10565 + _SETCONFIGRESPONSE._serialized_end=10608 + _UPDATECONFIGURATIONRESPONSE._serialized_start=10610 + _UPDATECONFIGURATIONRESPONSE._serialized_end=10684 + _GETCONFIGRESPONSE._serialized_start=10686 + _GETCONFIGRESPONSE._serialized_end=10750 + _GETMETRICSREQUEST._serialized_start=10752 + _GETMETRICSREQUEST._serialized_end=10820 + _GETMETRICSRESPONSE._serialized_start=10822 + _GETMETRICSRESPONSE._serialized_end=10876 + _GETWARNINGSRESPONSE._serialized_start=10878 + _GETWARNINGSRESPONSE._serialized_end=10948 + _CLEARWARNINGSRESPONSE._serialized_start=10950 + _CLEARWARNINGSRESPONSE._serialized_end=10989 + _POSTROOTRESPONSEREQUEST._serialized_start=10991 + _POSTROOTRESPONSEREQUEST._serialized_end=11071 + _GETROOTRESPONSERESPONSE._serialized_start=11073 + _GETROOTRESPONSERESPONSE._serialized_end=11162 + _DUMMYRESPONSETESTRESPONSE._serialized_start=11164 + _DUMMYRESPONSETESTRESPONSE._serialized_end=11207 + _POSTROOTRESPONSERESPONSE._serialized_start=11209 + _POSTROOTRESPONSERESPONSE._serialized_end=11299 + _GETALLITEMSRESPONSE._serialized_start=11301 + _GETALLITEMSRESPONSE._serialized_end=11381 + _GETSINGLEITEMRESPONSE._serialized_start=11383 + _GETSINGLEITEMRESPONSE._serialized_end=11456 + _GETSINGLEITEMLEVEL2RESPONSE._serialized_start=11458 + _GETSINGLEITEMLEVEL2RESPONSE._serialized_end=11537 + _GETVERSIONRESPONSE._serialized_start=11539 + _GETVERSIONRESPONSE._serialized_end=11593 + _OPENAPI._serialized_start=11596 + _OPENAPI._serialized_end=12573 +# @@protoc_insertion_point(module_scope) diff --git a/artifacts/sanity/sanity_pb2_grpc.py b/artifacts/sanity/sanity_pb2_grpc.py new file mode 100644 index 00000000..3189ad16 --- /dev/null +++ b/artifacts/sanity/sanity_pb2_grpc.py @@ -0,0 +1,499 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +try: + import sanity_pb2 as sanity__pb2 +except ImportError: + from sanity import sanity_pb2 as sanity__pb2 + + +class OpenapiStub(object): + """Description missing in models + + For all RPCs defined in this service, API Server SHOULD provide JSON + representation of `Error` message as an error string upon failure, ensuring + name of enum constants (instead of value) for `kind` property is present + in the representation + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.SetConfig = channel.unary_unary( + '/sanity.Openapi/SetConfig', + request_serializer=sanity__pb2.SetConfigRequest.SerializeToString, + response_deserializer=sanity__pb2.SetConfigResponse.FromString, + ) + self.UpdateConfiguration = channel.unary_unary( + '/sanity.Openapi/UpdateConfiguration', + request_serializer=sanity__pb2.UpdateConfigurationRequest.SerializeToString, + response_deserializer=sanity__pb2.UpdateConfigurationResponse.FromString, + ) + self.GetConfig = channel.unary_unary( + '/sanity.Openapi/GetConfig', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=sanity__pb2.GetConfigResponse.FromString, + ) + self.GetMetrics = channel.unary_unary( + '/sanity.Openapi/GetMetrics', + request_serializer=sanity__pb2.GetMetricsRequest.SerializeToString, + response_deserializer=sanity__pb2.GetMetricsResponse.FromString, + ) + self.GetWarnings = channel.unary_unary( + '/sanity.Openapi/GetWarnings', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=sanity__pb2.GetWarningsResponse.FromString, + ) + self.ClearWarnings = channel.unary_unary( + '/sanity.Openapi/ClearWarnings', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=sanity__pb2.ClearWarningsResponse.FromString, + ) + self.GetRootResponse = channel.unary_unary( + '/sanity.Openapi/GetRootResponse', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=sanity__pb2.GetRootResponseResponse.FromString, + ) + self.DummyResponseTest = channel.unary_unary( + '/sanity.Openapi/DummyResponseTest', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=sanity__pb2.DummyResponseTestResponse.FromString, + ) + self.PostRootResponse = channel.unary_unary( + '/sanity.Openapi/PostRootResponse', + request_serializer=sanity__pb2.PostRootResponseRequest.SerializeToString, + response_deserializer=sanity__pb2.PostRootResponseResponse.FromString, + ) + self.GetAllItems = channel.unary_unary( + '/sanity.Openapi/GetAllItems', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=sanity__pb2.GetAllItemsResponse.FromString, + ) + self.GetSingleItem = channel.unary_unary( + '/sanity.Openapi/GetSingleItem', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=sanity__pb2.GetSingleItemResponse.FromString, + ) + self.GetSingleItemLevel2 = channel.unary_unary( + '/sanity.Openapi/GetSingleItemLevel2', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=sanity__pb2.GetSingleItemLevel2Response.FromString, + ) + self.GetVersion = channel.unary_unary( + '/sanity.Openapi/GetVersion', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=sanity__pb2.GetVersionResponse.FromString, + ) + + +class OpenapiServicer(object): + """Description missing in models + + For all RPCs defined in this service, API Server SHOULD provide JSON + representation of `Error` message as an error string upon failure, ensuring + name of enum constants (instead of value) for `kind` property is present + in the representation + """ + + def SetConfig(self, request, context): + """Sets configuration resources. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateConfiguration(self, request, context): + """Deprecated: please use post instead + + Sets configuration resources. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetConfig(self, request, context): + """Gets the configuration resources. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetMetrics(self, request, context): + """Gets metrics. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetWarnings(self, request, context): + """Gets warnings. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ClearWarnings(self, request, context): + """Clears warnings. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetRootResponse(self, request, context): + """simple GET api with single return type + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DummyResponseTest(self, request, context): + """Description missing in models + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def PostRootResponse(self, request, context): + """simple POST api with single return type + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetAllItems(self, request, context): + """return list of some items + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetSingleItem(self, request, context): + """return single item + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetSingleItemLevel2(self, request, context): + """return single item + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetVersion(self, request, context): + """Description missing in models + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_OpenapiServicer_to_server(servicer, server): + rpc_method_handlers = { + 'SetConfig': grpc.unary_unary_rpc_method_handler( + servicer.SetConfig, + request_deserializer=sanity__pb2.SetConfigRequest.FromString, + response_serializer=sanity__pb2.SetConfigResponse.SerializeToString, + ), + 'UpdateConfiguration': grpc.unary_unary_rpc_method_handler( + servicer.UpdateConfiguration, + request_deserializer=sanity__pb2.UpdateConfigurationRequest.FromString, + response_serializer=sanity__pb2.UpdateConfigurationResponse.SerializeToString, + ), + 'GetConfig': grpc.unary_unary_rpc_method_handler( + servicer.GetConfig, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=sanity__pb2.GetConfigResponse.SerializeToString, + ), + 'GetMetrics': grpc.unary_unary_rpc_method_handler( + servicer.GetMetrics, + request_deserializer=sanity__pb2.GetMetricsRequest.FromString, + response_serializer=sanity__pb2.GetMetricsResponse.SerializeToString, + ), + 'GetWarnings': grpc.unary_unary_rpc_method_handler( + servicer.GetWarnings, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=sanity__pb2.GetWarningsResponse.SerializeToString, + ), + 'ClearWarnings': grpc.unary_unary_rpc_method_handler( + servicer.ClearWarnings, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=sanity__pb2.ClearWarningsResponse.SerializeToString, + ), + 'GetRootResponse': grpc.unary_unary_rpc_method_handler( + servicer.GetRootResponse, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=sanity__pb2.GetRootResponseResponse.SerializeToString, + ), + 'DummyResponseTest': grpc.unary_unary_rpc_method_handler( + servicer.DummyResponseTest, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=sanity__pb2.DummyResponseTestResponse.SerializeToString, + ), + 'PostRootResponse': grpc.unary_unary_rpc_method_handler( + servicer.PostRootResponse, + request_deserializer=sanity__pb2.PostRootResponseRequest.FromString, + response_serializer=sanity__pb2.PostRootResponseResponse.SerializeToString, + ), + 'GetAllItems': grpc.unary_unary_rpc_method_handler( + servicer.GetAllItems, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=sanity__pb2.GetAllItemsResponse.SerializeToString, + ), + 'GetSingleItem': grpc.unary_unary_rpc_method_handler( + servicer.GetSingleItem, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=sanity__pb2.GetSingleItemResponse.SerializeToString, + ), + 'GetSingleItemLevel2': grpc.unary_unary_rpc_method_handler( + servicer.GetSingleItemLevel2, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=sanity__pb2.GetSingleItemLevel2Response.SerializeToString, + ), + 'GetVersion': grpc.unary_unary_rpc_method_handler( + servicer.GetVersion, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=sanity__pb2.GetVersionResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'sanity.Openapi', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class Openapi(object): + """Description missing in models + + For all RPCs defined in this service, API Server SHOULD provide JSON + representation of `Error` message as an error string upon failure, ensuring + name of enum constants (instead of value) for `kind` property is present + in the representation + """ + + @staticmethod + def SetConfig(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/sanity.Openapi/SetConfig', + sanity__pb2.SetConfigRequest.SerializeToString, + sanity__pb2.SetConfigResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def UpdateConfiguration(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/sanity.Openapi/UpdateConfiguration', + sanity__pb2.UpdateConfigurationRequest.SerializeToString, + sanity__pb2.UpdateConfigurationResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetConfig(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/sanity.Openapi/GetConfig', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + sanity__pb2.GetConfigResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetMetrics(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/sanity.Openapi/GetMetrics', + sanity__pb2.GetMetricsRequest.SerializeToString, + sanity__pb2.GetMetricsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetWarnings(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/sanity.Openapi/GetWarnings', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + sanity__pb2.GetWarningsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ClearWarnings(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/sanity.Openapi/ClearWarnings', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + sanity__pb2.ClearWarningsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetRootResponse(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/sanity.Openapi/GetRootResponse', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + sanity__pb2.GetRootResponseResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DummyResponseTest(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/sanity.Openapi/DummyResponseTest', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + sanity__pb2.DummyResponseTestResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def PostRootResponse(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/sanity.Openapi/PostRootResponse', + sanity__pb2.PostRootResponseRequest.SerializeToString, + sanity__pb2.PostRootResponseResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetAllItems(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/sanity.Openapi/GetAllItems', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + sanity__pb2.GetAllItemsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetSingleItem(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/sanity.Openapi/GetSingleItem', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + sanity__pb2.GetSingleItemResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetSingleItemLevel2(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/sanity.Openapi/GetSingleItemLevel2', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + sanity__pb2.GetSingleItemLevel2Response.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetVersion(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/sanity.Openapi/GetVersion', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + sanity__pb2.GetVersionResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/do.py b/do.py index e781106e..70db78af 100644 --- a/do.py +++ b/do.py @@ -162,8 +162,8 @@ def init(use_sdk=None): ] ) else: - art_path = os.path.join(base_dir, "art", "requirements.txt") - art_test = os.path.join(base_dir, "art", "test_requirements.txt") + art_path = os.path.join(base_dir, "artifacts", "requirements.txt") + art_test = os.path.join(base_dir, "artifacts", "test_requirements.txt") run( [ py() + " -m pip install -r {}".format(art_path), @@ -348,7 +348,7 @@ def clean(): "build", "*.egg-info", "cov_report", - "art", + "artifacts", ] recursive_patterns = [ ".pytest_cache", diff --git a/openapiart/tests/conftest.py b/openapiart/tests/conftest.py index 907e0363..209feec3 100644 --- a/openapiart/tests/conftest.py +++ b/openapiart/tests/conftest.py @@ -15,12 +15,12 @@ # artifacts should not be generated from here as these tests are run as sudo pytest.module_name = "sanity" pytest.artifacts_path = os.path.join( - os.path.dirname(__file__), "..", "..", "art" + os.path.dirname(__file__), "..", "..", "artifacts" ) sys.path.append(pytest.artifacts_path) sys.path.append( os.path.join( - os.path.dirname(__file__), "..", "..", "art", pytest.module_name + os.path.dirname(__file__), "..", "..", "artifacts", pytest.module_name ) ) @@ -71,7 +71,7 @@ def grpc_api(): @pytest.fixture(scope="session") def proto_file_name(): - art_dir = os.path.join(os.path.dirname(__file__), "..", "..", "art") + art_dir = os.path.join(os.path.dirname(__file__), "..", "..", "artifacts") proto_file = os.path.join(art_dir, "{}.proto".format(pytest.module_name)) return proto_file diff --git a/openapiart/tests/grpcserver.py b/openapiart/tests/grpcserver.py index 2f403116..dc81b518 100644 --- a/openapiart/tests/grpcserver.py +++ b/openapiart/tests/grpcserver.py @@ -8,9 +8,11 @@ from concurrent import futures from google.protobuf import json_format -sys.path.append(os.path.join(os.path.dirname(__file__), "..", "..", "art")) sys.path.append( - os.path.join(os.path.dirname(__file__), "..", "..", "art", "sanity") + os.path.join(os.path.dirname(__file__), "..", "..", "artifacts") +) +sys.path.append( + os.path.join(os.path.dirname(__file__), "..", "..", "artifacts", "sanity") ) pb2_grpc = importlib.import_module("sanity_pb2_grpc") pb2 = importlib.import_module("sanity_pb2") diff --git a/openapiart/tests/server.py b/openapiart/tests/server.py index 4c8c9ddc..b25cc8e9 100644 --- a/openapiart/tests/server.py +++ b/openapiart/tests/server.py @@ -78,7 +78,7 @@ class OpenApiServer(object): def __init__(self, package): # TODO Shall change the below sanity path to be dynamic pkg_name = "sanity" - lib_path = "../../art/%s" % pkg_name + lib_path = "../../artifacts/%s" % pkg_name sys.path.append( os.path.join(os.path.join(os.path.dirname(__file__), lib_path)) ) diff --git a/openapiart/tests/test_perf.py b/openapiart/tests/test_perf.py index cc56f8c6..bde23f63 100644 --- a/openapiart/tests/test_perf.py +++ b/openapiart/tests/test_perf.py @@ -1,7 +1,9 @@ import sys import os -sys.path.append(os.path.join(os.path.dirname(__file__), "..", "..", "art")) +sys.path.append( + os.path.join(os.path.dirname(__file__), "..", "..", "artifacts") +) import sanity import time diff --git a/openapiart/tests/test_set.py b/openapiart/tests/test_set.py index be1fff73..90866b87 100644 --- a/openapiart/tests/test_set.py +++ b/openapiart/tests/test_set.py @@ -2,7 +2,9 @@ import os import pytest -sys.path.append(os.path.join(os.path.dirname(__file__), "..", "..", "art")) +sys.path.append( + os.path.join(os.path.dirname(__file__), "..", "..", "artifacts") +) import sanity From 04537a47d2617690332c3107d9f17b5e064cc1c8 Mon Sep 17 00:00:00 2001 From: Github Actions Bot Date: Mon, 11 Sep 2023 11:32:59 +0000 Subject: [PATCH 02/27] Update auto generated python code --- artifacts/sanity/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/artifacts/sanity/requirements.txt b/artifacts/sanity/requirements.txt index 253ff813..eea15f4e 100644 --- a/artifacts/sanity/requirements.txt +++ b/artifacts/sanity/requirements.txt @@ -1,8 +1,8 @@ --prefer-binary grpcio-tools~=1.35.0 ; python_version <= '3.6' +grpcio~=1.35.0 ; python_version <= '3.6' grpcio-tools~=1.54.2 ; python_version > '3.6' grpcio~=1.54.2 ; python_version > '3.6' -grpcio~=1.35.0 ; python_version <= '3.6' PyYAML requests protobuf~=3.15.0 ; python_version <= '3.6' From 99ddc39e77569017bf5819c9943cc9b072de47b0 Mon Sep 17 00:00:00 2001 From: Vibaswan Date: Mon, 11 Sep 2023 11:56:57 +0000 Subject: [PATCH 03/27] bug fix --- .github/workflows/build.yml | 46 ++++++++++++++++--------------------- artifacts.py | 22 ------------------ do.py | 20 ++++++++++++++++ 3 files changed, 40 insertions(+), 48 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ea8069ed..553dde94 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -68,6 +68,13 @@ jobs: - name: Trigger dev workflow run: | python do.py build + - name: Archive generated artifacts + if: always() + uses: actions/upload-artifact@v2 + with: + name: gen_packages + path: | + artifacts dev_workflow_docker: runs-on: ubuntu-latest @@ -116,19 +123,6 @@ jobs: - name: Run artifact generation run: | python do.py generate python True - - name: Commit generated python code - run: | - git config user.name "Github Actions Bot" - git config user.email "actions@github.com" - git pull - git add --force artifacts/\* - if git status --porcelain | grep . - then - git commit -m "Update auto generated python code" - git push - else - echo "No change in auto generated python code" - fi - name: Archive generated artifacts if: always() uses: actions/upload-artifact@v2 @@ -176,19 +170,19 @@ jobs: - name: Run go lint run: | python do.py go_lint - - name: Commit generated go code - run: | - git config user.name "Github Actions Bot" - git config user.email "actions@github.com" - git pull - git add --force artifacts/openapiart/\* - if git status --porcelain | grep . - then - git commit -m "Update auto generated go code" - git push - else - echo "No change in auto generated go code" - fi + # - name: Commit generated go code + # run: | + # git config user.name "Github Actions Bot" + # git config user.email "actions@github.com" + # git pull + # git add --force artifacts/openapiart/\* + # if git status --porcelain | grep . + # then + # git commit -m "Update auto generated go code" + # git push + # else + # echo "No change in auto generated go code" + # fi - name: Archive generated artifacts if: always() uses: actions/upload-artifact@v2 diff --git a/artifacts.py b/artifacts.py index bb39f3e7..e9c44dc3 100644 --- a/artifacts.py +++ b/artifacts.py @@ -20,10 +20,6 @@ def create_openapi_artifacts(openapiart_class, sdk=None): - - base_dir = os.path.abspath(os.path.dirname(__file__)) - artifacts_dir = os.path.join(base_dir, "artifacts") - open_api = openapiart_class( api_files=[ os.path.join( @@ -56,10 +52,6 @@ def create_openapi_artifacts(openapiart_class, sdk=None): if sdk == "python" or sdk is None or sdk == "all": open_api.GeneratePythonSdk(package_name="sanity") - shutil.move( - os.path.join(artifacts_dir, "requirements.txt"), - os.path.join(artifacts_dir, "sanity"), - ) if sdk == "go" or sdk is None or sdk == "all": open_api.GenerateGoSdk( @@ -75,20 +67,6 @@ def create_openapi_artifacts(openapiart_class, sdk=None): open_api.GoTidy( relative_package_dir="pkg", ) - # copy all the files to artifacts/openapiart - go_path = os.path.join(artifacts_dir, "openapiart_go") - shutil.copytree( - os.path.join(base_dir, "pkg", "httpapi"), - os.path.join(go_path, "httpapi"), - dirs_exist_ok=True, - ) - shutil.copytree( - os.path.join(base_dir, "pkg", "sanity"), - os.path.join(go_path, "sanity"), - dirs_exist_ok=True, - ) - # files = ["openapiart.go", "go.mod", "go.sum"] - # shutil.copy(os.path.join) if __name__ == "__main__": diff --git a/do.py b/do.py index 70db78af..f91a05f0 100644 --- a/do.py +++ b/do.py @@ -515,6 +515,26 @@ def build(sdk="all", env_setup=None): run([py() + " setup.py install"]) print("\nSTEP 3: Generating Python and Go SDKs\n") generate(sdk=sdk, cicd="True") + + # Copying files to artiofacts folder + base_dir = os.path.abspath(os.path.dirname(__file__)) + artifacts_dir = os.path.join(base_dir, "artifacts") + shutil.move( + os.path.join(artifacts_dir, "requirements.txt"), + os.path.join(artifacts_dir, "sanity"), + ) + go_path = os.path.join(artifacts_dir, "openapiart_go") + shutil.copytree( + os.path.join(base_dir, "pkg", "httpapi"), + os.path.join(go_path, "httpapi"), + dirs_exist_ok=True, + ) + shutil.copytree( + os.path.join(base_dir, "pkg", "sanity"), + os.path.join(go_path, "sanity"), + dirs_exist_ok=True, + ) + if sdk == "python" or sdk == "all": print("\nSTEP 4: Perform Python lint\n") lint() From 2fd036057ec0b840e611059ed619b2dcf70e3fd1 Mon Sep 17 00:00:00 2001 From: Vibaswan Date: Mon, 11 Sep 2023 12:05:03 +0000 Subject: [PATCH 04/27] bug fix --- .github/workflows/build.yml | 35 ++++++++++++++--------------------- 1 file changed, 14 insertions(+), 21 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 553dde94..11255066 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -68,13 +68,19 @@ jobs: - name: Trigger dev workflow run: | python do.py build - - name: Archive generated artifacts - if: always() - uses: actions/upload-artifact@v2 - with: - name: gen_packages - path: | - artifacts + - name: Commit packages + run: | + git config user.name "Github Actions Bot" + git config user.email "actions@github.com" + git pull + git add --force artifacts/\* + if git status --porcelain | grep . + then + git commit -m "Update auto generated go code" + git push + else + echo "No change in auto generated go code" + fi dev_workflow_docker: runs-on: ubuntu-latest @@ -143,7 +149,7 @@ jobs: strategy: max-parallel: 4 matrix: - go-version: ["1.17.13", "1.18.10", "1.19.5", "1.20"] + go-version: ["1.18.10", "1.19.5", "1.20"] fail-fast: false steps: - name: Checkout source @@ -170,19 +176,6 @@ jobs: - name: Run go lint run: | python do.py go_lint - # - name: Commit generated go code - # run: | - # git config user.name "Github Actions Bot" - # git config user.email "actions@github.com" - # git pull - # git add --force artifacts/openapiart/\* - # if git status --porcelain | grep . - # then - # git commit -m "Update auto generated go code" - # git push - # else - # echo "No change in auto generated go code" - # fi - name: Archive generated artifacts if: always() uses: actions/upload-artifact@v2 From 168bbd56eafdceb8808cd25c1b19fff05a20698e Mon Sep 17 00:00:00 2001 From: Github Actions Bot Date: Mon, 11 Sep 2023 12:11:29 +0000 Subject: [PATCH 05/27] Update auto generated go code --- .../httpapi/controllers/apitest_controller.go | 195 + .../httpapi/controllers/bundler_controller.go | 216 + .../controllers/capabilities_controller.go | 75 + .../httpapi/controllers/metrics_controller.go | 195 + .../controllers/serviceabc_controller.go | 175 + artifacts/openapiart_go/httpapi/http_setup.go | 40 + .../httpapi/interfaces/apitest_interface.go | 35 + .../httpapi/interfaces/bundler_interface.go | 37 + .../interfaces/capabilities_interface.go | 23 + .../httpapi/interfaces/metrics_interface.go | 35 + .../interfaces/serviceabc_interface.go | 40 + artifacts/openapiart_go/httpapi/response.go | 69 + artifacts/openapiart_go/sanity/sanity.pb.go | 8925 +++++++++++++++++ .../openapiart_go/sanity/sanity_grpc.pb.go | 569 ++ .../__pycache__/__init__.cpython-310.pyc | Bin 0 -> 2492 bytes .../sanity/__pycache__/sanity.cpython-310.pyc | Bin 0 -> 150956 bytes .../__pycache__/sanity_pb2.cpython-310.pyc | Bin 0 -> 18969 bytes .../sanity_pb2_grpc.cpython-310.pyc | Bin 0 -> 9089 bytes artifacts/sanity/requirements.txt | 10 +- 19 files changed, 10634 insertions(+), 5 deletions(-) create mode 100644 artifacts/openapiart_go/httpapi/controllers/apitest_controller.go create mode 100644 artifacts/openapiart_go/httpapi/controllers/bundler_controller.go create mode 100644 artifacts/openapiart_go/httpapi/controllers/capabilities_controller.go create mode 100644 artifacts/openapiart_go/httpapi/controllers/metrics_controller.go create mode 100644 artifacts/openapiart_go/httpapi/controllers/serviceabc_controller.go create mode 100644 artifacts/openapiart_go/httpapi/http_setup.go create mode 100644 artifacts/openapiart_go/httpapi/interfaces/apitest_interface.go create mode 100644 artifacts/openapiart_go/httpapi/interfaces/bundler_interface.go create mode 100644 artifacts/openapiart_go/httpapi/interfaces/capabilities_interface.go create mode 100644 artifacts/openapiart_go/httpapi/interfaces/metrics_interface.go create mode 100644 artifacts/openapiart_go/httpapi/interfaces/serviceabc_interface.go create mode 100644 artifacts/openapiart_go/httpapi/response.go create mode 100644 artifacts/openapiart_go/sanity/sanity.pb.go create mode 100644 artifacts/openapiart_go/sanity/sanity_grpc.pb.go create mode 100644 artifacts/sanity/__pycache__/__init__.cpython-310.pyc create mode 100644 artifacts/sanity/__pycache__/sanity.cpython-310.pyc create mode 100644 artifacts/sanity/__pycache__/sanity_pb2.cpython-310.pyc create mode 100644 artifacts/sanity/__pycache__/sanity_pb2_grpc.cpython-310.pyc diff --git a/artifacts/openapiart_go/httpapi/controllers/apitest_controller.go b/artifacts/openapiart_go/httpapi/controllers/apitest_controller.go new file mode 100644 index 00000000..17fc85c8 --- /dev/null +++ b/artifacts/openapiart_go/httpapi/controllers/apitest_controller.go @@ -0,0 +1,195 @@ +// This file is autogenerated. Do not modify +package controllers + +import ( + "errors" + "io" + "log" + "net/http" + + openapiart "github.com/open-traffic-generator/openapiart/pkg" + "github.com/open-traffic-generator/openapiart/pkg/httpapi" + "github.com/open-traffic-generator/openapiart/pkg/httpapi/interfaces" +) + +type apiTestController struct { + handler interfaces.ApiTestHandler +} + +func NewHttpApiTestController(handler interfaces.ApiTestHandler) interfaces.ApiTestController { + return &apiTestController{handler} +} + +func (ctrl *apiTestController) Routes() []httpapi.Route { + return []httpapi.Route{ + {Path: "/api/apitest", Method: "GET", Name: "GetRootResponse", Handler: ctrl.GetRootResponse}, + {Path: "/api/apitest", Method: "DELETE", Name: "DummyResponseTest", Handler: ctrl.DummyResponseTest}, + {Path: "/api/apitest", Method: "POST", Name: "PostRootResponse", Handler: ctrl.PostRootResponse}, + } +} + +/* +GetRootResponse: GET /api/apitest +Description: simple GET api with single return type +*/ +func (ctrl *apiTestController) GetRootResponse(w http.ResponseWriter, r *http.Request) { + result, err := ctrl.handler.GetRootResponse(r) + if err != nil { + ctrl.responseGetRootResponseError(w, "internal", err) + return + } + + if result.HasCommonResponseSuccess() { + if _, err := httpapi.WriteJSONResponse(w, 200, result.CommonResponseSuccess()); err != nil { + log.Print(err.Error()) + } + return + } + ctrl.responseGetRootResponseError(w, "internal", errors.New("Unknown error")) +} + +func (ctrl *apiTestController) responseGetRootResponseError(w http.ResponseWriter, errorKind openapiart.ErrorKindEnum, rsp_err error) { + var result openapiart.Error + var statusCode int32 + if errorKind == "validation" { + statusCode = 400 + } else if errorKind == "internal" { + statusCode = 500 + } + + if rErr, ok := rsp_err.(openapiart.Error); ok { + result = rErr + } else { + result = openapiart.NewError() + err := result.FromJson(rsp_err.Error()) + if err != nil { + result.Msg().Code = statusCode + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + result.Msg().Errors = []string{rsp_err.Error()} + } + } + + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + log.Print(err.Error()) + } +} + +/* +DummyResponseTest: DELETE /api/apitest +Description: +*/ +func (ctrl *apiTestController) DummyResponseTest(w http.ResponseWriter, r *http.Request) { + result, err := ctrl.handler.DummyResponseTest(r) + if err != nil { + ctrl.responseDummyResponseTestError(w, "internal", err) + return + } + + if result.HasResponseString() { + if _, err := httpapi.WriteAnyResponse(w, 200, result.ResponseString()); err != nil { + log.Print(err.Error()) + } + return + } + ctrl.responseDummyResponseTestError(w, "internal", errors.New("Unknown error")) +} + +func (ctrl *apiTestController) responseDummyResponseTestError(w http.ResponseWriter, errorKind openapiart.ErrorKindEnum, rsp_err error) { + var result openapiart.Error + var statusCode int32 + if errorKind == "validation" { + statusCode = 400 + } else if errorKind == "internal" { + statusCode = 500 + } + + if rErr, ok := rsp_err.(openapiart.Error); ok { + result = rErr + } else { + result = openapiart.NewError() + err := result.FromJson(rsp_err.Error()) + if err != nil { + result.Msg().Code = statusCode + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + result.Msg().Errors = []string{rsp_err.Error()} + } + } + + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + log.Print(err.Error()) + } +} + +/* +PostRootResponse: POST /api/apitest +Description: simple POST api with single return type +*/ +func (ctrl *apiTestController) PostRootResponse(w http.ResponseWriter, r *http.Request) { + var item openapiart.ApiTestInputBody + if r.Body != nil { + body, readError := io.ReadAll(r.Body) + if body != nil { + item = openapiart.NewApiTestInputBody() + err := item.FromJson(string(body)) + if err != nil { + ctrl.responsePostRootResponseError(w, "validation", err) + return + } + } else { + ctrl.responsePostRootResponseError(w, "validation", readError) + return + } + } else { + bodyError := errors.New("Request does not have a body") + ctrl.responsePostRootResponseError(w, "validation", bodyError) + return + } + result, err := ctrl.handler.PostRootResponse(item, r) + if err != nil { + ctrl.responsePostRootResponseError(w, "internal", err) + return + } + + if result.HasCommonResponseSuccess() { + if _, err := httpapi.WriteJSONResponse(w, 200, result.CommonResponseSuccess()); err != nil { + log.Print(err.Error()) + } + return + } + ctrl.responsePostRootResponseError(w, "internal", errors.New("Unknown error")) +} + +func (ctrl *apiTestController) responsePostRootResponseError(w http.ResponseWriter, errorKind openapiart.ErrorKindEnum, rsp_err error) { + var result openapiart.Error + var statusCode int32 + if errorKind == "validation" { + statusCode = 400 + } else if errorKind == "internal" { + statusCode = 500 + } + + if rErr, ok := rsp_err.(openapiart.Error); ok { + result = rErr + } else { + result = openapiart.NewError() + err := result.FromJson(rsp_err.Error()) + if err != nil { + result.Msg().Code = statusCode + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + result.Msg().Errors = []string{rsp_err.Error()} + } + } + + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + log.Print(err.Error()) + } +} diff --git a/artifacts/openapiart_go/httpapi/controllers/bundler_controller.go b/artifacts/openapiart_go/httpapi/controllers/bundler_controller.go new file mode 100644 index 00000000..a33b0710 --- /dev/null +++ b/artifacts/openapiart_go/httpapi/controllers/bundler_controller.go @@ -0,0 +1,216 @@ +// This file is autogenerated. Do not modify +package controllers + +import ( + "errors" + "io" + "log" + "net/http" + + openapiart "github.com/open-traffic-generator/openapiart/pkg" + "github.com/open-traffic-generator/openapiart/pkg/httpapi" + "github.com/open-traffic-generator/openapiart/pkg/httpapi/interfaces" +) + +type bundlerController struct { + handler interfaces.BundlerHandler +} + +func NewHttpBundlerController(handler interfaces.BundlerHandler) interfaces.BundlerController { + return &bundlerController{handler} +} + +func (ctrl *bundlerController) Routes() []httpapi.Route { + return []httpapi.Route{ + {Path: "/api/config", Method: "POST", Name: "SetConfig", Handler: ctrl.SetConfig}, + {Path: "/api/config", Method: "PATCH", Name: "UpdateConfiguration", Handler: ctrl.UpdateConfiguration}, + {Path: "/api/config", Method: "GET", Name: "GetConfig", Handler: ctrl.GetConfig}, + } +} + +/* +SetConfig: POST /api/config +Description: Sets configuration resources. +*/ +func (ctrl *bundlerController) SetConfig(w http.ResponseWriter, r *http.Request) { + var item openapiart.PrefixConfig + if r.Body != nil { + body, readError := io.ReadAll(r.Body) + if body != nil { + item = openapiart.NewPrefixConfig() + err := item.FromJson(string(body)) + if err != nil { + ctrl.responseSetConfigError(w, "validation", err) + return + } + } else { + ctrl.responseSetConfigError(w, "validation", readError) + return + } + } else { + bodyError := errors.New("Request does not have a body") + ctrl.responseSetConfigError(w, "validation", bodyError) + return + } + result, err := ctrl.handler.SetConfig(item, r) + if err != nil { + ctrl.responseSetConfigError(w, "internal", err) + return + } + + if result.HasResponseBytes() { + if _, err := httpapi.WriteByteResponse(w, 200, result.ResponseBytes()); err != nil { + log.Print(err.Error()) + } + return + } + ctrl.responseSetConfigError(w, "internal", errors.New("Unknown error")) +} + +func (ctrl *bundlerController) responseSetConfigError(w http.ResponseWriter, errorKind openapiart.ErrorKindEnum, rsp_err error) { + var result openapiart.Error + var statusCode int32 + if errorKind == "validation" { + statusCode = 400 + } else if errorKind == "internal" { + statusCode = 500 + } + + if rErr, ok := rsp_err.(openapiart.Error); ok { + result = rErr + } else { + result = openapiart.NewError() + err := result.FromJson(rsp_err.Error()) + if err != nil { + result.Msg().Code = statusCode + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + result.Msg().Errors = []string{rsp_err.Error()} + } + } + + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + log.Print(err.Error()) + } +} + +/* +UpdateConfiguration: PATCH /api/config +Description: Deprecated: please use post instead + +Sets configuration resources. +*/ +func (ctrl *bundlerController) UpdateConfiguration(w http.ResponseWriter, r *http.Request) { + var item openapiart.UpdateConfig + if r.Body != nil { + body, readError := io.ReadAll(r.Body) + if body != nil { + item = openapiart.NewUpdateConfig() + err := item.FromJson(string(body)) + if err != nil { + ctrl.responseUpdateConfigurationError(w, "validation", err) + return + } + } else { + ctrl.responseUpdateConfigurationError(w, "validation", readError) + return + } + } else { + bodyError := errors.New("Request does not have a body") + ctrl.responseUpdateConfigurationError(w, "validation", bodyError) + return + } + result, err := ctrl.handler.UpdateConfiguration(item, r) + if err != nil { + ctrl.responseUpdateConfigurationError(w, "internal", err) + return + } + + if result.HasPrefixConfig() { + if _, err := httpapi.WriteJSONResponse(w, 200, result.PrefixConfig()); err != nil { + log.Print(err.Error()) + } + return + } + ctrl.responseUpdateConfigurationError(w, "internal", errors.New("Unknown error")) +} + +func (ctrl *bundlerController) responseUpdateConfigurationError(w http.ResponseWriter, errorKind openapiart.ErrorKindEnum, rsp_err error) { + var result openapiart.Error + var statusCode int32 + if errorKind == "validation" { + statusCode = 400 + } else if errorKind == "internal" { + statusCode = 500 + } + + if rErr, ok := rsp_err.(openapiart.Error); ok { + result = rErr + } else { + result = openapiart.NewError() + err := result.FromJson(rsp_err.Error()) + if err != nil { + result.Msg().Code = statusCode + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + result.Msg().Errors = []string{rsp_err.Error()} + } + } + + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + log.Print(err.Error()) + } +} + +/* +GetConfig: GET /api/config +Description: Gets the configuration resources. +*/ +func (ctrl *bundlerController) GetConfig(w http.ResponseWriter, r *http.Request) { + result, err := ctrl.handler.GetConfig(r) + if err != nil { + ctrl.responseGetConfigError(w, "internal", err) + return + } + + if result.HasPrefixConfig() { + if _, err := httpapi.WriteJSONResponse(w, 200, result.PrefixConfig()); err != nil { + log.Print(err.Error()) + } + return + } + ctrl.responseGetConfigError(w, "internal", errors.New("Unknown error")) +} + +func (ctrl *bundlerController) responseGetConfigError(w http.ResponseWriter, errorKind openapiart.ErrorKindEnum, rsp_err error) { + var result openapiart.Error + var statusCode int32 + if errorKind == "validation" { + statusCode = 400 + } else if errorKind == "internal" { + statusCode = 500 + } + + if rErr, ok := rsp_err.(openapiart.Error); ok { + result = rErr + } else { + result = openapiart.NewError() + err := result.FromJson(rsp_err.Error()) + if err != nil { + result.Msg().Code = statusCode + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + result.Msg().Errors = []string{rsp_err.Error()} + } + } + + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + log.Print(err.Error()) + } +} diff --git a/artifacts/openapiart_go/httpapi/controllers/capabilities_controller.go b/artifacts/openapiart_go/httpapi/controllers/capabilities_controller.go new file mode 100644 index 00000000..fa3648cf --- /dev/null +++ b/artifacts/openapiart_go/httpapi/controllers/capabilities_controller.go @@ -0,0 +1,75 @@ +// This file is autogenerated. Do not modify +package controllers + +import ( + "errors" + "log" + "net/http" + + openapiart "github.com/open-traffic-generator/openapiart/pkg" + "github.com/open-traffic-generator/openapiart/pkg/httpapi" + "github.com/open-traffic-generator/openapiart/pkg/httpapi/interfaces" +) + +type capabilitiesController struct { + handler interfaces.CapabilitiesHandler +} + +func NewHttpCapabilitiesController(handler interfaces.CapabilitiesHandler) interfaces.CapabilitiesController { + return &capabilitiesController{handler} +} + +func (ctrl *capabilitiesController) Routes() []httpapi.Route { + return []httpapi.Route{ + {Path: "/api/capabilities/version", Method: "GET", Name: "GetVersion", Handler: ctrl.GetVersion}, + } +} + +/* +GetVersion: GET /api/capabilities/version +Description: +*/ +func (ctrl *capabilitiesController) GetVersion(w http.ResponseWriter, r *http.Request) { + result, err := ctrl.handler.GetVersion(r) + if err != nil { + ctrl.responseGetVersionError(w, "internal", err) + return + } + + if result.HasVersion() { + if _, err := httpapi.WriteJSONResponse(w, 200, result.Version()); err != nil { + log.Print(err.Error()) + } + return + } + ctrl.responseGetVersionError(w, "internal", errors.New("Unknown error")) +} + +func (ctrl *capabilitiesController) responseGetVersionError(w http.ResponseWriter, errorKind openapiart.ErrorKindEnum, rsp_err error) { + var result openapiart.Error + var statusCode int32 + if errorKind == "validation" { + statusCode = 400 + } else if errorKind == "internal" { + statusCode = 500 + } + + if rErr, ok := rsp_err.(openapiart.Error); ok { + result = rErr + } else { + result = openapiart.NewError() + err := result.FromJson(rsp_err.Error()) + if err != nil { + result.Msg().Code = statusCode + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + result.Msg().Errors = []string{rsp_err.Error()} + } + } + + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + log.Print(err.Error()) + } +} diff --git a/artifacts/openapiart_go/httpapi/controllers/metrics_controller.go b/artifacts/openapiart_go/httpapi/controllers/metrics_controller.go new file mode 100644 index 00000000..5c3be79a --- /dev/null +++ b/artifacts/openapiart_go/httpapi/controllers/metrics_controller.go @@ -0,0 +1,195 @@ +// This file is autogenerated. Do not modify +package controllers + +import ( + "errors" + "io" + "log" + "net/http" + + openapiart "github.com/open-traffic-generator/openapiart/pkg" + "github.com/open-traffic-generator/openapiart/pkg/httpapi" + "github.com/open-traffic-generator/openapiart/pkg/httpapi/interfaces" +) + +type metricsController struct { + handler interfaces.MetricsHandler +} + +func NewHttpMetricsController(handler interfaces.MetricsHandler) interfaces.MetricsController { + return &metricsController{handler} +} + +func (ctrl *metricsController) Routes() []httpapi.Route { + return []httpapi.Route{ + {Path: "/api/metrics", Method: "GET", Name: "GetMetrics", Handler: ctrl.GetMetrics}, + {Path: "/api/warnings", Method: "GET", Name: "GetWarnings", Handler: ctrl.GetWarnings}, + {Path: "/api/warnings", Method: "DELETE", Name: "ClearWarnings", Handler: ctrl.ClearWarnings}, + } +} + +/* +GetMetrics: GET /api/metrics +Description: Gets metrics. +*/ +func (ctrl *metricsController) GetMetrics(w http.ResponseWriter, r *http.Request) { + var item openapiart.MetricsRequest + if r.Body != nil { + body, readError := io.ReadAll(r.Body) + if body != nil { + item = openapiart.NewMetricsRequest() + err := item.FromJson(string(body)) + if err != nil { + ctrl.responseGetMetricsError(w, "validation", err) + return + } + } else { + ctrl.responseGetMetricsError(w, "validation", readError) + return + } + } else { + bodyError := errors.New("Request does not have a body") + ctrl.responseGetMetricsError(w, "validation", bodyError) + return + } + result, err := ctrl.handler.GetMetrics(item, r) + if err != nil { + ctrl.responseGetMetricsError(w, "internal", err) + return + } + + if result.HasMetrics() { + if _, err := httpapi.WriteJSONResponse(w, 200, result.Metrics()); err != nil { + log.Print(err.Error()) + } + return + } + ctrl.responseGetMetricsError(w, "internal", errors.New("Unknown error")) +} + +func (ctrl *metricsController) responseGetMetricsError(w http.ResponseWriter, errorKind openapiart.ErrorKindEnum, rsp_err error) { + var result openapiart.Error + var statusCode int32 + if errorKind == "validation" { + statusCode = 400 + } else if errorKind == "internal" { + statusCode = 500 + } + + if rErr, ok := rsp_err.(openapiart.Error); ok { + result = rErr + } else { + result = openapiart.NewError() + err := result.FromJson(rsp_err.Error()) + if err != nil { + result.Msg().Code = statusCode + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + result.Msg().Errors = []string{rsp_err.Error()} + } + } + + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + log.Print(err.Error()) + } +} + +/* +GetWarnings: GET /api/warnings +Description: Gets warnings. +*/ +func (ctrl *metricsController) GetWarnings(w http.ResponseWriter, r *http.Request) { + result, err := ctrl.handler.GetWarnings(r) + if err != nil { + ctrl.responseGetWarningsError(w, "internal", err) + return + } + + if result.HasWarningDetails() { + if _, err := httpapi.WriteJSONResponse(w, 200, result.WarningDetails()); err != nil { + log.Print(err.Error()) + } + return + } + ctrl.responseGetWarningsError(w, "internal", errors.New("Unknown error")) +} + +func (ctrl *metricsController) responseGetWarningsError(w http.ResponseWriter, errorKind openapiart.ErrorKindEnum, rsp_err error) { + var result openapiart.Error + var statusCode int32 + if errorKind == "validation" { + statusCode = 400 + } else if errorKind == "internal" { + statusCode = 500 + } + + if rErr, ok := rsp_err.(openapiart.Error); ok { + result = rErr + } else { + result = openapiart.NewError() + err := result.FromJson(rsp_err.Error()) + if err != nil { + result.Msg().Code = statusCode + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + result.Msg().Errors = []string{rsp_err.Error()} + } + } + + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + log.Print(err.Error()) + } +} + +/* +ClearWarnings: DELETE /api/warnings +Description: Clears warnings. +*/ +func (ctrl *metricsController) ClearWarnings(w http.ResponseWriter, r *http.Request) { + result, err := ctrl.handler.ClearWarnings(r) + if err != nil { + ctrl.responseClearWarningsError(w, "internal", err) + return + } + + if result.HasResponseString() { + if _, err := httpapi.WriteAnyResponse(w, 200, result.ResponseString()); err != nil { + log.Print(err.Error()) + } + return + } + ctrl.responseClearWarningsError(w, "internal", errors.New("Unknown error")) +} + +func (ctrl *metricsController) responseClearWarningsError(w http.ResponseWriter, errorKind openapiart.ErrorKindEnum, rsp_err error) { + var result openapiart.Error + var statusCode int32 + if errorKind == "validation" { + statusCode = 400 + } else if errorKind == "internal" { + statusCode = 500 + } + + if rErr, ok := rsp_err.(openapiart.Error); ok { + result = rErr + } else { + result = openapiart.NewError() + err := result.FromJson(rsp_err.Error()) + if err != nil { + result.Msg().Code = statusCode + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + result.Msg().Errors = []string{rsp_err.Error()} + } + } + + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + log.Print(err.Error()) + } +} diff --git a/artifacts/openapiart_go/httpapi/controllers/serviceabc_controller.go b/artifacts/openapiart_go/httpapi/controllers/serviceabc_controller.go new file mode 100644 index 00000000..1052353a --- /dev/null +++ b/artifacts/openapiart_go/httpapi/controllers/serviceabc_controller.go @@ -0,0 +1,175 @@ +// This file is autogenerated. Do not modify +package controllers + +import ( + "errors" + "log" + "net/http" + + openapiart "github.com/open-traffic-generator/openapiart/pkg" + "github.com/open-traffic-generator/openapiart/pkg/httpapi" + "github.com/open-traffic-generator/openapiart/pkg/httpapi/interfaces" +) + +type serviceAbcController struct { + handler interfaces.ServiceAbcHandler +} + +func NewHttpServiceAbcController(handler interfaces.ServiceAbcHandler) interfaces.ServiceAbcController { + return &serviceAbcController{handler} +} + +func (ctrl *serviceAbcController) Routes() []httpapi.Route { + return []httpapi.Route{ + {Path: "/api/serviceb", Method: "GET", Name: "GetAllItems", Handler: ctrl.GetAllItems}, + {Path: "/api/serviceb/{item_id}", Method: "GET", Name: "GetSingleItem", Handler: ctrl.GetSingleItem}, + {Path: "/api/serviceb/{item_id}/{level_2}", Method: "GET", Name: "GetSingleItemLevel2", Handler: ctrl.GetSingleItemLevel2}, + } +} + +/* +GetAllItems: GET /api/serviceb +Description: return list of some items +*/ +func (ctrl *serviceAbcController) GetAllItems(w http.ResponseWriter, r *http.Request) { + result, err := ctrl.handler.GetAllItems(r) + if err != nil { + ctrl.responseGetAllItemsError(w, "internal", err) + return + } + + if result.HasServiceAbcItemList() { + if _, err := httpapi.WriteJSONResponse(w, 200, result.ServiceAbcItemList()); err != nil { + log.Print(err.Error()) + } + return + } + ctrl.responseGetAllItemsError(w, "internal", errors.New("Unknown error")) +} + +func (ctrl *serviceAbcController) responseGetAllItemsError(w http.ResponseWriter, errorKind openapiart.ErrorKindEnum, rsp_err error) { + var result openapiart.Error + var statusCode int32 + if errorKind == "validation" { + statusCode = 400 + } else if errorKind == "internal" { + statusCode = 500 + } + + if rErr, ok := rsp_err.(openapiart.Error); ok { + result = rErr + } else { + result = openapiart.NewError() + err := result.FromJson(rsp_err.Error()) + if err != nil { + result.Msg().Code = statusCode + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + result.Msg().Errors = []string{rsp_err.Error()} + } + } + + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + log.Print(err.Error()) + } +} + +/* +GetSingleItem: GET /api/serviceb/{item_id} +Description: return single item +*/ +func (ctrl *serviceAbcController) GetSingleItem(w http.ResponseWriter, r *http.Request) { + result, err := ctrl.handler.GetSingleItem(r) + if err != nil { + ctrl.responseGetSingleItemError(w, "internal", err) + return + } + + if result.HasServiceAbcItem() { + if _, err := httpapi.WriteJSONResponse(w, 200, result.ServiceAbcItem()); err != nil { + log.Print(err.Error()) + } + return + } + ctrl.responseGetSingleItemError(w, "internal", errors.New("Unknown error")) +} + +func (ctrl *serviceAbcController) responseGetSingleItemError(w http.ResponseWriter, errorKind openapiart.ErrorKindEnum, rsp_err error) { + var result openapiart.Error + var statusCode int32 + if errorKind == "validation" { + statusCode = 400 + } else if errorKind == "internal" { + statusCode = 500 + } + + if rErr, ok := rsp_err.(openapiart.Error); ok { + result = rErr + } else { + result = openapiart.NewError() + err := result.FromJson(rsp_err.Error()) + if err != nil { + result.Msg().Code = statusCode + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + result.Msg().Errors = []string{rsp_err.Error()} + } + } + + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + log.Print(err.Error()) + } +} + +/* +GetSingleItemLevel2: GET /api/serviceb/{item_id}/{level_2} +Description: return single item +*/ +func (ctrl *serviceAbcController) GetSingleItemLevel2(w http.ResponseWriter, r *http.Request) { + result, err := ctrl.handler.GetSingleItemLevel2(r) + if err != nil { + ctrl.responseGetSingleItemLevel2Error(w, "internal", err) + return + } + + if result.HasServiceAbcItem() { + if _, err := httpapi.WriteJSONResponse(w, 200, result.ServiceAbcItem()); err != nil { + log.Print(err.Error()) + } + return + } + ctrl.responseGetSingleItemLevel2Error(w, "internal", errors.New("Unknown error")) +} + +func (ctrl *serviceAbcController) responseGetSingleItemLevel2Error(w http.ResponseWriter, errorKind openapiart.ErrorKindEnum, rsp_err error) { + var result openapiart.Error + var statusCode int32 + if errorKind == "validation" { + statusCode = 400 + } else if errorKind == "internal" { + statusCode = 500 + } + + if rErr, ok := rsp_err.(openapiart.Error); ok { + result = rErr + } else { + result = openapiart.NewError() + err := result.FromJson(rsp_err.Error()) + if err != nil { + result.Msg().Code = statusCode + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + result.Msg().Errors = []string{rsp_err.Error()} + } + } + + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + log.Print(err.Error()) + } +} diff --git a/artifacts/openapiart_go/httpapi/http_setup.go b/artifacts/openapiart_go/httpapi/http_setup.go new file mode 100644 index 00000000..21eda6d7 --- /dev/null +++ b/artifacts/openapiart_go/httpapi/http_setup.go @@ -0,0 +1,40 @@ +// This file is autogenerated. Do not modify +package httpapi + +import ( + "net/http" + + "github.com/gorilla/mux" +) + +// Route defines the parameters for an api endpoint. +type Route struct { + Name string + Method string + Path string + Handler http.HandlerFunc +} + +// Controller creates a set of HTTP routes. +type HttpController interface { + Routes() []Route +} + +// AppendRoutes appends the routes of one or more Controllers to a mux.Router. +// If a nil router is passed, a new router will be created here. +func AppendRoutes(router *mux.Router, controllers ...HttpController) *mux.Router { + if router == nil { + router = mux.NewRouter() + } + + for _, controller := range controllers { + for _, route := range controller.Routes() { + router. + Methods(route.Method). + Path(route.Path). + Name(route.Name). + Handler(route.Handler) + } + } + return router +} diff --git a/artifacts/openapiart_go/httpapi/interfaces/apitest_interface.go b/artifacts/openapiart_go/httpapi/interfaces/apitest_interface.go new file mode 100644 index 00000000..f2867bff --- /dev/null +++ b/artifacts/openapiart_go/httpapi/interfaces/apitest_interface.go @@ -0,0 +1,35 @@ +// This file is autogenerated. Do not modify +package interfaces + +import ( + "net/http" + + openapiart "github.com/open-traffic-generator/openapiart/pkg" + "github.com/open-traffic-generator/openapiart/pkg/httpapi" +) + +type ApiTestController interface { + Routes() []httpapi.Route + GetRootResponse(w http.ResponseWriter, r *http.Request) + DummyResponseTest(w http.ResponseWriter, r *http.Request) + PostRootResponse(w http.ResponseWriter, r *http.Request) +} + +type ApiTestHandler interface { + GetController() ApiTestController + /* + GetRootResponse: GET /api/apitest + Description: simple GET api with single return type + */ + GetRootResponse(r *http.Request) (openapiart.GetRootResponseResponse, error) + /* + DummyResponseTest: DELETE /api/apitest + Description: + */ + DummyResponseTest(r *http.Request) (openapiart.DummyResponseTestResponse, error) + /* + PostRootResponse: POST /api/apitest + Description: simple POST api with single return type + */ + PostRootResponse(rbody openapiart.ApiTestInputBody, r *http.Request) (openapiart.PostRootResponseResponse, error) +} diff --git a/artifacts/openapiart_go/httpapi/interfaces/bundler_interface.go b/artifacts/openapiart_go/httpapi/interfaces/bundler_interface.go new file mode 100644 index 00000000..64f147e5 --- /dev/null +++ b/artifacts/openapiart_go/httpapi/interfaces/bundler_interface.go @@ -0,0 +1,37 @@ +// This file is autogenerated. Do not modify +package interfaces + +import ( + "net/http" + + openapiart "github.com/open-traffic-generator/openapiart/pkg" + "github.com/open-traffic-generator/openapiart/pkg/httpapi" +) + +type BundlerController interface { + Routes() []httpapi.Route + SetConfig(w http.ResponseWriter, r *http.Request) + UpdateConfiguration(w http.ResponseWriter, r *http.Request) + GetConfig(w http.ResponseWriter, r *http.Request) +} + +type BundlerHandler interface { + GetController() BundlerController + /* + SetConfig: POST /api/config + Description: Sets configuration resources. + */ + SetConfig(rbody openapiart.PrefixConfig, r *http.Request) (openapiart.SetConfigResponse, error) + /* + UpdateConfiguration: PATCH /api/config + Description: Deprecated: please use post instead + + Sets configuration resources. + */ + UpdateConfiguration(rbody openapiart.UpdateConfig, r *http.Request) (openapiart.UpdateConfigurationResponse, error) + /* + GetConfig: GET /api/config + Description: Gets the configuration resources. + */ + GetConfig(r *http.Request) (openapiart.GetConfigResponse, error) +} diff --git a/artifacts/openapiart_go/httpapi/interfaces/capabilities_interface.go b/artifacts/openapiart_go/httpapi/interfaces/capabilities_interface.go new file mode 100644 index 00000000..bb86ab41 --- /dev/null +++ b/artifacts/openapiart_go/httpapi/interfaces/capabilities_interface.go @@ -0,0 +1,23 @@ +// This file is autogenerated. Do not modify +package interfaces + +import ( + "net/http" + + openapiart "github.com/open-traffic-generator/openapiart/pkg" + "github.com/open-traffic-generator/openapiart/pkg/httpapi" +) + +type CapabilitiesController interface { + Routes() []httpapi.Route + GetVersion(w http.ResponseWriter, r *http.Request) +} + +type CapabilitiesHandler interface { + GetController() CapabilitiesController + /* + GetVersion: GET /api/capabilities/version + Description: + */ + GetVersion(r *http.Request) (openapiart.GetVersionResponse, error) +} diff --git a/artifacts/openapiart_go/httpapi/interfaces/metrics_interface.go b/artifacts/openapiart_go/httpapi/interfaces/metrics_interface.go new file mode 100644 index 00000000..b3326753 --- /dev/null +++ b/artifacts/openapiart_go/httpapi/interfaces/metrics_interface.go @@ -0,0 +1,35 @@ +// This file is autogenerated. Do not modify +package interfaces + +import ( + "net/http" + + openapiart "github.com/open-traffic-generator/openapiart/pkg" + "github.com/open-traffic-generator/openapiart/pkg/httpapi" +) + +type MetricsController interface { + Routes() []httpapi.Route + GetMetrics(w http.ResponseWriter, r *http.Request) + GetWarnings(w http.ResponseWriter, r *http.Request) + ClearWarnings(w http.ResponseWriter, r *http.Request) +} + +type MetricsHandler interface { + GetController() MetricsController + /* + GetMetrics: GET /api/metrics + Description: Gets metrics. + */ + GetMetrics(rbody openapiart.MetricsRequest, r *http.Request) (openapiart.GetMetricsResponse, error) + /* + GetWarnings: GET /api/warnings + Description: Gets warnings. + */ + GetWarnings(r *http.Request) (openapiart.GetWarningsResponse, error) + /* + ClearWarnings: DELETE /api/warnings + Description: Clears warnings. + */ + ClearWarnings(r *http.Request) (openapiart.ClearWarningsResponse, error) +} diff --git a/artifacts/openapiart_go/httpapi/interfaces/serviceabc_interface.go b/artifacts/openapiart_go/httpapi/interfaces/serviceabc_interface.go new file mode 100644 index 00000000..4e46dd52 --- /dev/null +++ b/artifacts/openapiart_go/httpapi/interfaces/serviceabc_interface.go @@ -0,0 +1,40 @@ +// This file is autogenerated. Do not modify +package interfaces + +import ( + "net/http" + + openapiart "github.com/open-traffic-generator/openapiart/pkg" + "github.com/open-traffic-generator/openapiart/pkg/httpapi" +) + +const ( + ServiceAbcItemId = "item_id" + ServiceAbcLevel2 = "level_2" +) + +type ServiceAbcController interface { + Routes() []httpapi.Route + GetAllItems(w http.ResponseWriter, r *http.Request) + GetSingleItem(w http.ResponseWriter, r *http.Request) + GetSingleItemLevel2(w http.ResponseWriter, r *http.Request) +} + +type ServiceAbcHandler interface { + GetController() ServiceAbcController + /* + GetAllItems: GET /api/serviceb + Description: return list of some items + */ + GetAllItems(r *http.Request) (openapiart.GetAllItemsResponse, error) + /* + GetSingleItem: GET /api/serviceb/{item_id} + Description: return single item + */ + GetSingleItem(r *http.Request) (openapiart.GetSingleItemResponse, error) + /* + GetSingleItemLevel2: GET /api/serviceb/{item_id}/{level_2} + Description: return single item + */ + GetSingleItemLevel2(r *http.Request) (openapiart.GetSingleItemLevel2Response, error) +} diff --git a/artifacts/openapiart_go/httpapi/response.go b/artifacts/openapiart_go/httpapi/response.go new file mode 100644 index 00000000..abfe8cd6 --- /dev/null +++ b/artifacts/openapiart_go/httpapi/response.go @@ -0,0 +1,69 @@ +// This file is autogenerated. Do not modify +package httpapi + +import ( + "encoding/json" + "fmt" + "log" + "net/http" +) + +// JSONWriter offers conversion to JSON. +type JSONWriter interface { + ToJson() (string, error) +} + +// WriteJSONResponse sets an HTTP response with the provided status-code and JSON body. +func WriteJSONResponse(w http.ResponseWriter, statuscode int, data JSONWriter) (int, error) { + w.Header().Set("Content-Type", "application/json; charset=UTF-8") + w.WriteHeader(statuscode) + dataStr, err := data.ToJson() + if err != nil { + if _, err := WriteDefaultResponse(w, http.StatusInternalServerError); err != nil { + log.Print(err.Error()) + } + } + return w.Write([]byte(dataStr)) +} + +// WriteJSONResponse sets an HTTP response with the provided status-code and JSON data. +func WriteCustomJSONResponse(w http.ResponseWriter, statuscode int, data []byte) (int, error) { + w.Header().Set("Content-Type", "application/json; charset=UTF-8") + w.WriteHeader(statuscode) + return w.Write([]byte(data)) +} + +func WriteByteResponse(w http.ResponseWriter, statuscode int, data []byte) (int, error) { + w.Header().Set("Content-Type", "application/octet-stream; charset=UTF-8") + w.WriteHeader(statuscode) + return w.Write(data) +} + +// WriteTextResponse sets an HTTP response with the provided status-code and string. +func WriteAnyResponse(w http.ResponseWriter, statuscode int, data interface{}) (int, error) { + w.Header().Set("Content-Type", "text/plain; charset=UTF-8") + w.WriteHeader(statuscode) + var dataBytes, _ = json.Marshal(data) + return w.Write(dataBytes) +} + +// YAMLWriter offers conversion to YAML. +type YAMLWriter interface { + ToYaml() string +} + +// WriteYAMLResponse sets an HTTP response with the provided status-code and JSON body. +func WriteYAMLResponse(w http.ResponseWriter, statuscode int, data YAMLWriter) (int, error) { + w.Header().Set("Content-Type", "application/yaml; charset=UTF-8") + w.WriteHeader(statuscode) + return w.Write([]byte(data.ToYaml())) +} + +// WriteDefaultResponse sets the body of a response with the text associated with the HTTP status. +func WriteDefaultResponse(w http.ResponseWriter, status int) (int, error) { + w.Header().Set("Content-Type", "text/plain; charset=utf-8") + w.Header().Set("X-Content-Type-Options", "nosniff") + w.WriteHeader(status) + fmt.Fprintf(w, "%d %s", status, http.StatusText(status)) + return status, nil +} diff --git a/artifacts/openapiart_go/sanity/sanity.pb.go b/artifacts/openapiart_go/sanity/sanity.pb.go new file mode 100644 index 00000000..384ab0e3 --- /dev/null +++ b/artifacts/openapiart_go/sanity/sanity.pb.go @@ -0,0 +1,8925 @@ +// OpenAPIArt Test API 0.0.1 +// Demonstrates the features of the OpenAPIArt package +// License: NO-LICENSE-PRESENT + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v4.23.3 +// source: sanity.proto + +package sanity + +import ( + reflect "reflect" + sync "sync" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + _ "google.golang.org/protobuf/types/descriptorpb" + emptypb "google.golang.org/protobuf/types/known/emptypb" +) + +const ( + // Verify that this generated code 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 Error_Kind_Enum int32 + +const ( + Error_Kind_unspecified Error_Kind_Enum = 0 + Error_Kind_transport Error_Kind_Enum = 1 + Error_Kind_validation Error_Kind_Enum = 2 + Error_Kind_internal Error_Kind_Enum = 3 +) + +// Enum value maps for Error_Kind_Enum. +var ( + Error_Kind_Enum_name = map[int32]string{ + 0: "unspecified", + 1: "transport", + 2: "validation", + 3: "internal", + } + Error_Kind_Enum_value = map[string]int32{ + "unspecified": 0, + "transport": 1, + "validation": 2, + "internal": 3, + } +) + +func (x Error_Kind_Enum) Enum() *Error_Kind_Enum { + p := new(Error_Kind_Enum) + *p = x + return p +} + +func (x Error_Kind_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Error_Kind_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_sanity_proto_enumTypes[0].Descriptor() +} + +func (Error_Kind_Enum) Type() protoreflect.EnumType { + return &file_sanity_proto_enumTypes[0] +} + +func (x Error_Kind_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Error_Kind_Enum.Descriptor instead. +func (Error_Kind_Enum) EnumDescriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{2, 0, 0} +} + +type PrefixConfig_Response_Enum int32 + +const ( + PrefixConfig_Response_unspecified PrefixConfig_Response_Enum = 0 + PrefixConfig_Response_status_200 PrefixConfig_Response_Enum = 1 + PrefixConfig_Response_status_400 PrefixConfig_Response_Enum = 2 + PrefixConfig_Response_status_404 PrefixConfig_Response_Enum = 3 + PrefixConfig_Response_status_500 PrefixConfig_Response_Enum = 4 +) + +// Enum value maps for PrefixConfig_Response_Enum. +var ( + PrefixConfig_Response_Enum_name = map[int32]string{ + 0: "unspecified", + 1: "status_200", + 2: "status_400", + 3: "status_404", + 4: "status_500", + } + PrefixConfig_Response_Enum_value = map[string]int32{ + "unspecified": 0, + "status_200": 1, + "status_400": 2, + "status_404": 3, + "status_500": 4, + } +) + +func (x PrefixConfig_Response_Enum) Enum() *PrefixConfig_Response_Enum { + p := new(PrefixConfig_Response_Enum) + *p = x + return p +} + +func (x PrefixConfig_Response_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PrefixConfig_Response_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_sanity_proto_enumTypes[1].Descriptor() +} + +func (PrefixConfig_Response_Enum) Type() protoreflect.EnumType { + return &file_sanity_proto_enumTypes[1] +} + +func (x PrefixConfig_Response_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PrefixConfig_Response_Enum.Descriptor instead. +func (PrefixConfig_Response_Enum) EnumDescriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{3, 0, 0} +} + +type PrefixConfig_DValues_Enum int32 + +const ( + PrefixConfig_DValues_unspecified PrefixConfig_DValues_Enum = 0 + PrefixConfig_DValues_a PrefixConfig_DValues_Enum = 1 + PrefixConfig_DValues_b PrefixConfig_DValues_Enum = 2 + PrefixConfig_DValues_c PrefixConfig_DValues_Enum = 3 +) + +// Enum value maps for PrefixConfig_DValues_Enum. +var ( + PrefixConfig_DValues_Enum_name = map[int32]string{ + 0: "unspecified", + 1: "a", + 2: "b", + 3: "c", + } + PrefixConfig_DValues_Enum_value = map[string]int32{ + "unspecified": 0, + "a": 1, + "b": 2, + "c": 3, + } +) + +func (x PrefixConfig_DValues_Enum) Enum() *PrefixConfig_DValues_Enum { + p := new(PrefixConfig_DValues_Enum) + *p = x + return p +} + +func (x PrefixConfig_DValues_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PrefixConfig_DValues_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_sanity_proto_enumTypes[2].Descriptor() +} + +func (PrefixConfig_DValues_Enum) Type() protoreflect.EnumType { + return &file_sanity_proto_enumTypes[2] +} + +func (x PrefixConfig_DValues_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PrefixConfig_DValues_Enum.Descriptor instead. +func (PrefixConfig_DValues_Enum) EnumDescriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{3, 1, 0} +} + +type GObject_Choice_Enum int32 + +const ( + GObject_Choice_unspecified GObject_Choice_Enum = 0 + GObject_Choice_g_d GObject_Choice_Enum = 1 + GObject_Choice_g_e GObject_Choice_Enum = 2 +) + +// Enum value maps for GObject_Choice_Enum. +var ( + GObject_Choice_Enum_name = map[int32]string{ + 0: "unspecified", + 1: "g_d", + 2: "g_e", + } + GObject_Choice_Enum_value = map[string]int32{ + "unspecified": 0, + "g_d": 1, + "g_e": 2, + } +) + +func (x GObject_Choice_Enum) Enum() *GObject_Choice_Enum { + p := new(GObject_Choice_Enum) + *p = x + return p +} + +func (x GObject_Choice_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (GObject_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_sanity_proto_enumTypes[3].Descriptor() +} + +func (GObject_Choice_Enum) Type() protoreflect.EnumType { + return &file_sanity_proto_enumTypes[3] +} + +func (x GObject_Choice_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use GObject_Choice_Enum.Descriptor instead. +func (GObject_Choice_Enum) EnumDescriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{8, 0, 0} +} + +type GObject_GF_Enum int32 + +const ( + GObject_GF_unspecified GObject_GF_Enum = 0 + GObject_GF_a GObject_GF_Enum = 1 + GObject_GF_b GObject_GF_Enum = 2 + GObject_GF_c GObject_GF_Enum = 3 +) + +// Enum value maps for GObject_GF_Enum. +var ( + GObject_GF_Enum_name = map[int32]string{ + 0: "unspecified", + 1: "a", + 2: "b", + 3: "c", + } + GObject_GF_Enum_value = map[string]int32{ + "unspecified": 0, + "a": 1, + "b": 2, + "c": 3, + } +) + +func (x GObject_GF_Enum) Enum() *GObject_GF_Enum { + p := new(GObject_GF_Enum) + *p = x + return p +} + +func (x GObject_GF_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (GObject_GF_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_sanity_proto_enumTypes[4].Descriptor() +} + +func (GObject_GF_Enum) Type() protoreflect.EnumType { + return &file_sanity_proto_enumTypes[4] +} + +func (x GObject_GF_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use GObject_GF_Enum.Descriptor instead. +func (GObject_GF_Enum) EnumDescriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{8, 1, 0} +} + +type FObject_Choice_Enum int32 + +const ( + FObject_Choice_unspecified FObject_Choice_Enum = 0 + FObject_Choice_f_a FObject_Choice_Enum = 1 + FObject_Choice_f_b FObject_Choice_Enum = 2 + FObject_Choice_f_c FObject_Choice_Enum = 3 +) + +// Enum value maps for FObject_Choice_Enum. +var ( + FObject_Choice_Enum_name = map[int32]string{ + 0: "unspecified", + 1: "f_a", + 2: "f_b", + 3: "f_c", + } + FObject_Choice_Enum_value = map[string]int32{ + "unspecified": 0, + "f_a": 1, + "f_b": 2, + "f_c": 3, + } +) + +func (x FObject_Choice_Enum) Enum() *FObject_Choice_Enum { + p := new(FObject_Choice_Enum) + *p = x + return p +} + +func (x FObject_Choice_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (FObject_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_sanity_proto_enumTypes[5].Descriptor() +} + +func (FObject_Choice_Enum) Type() protoreflect.EnumType { + return &file_sanity_proto_enumTypes[5] +} + +func (x FObject_Choice_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use FObject_Choice_Enum.Descriptor instead. +func (FObject_Choice_Enum) EnumDescriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{10, 0, 0} +} + +type JObject_Choice_Enum int32 + +const ( + JObject_Choice_unspecified JObject_Choice_Enum = 0 + JObject_Choice_j_a JObject_Choice_Enum = 1 + JObject_Choice_j_b JObject_Choice_Enum = 2 +) + +// Enum value maps for JObject_Choice_Enum. +var ( + JObject_Choice_Enum_name = map[int32]string{ + 0: "unspecified", + 1: "j_a", + 2: "j_b", + } + JObject_Choice_Enum_value = map[string]int32{ + "unspecified": 0, + "j_a": 1, + "j_b": 2, + } +) + +func (x JObject_Choice_Enum) Enum() *JObject_Choice_Enum { + p := new(JObject_Choice_Enum) + *p = x + return p +} + +func (x JObject_Choice_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (JObject_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_sanity_proto_enumTypes[6].Descriptor() +} + +func (JObject_Choice_Enum) Type() protoreflect.EnumType { + return &file_sanity_proto_enumTypes[6] +} + +func (x JObject_Choice_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use JObject_Choice_Enum.Descriptor instead. +func (JObject_Choice_Enum) EnumDescriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{11, 0, 0} +} + +type ChoiceObject_Choice_Enum int32 + +const ( + ChoiceObject_Choice_unspecified ChoiceObject_Choice_Enum = 0 + ChoiceObject_Choice_e_obj ChoiceObject_Choice_Enum = 1 + ChoiceObject_Choice_f_obj ChoiceObject_Choice_Enum = 2 + ChoiceObject_Choice_no_obj ChoiceObject_Choice_Enum = 3 +) + +// Enum value maps for ChoiceObject_Choice_Enum. +var ( + ChoiceObject_Choice_Enum_name = map[int32]string{ + 0: "unspecified", + 1: "e_obj", + 2: "f_obj", + 3: "no_obj", + } + ChoiceObject_Choice_Enum_value = map[string]int32{ + "unspecified": 0, + "e_obj": 1, + "f_obj": 2, + "no_obj": 3, + } +) + +func (x ChoiceObject_Choice_Enum) Enum() *ChoiceObject_Choice_Enum { + p := new(ChoiceObject_Choice_Enum) + *p = x + return p +} + +func (x ChoiceObject_Choice_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ChoiceObject_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_sanity_proto_enumTypes[7].Descriptor() +} + +func (ChoiceObject_Choice_Enum) Type() protoreflect.EnumType { + return &file_sanity_proto_enumTypes[7] +} + +func (x ChoiceObject_Choice_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ChoiceObject_Choice_Enum.Descriptor instead. +func (ChoiceObject_Choice_Enum) EnumDescriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{12, 0, 0} +} + +type MetricsRequest_Choice_Enum int32 + +const ( + MetricsRequest_Choice_unspecified MetricsRequest_Choice_Enum = 0 + MetricsRequest_Choice_port MetricsRequest_Choice_Enum = 1 + MetricsRequest_Choice_flow MetricsRequest_Choice_Enum = 2 +) + +// Enum value maps for MetricsRequest_Choice_Enum. +var ( + MetricsRequest_Choice_Enum_name = map[int32]string{ + 0: "unspecified", + 1: "port", + 2: "flow", + } + MetricsRequest_Choice_Enum_value = map[string]int32{ + "unspecified": 0, + "port": 1, + "flow": 2, + } +) + +func (x MetricsRequest_Choice_Enum) Enum() *MetricsRequest_Choice_Enum { + p := new(MetricsRequest_Choice_Enum) + *p = x + return p +} + +func (x MetricsRequest_Choice_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (MetricsRequest_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_sanity_proto_enumTypes[8].Descriptor() +} + +func (MetricsRequest_Choice_Enum) Type() protoreflect.EnumType { + return &file_sanity_proto_enumTypes[8] +} + +func (x MetricsRequest_Choice_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use MetricsRequest_Choice_Enum.Descriptor instead. +func (MetricsRequest_Choice_Enum) EnumDescriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{18, 0, 0} +} + +type Metrics_Choice_Enum int32 + +const ( + Metrics_Choice_unspecified Metrics_Choice_Enum = 0 + Metrics_Choice_ports Metrics_Choice_Enum = 1 + Metrics_Choice_flows Metrics_Choice_Enum = 2 +) + +// Enum value maps for Metrics_Choice_Enum. +var ( + Metrics_Choice_Enum_name = map[int32]string{ + 0: "unspecified", + 1: "ports", + 2: "flows", + } + Metrics_Choice_Enum_value = map[string]int32{ + "unspecified": 0, + "ports": 1, + "flows": 2, + } +) + +func (x Metrics_Choice_Enum) Enum() *Metrics_Choice_Enum { + p := new(Metrics_Choice_Enum) + *p = x + return p +} + +func (x Metrics_Choice_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Metrics_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_sanity_proto_enumTypes[9].Descriptor() +} + +func (Metrics_Choice_Enum) Type() protoreflect.EnumType { + return &file_sanity_proto_enumTypes[9] +} + +func (x Metrics_Choice_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Metrics_Choice_Enum.Descriptor instead. +func (Metrics_Choice_Enum) EnumDescriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{19, 0, 0} +} + +type RequiredChoiceParent_Choice_Enum int32 + +const ( + RequiredChoiceParent_Choice_unspecified RequiredChoiceParent_Choice_Enum = 0 + RequiredChoiceParent_Choice_intermediate_obj RequiredChoiceParent_Choice_Enum = 1 + RequiredChoiceParent_Choice_no_obj RequiredChoiceParent_Choice_Enum = 2 +) + +// Enum value maps for RequiredChoiceParent_Choice_Enum. +var ( + RequiredChoiceParent_Choice_Enum_name = map[int32]string{ + 0: "unspecified", + 1: "intermediate_obj", + 2: "no_obj", + } + RequiredChoiceParent_Choice_Enum_value = map[string]int32{ + "unspecified": 0, + "intermediate_obj": 1, + "no_obj": 2, + } +) + +func (x RequiredChoiceParent_Choice_Enum) Enum() *RequiredChoiceParent_Choice_Enum { + p := new(RequiredChoiceParent_Choice_Enum) + *p = x + return p +} + +func (x RequiredChoiceParent_Choice_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (RequiredChoiceParent_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_sanity_proto_enumTypes[10].Descriptor() +} + +func (RequiredChoiceParent_Choice_Enum) Type() protoreflect.EnumType { + return &file_sanity_proto_enumTypes[10] +} + +func (x RequiredChoiceParent_Choice_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use RequiredChoiceParent_Choice_Enum.Descriptor instead. +func (RequiredChoiceParent_Choice_Enum) EnumDescriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{22, 0, 0} +} + +type RequiredChoiceIntermediate_Choice_Enum int32 + +const ( + RequiredChoiceIntermediate_Choice_unspecified RequiredChoiceIntermediate_Choice_Enum = 0 + RequiredChoiceIntermediate_Choice_f_a RequiredChoiceIntermediate_Choice_Enum = 1 + RequiredChoiceIntermediate_Choice_leaf RequiredChoiceIntermediate_Choice_Enum = 2 +) + +// Enum value maps for RequiredChoiceIntermediate_Choice_Enum. +var ( + RequiredChoiceIntermediate_Choice_Enum_name = map[int32]string{ + 0: "unspecified", + 1: "f_a", + 2: "leaf", + } + RequiredChoiceIntermediate_Choice_Enum_value = map[string]int32{ + "unspecified": 0, + "f_a": 1, + "leaf": 2, + } +) + +func (x RequiredChoiceIntermediate_Choice_Enum) Enum() *RequiredChoiceIntermediate_Choice_Enum { + p := new(RequiredChoiceIntermediate_Choice_Enum) + *p = x + return p +} + +func (x RequiredChoiceIntermediate_Choice_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (RequiredChoiceIntermediate_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_sanity_proto_enumTypes[11].Descriptor() +} + +func (RequiredChoiceIntermediate_Choice_Enum) Type() protoreflect.EnumType { + return &file_sanity_proto_enumTypes[11] +} + +func (x RequiredChoiceIntermediate_Choice_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use RequiredChoiceIntermediate_Choice_Enum.Descriptor instead. +func (RequiredChoiceIntermediate_Choice_Enum) EnumDescriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{23, 0, 0} +} + +type PatternPrefixConfigHeaderChecksum_Choice_Enum int32 + +const ( + PatternPrefixConfigHeaderChecksum_Choice_unspecified PatternPrefixConfigHeaderChecksum_Choice_Enum = 0 + PatternPrefixConfigHeaderChecksum_Choice_generated PatternPrefixConfigHeaderChecksum_Choice_Enum = 1 + PatternPrefixConfigHeaderChecksum_Choice_custom PatternPrefixConfigHeaderChecksum_Choice_Enum = 2 +) + +// Enum value maps for PatternPrefixConfigHeaderChecksum_Choice_Enum. +var ( + PatternPrefixConfigHeaderChecksum_Choice_Enum_name = map[int32]string{ + 0: "unspecified", + 1: "generated", + 2: "custom", + } + PatternPrefixConfigHeaderChecksum_Choice_Enum_value = map[string]int32{ + "unspecified": 0, + "generated": 1, + "custom": 2, + } +) + +func (x PatternPrefixConfigHeaderChecksum_Choice_Enum) Enum() *PatternPrefixConfigHeaderChecksum_Choice_Enum { + p := new(PatternPrefixConfigHeaderChecksum_Choice_Enum) + *p = x + return p +} + +func (x PatternPrefixConfigHeaderChecksum_Choice_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PatternPrefixConfigHeaderChecksum_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_sanity_proto_enumTypes[12].Descriptor() +} + +func (PatternPrefixConfigHeaderChecksum_Choice_Enum) Type() protoreflect.EnumType { + return &file_sanity_proto_enumTypes[12] +} + +func (x PatternPrefixConfigHeaderChecksum_Choice_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PatternPrefixConfigHeaderChecksum_Choice_Enum.Descriptor instead. +func (PatternPrefixConfigHeaderChecksum_Choice_Enum) EnumDescriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{38, 0, 0} +} + +type PatternPrefixConfigHeaderChecksum_Generated_Enum int32 + +const ( + PatternPrefixConfigHeaderChecksum_Generated_unspecified PatternPrefixConfigHeaderChecksum_Generated_Enum = 0 + PatternPrefixConfigHeaderChecksum_Generated_good PatternPrefixConfigHeaderChecksum_Generated_Enum = 1 + PatternPrefixConfigHeaderChecksum_Generated_bad PatternPrefixConfigHeaderChecksum_Generated_Enum = 2 +) + +// Enum value maps for PatternPrefixConfigHeaderChecksum_Generated_Enum. +var ( + PatternPrefixConfigHeaderChecksum_Generated_Enum_name = map[int32]string{ + 0: "unspecified", + 1: "good", + 2: "bad", + } + PatternPrefixConfigHeaderChecksum_Generated_Enum_value = map[string]int32{ + "unspecified": 0, + "good": 1, + "bad": 2, + } +) + +func (x PatternPrefixConfigHeaderChecksum_Generated_Enum) Enum() *PatternPrefixConfigHeaderChecksum_Generated_Enum { + p := new(PatternPrefixConfigHeaderChecksum_Generated_Enum) + *p = x + return p +} + +func (x PatternPrefixConfigHeaderChecksum_Generated_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PatternPrefixConfigHeaderChecksum_Generated_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_sanity_proto_enumTypes[13].Descriptor() +} + +func (PatternPrefixConfigHeaderChecksum_Generated_Enum) Type() protoreflect.EnumType { + return &file_sanity_proto_enumTypes[13] +} + +func (x PatternPrefixConfigHeaderChecksum_Generated_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PatternPrefixConfigHeaderChecksum_Generated_Enum.Descriptor instead. +func (PatternPrefixConfigHeaderChecksum_Generated_Enum) EnumDescriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{38, 1, 0} +} + +type PatternPrefixConfigAutoFieldTest_Choice_Enum int32 + +const ( + PatternPrefixConfigAutoFieldTest_Choice_unspecified PatternPrefixConfigAutoFieldTest_Choice_Enum = 0 + PatternPrefixConfigAutoFieldTest_Choice_value PatternPrefixConfigAutoFieldTest_Choice_Enum = 2 + PatternPrefixConfigAutoFieldTest_Choice_values PatternPrefixConfigAutoFieldTest_Choice_Enum = 3 + PatternPrefixConfigAutoFieldTest_Choice_auto PatternPrefixConfigAutoFieldTest_Choice_Enum = 1 + PatternPrefixConfigAutoFieldTest_Choice_increment PatternPrefixConfigAutoFieldTest_Choice_Enum = 4 + PatternPrefixConfigAutoFieldTest_Choice_decrement PatternPrefixConfigAutoFieldTest_Choice_Enum = 5 +) + +// Enum value maps for PatternPrefixConfigAutoFieldTest_Choice_Enum. +var ( + PatternPrefixConfigAutoFieldTest_Choice_Enum_name = map[int32]string{ + 0: "unspecified", + 2: "value", + 3: "values", + 1: "auto", + 4: "increment", + 5: "decrement", + } + PatternPrefixConfigAutoFieldTest_Choice_Enum_value = map[string]int32{ + "unspecified": 0, + "value": 2, + "values": 3, + "auto": 1, + "increment": 4, + "decrement": 5, + } +) + +func (x PatternPrefixConfigAutoFieldTest_Choice_Enum) Enum() *PatternPrefixConfigAutoFieldTest_Choice_Enum { + p := new(PatternPrefixConfigAutoFieldTest_Choice_Enum) + *p = x + return p +} + +func (x PatternPrefixConfigAutoFieldTest_Choice_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PatternPrefixConfigAutoFieldTest_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_sanity_proto_enumTypes[14].Descriptor() +} + +func (PatternPrefixConfigAutoFieldTest_Choice_Enum) Type() protoreflect.EnumType { + return &file_sanity_proto_enumTypes[14] +} + +func (x PatternPrefixConfigAutoFieldTest_Choice_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PatternPrefixConfigAutoFieldTest_Choice_Enum.Descriptor instead. +func (PatternPrefixConfigAutoFieldTest_Choice_Enum) EnumDescriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{40, 0, 0} +} + +type PatternIpv4PatternIpv4_Choice_Enum int32 + +const ( + PatternIpv4PatternIpv4_Choice_unspecified PatternIpv4PatternIpv4_Choice_Enum = 0 + PatternIpv4PatternIpv4_Choice_value PatternIpv4PatternIpv4_Choice_Enum = 2 + PatternIpv4PatternIpv4_Choice_values PatternIpv4PatternIpv4_Choice_Enum = 3 + PatternIpv4PatternIpv4_Choice_increment PatternIpv4PatternIpv4_Choice_Enum = 4 + PatternIpv4PatternIpv4_Choice_decrement PatternIpv4PatternIpv4_Choice_Enum = 5 +) + +// Enum value maps for PatternIpv4PatternIpv4_Choice_Enum. +var ( + PatternIpv4PatternIpv4_Choice_Enum_name = map[int32]string{ + 0: "unspecified", + 2: "value", + 3: "values", + 4: "increment", + 5: "decrement", + } + PatternIpv4PatternIpv4_Choice_Enum_value = map[string]int32{ + "unspecified": 0, + "value": 2, + "values": 3, + "increment": 4, + "decrement": 5, + } +) + +func (x PatternIpv4PatternIpv4_Choice_Enum) Enum() *PatternIpv4PatternIpv4_Choice_Enum { + p := new(PatternIpv4PatternIpv4_Choice_Enum) + *p = x + return p +} + +func (x PatternIpv4PatternIpv4_Choice_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PatternIpv4PatternIpv4_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_sanity_proto_enumTypes[15].Descriptor() +} + +func (PatternIpv4PatternIpv4_Choice_Enum) Type() protoreflect.EnumType { + return &file_sanity_proto_enumTypes[15] +} + +func (x PatternIpv4PatternIpv4_Choice_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PatternIpv4PatternIpv4_Choice_Enum.Descriptor instead. +func (PatternIpv4PatternIpv4_Choice_Enum) EnumDescriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{42, 0, 0} +} + +type PatternIpv6PatternIpv6_Choice_Enum int32 + +const ( + PatternIpv6PatternIpv6_Choice_unspecified PatternIpv6PatternIpv6_Choice_Enum = 0 + PatternIpv6PatternIpv6_Choice_value PatternIpv6PatternIpv6_Choice_Enum = 2 + PatternIpv6PatternIpv6_Choice_values PatternIpv6PatternIpv6_Choice_Enum = 3 + PatternIpv6PatternIpv6_Choice_increment PatternIpv6PatternIpv6_Choice_Enum = 4 + PatternIpv6PatternIpv6_Choice_decrement PatternIpv6PatternIpv6_Choice_Enum = 5 +) + +// Enum value maps for PatternIpv6PatternIpv6_Choice_Enum. +var ( + PatternIpv6PatternIpv6_Choice_Enum_name = map[int32]string{ + 0: "unspecified", + 2: "value", + 3: "values", + 4: "increment", + 5: "decrement", + } + PatternIpv6PatternIpv6_Choice_Enum_value = map[string]int32{ + "unspecified": 0, + "value": 2, + "values": 3, + "increment": 4, + "decrement": 5, + } +) + +func (x PatternIpv6PatternIpv6_Choice_Enum) Enum() *PatternIpv6PatternIpv6_Choice_Enum { + p := new(PatternIpv6PatternIpv6_Choice_Enum) + *p = x + return p +} + +func (x PatternIpv6PatternIpv6_Choice_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PatternIpv6PatternIpv6_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_sanity_proto_enumTypes[16].Descriptor() +} + +func (PatternIpv6PatternIpv6_Choice_Enum) Type() protoreflect.EnumType { + return &file_sanity_proto_enumTypes[16] +} + +func (x PatternIpv6PatternIpv6_Choice_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PatternIpv6PatternIpv6_Choice_Enum.Descriptor instead. +func (PatternIpv6PatternIpv6_Choice_Enum) EnumDescriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{44, 0, 0} +} + +type PatternMacPatternMac_Choice_Enum int32 + +const ( + PatternMacPatternMac_Choice_unspecified PatternMacPatternMac_Choice_Enum = 0 + PatternMacPatternMac_Choice_value PatternMacPatternMac_Choice_Enum = 2 + PatternMacPatternMac_Choice_values PatternMacPatternMac_Choice_Enum = 3 + PatternMacPatternMac_Choice_auto PatternMacPatternMac_Choice_Enum = 1 + PatternMacPatternMac_Choice_increment PatternMacPatternMac_Choice_Enum = 4 + PatternMacPatternMac_Choice_decrement PatternMacPatternMac_Choice_Enum = 5 +) + +// Enum value maps for PatternMacPatternMac_Choice_Enum. +var ( + PatternMacPatternMac_Choice_Enum_name = map[int32]string{ + 0: "unspecified", + 2: "value", + 3: "values", + 1: "auto", + 4: "increment", + 5: "decrement", + } + PatternMacPatternMac_Choice_Enum_value = map[string]int32{ + "unspecified": 0, + "value": 2, + "values": 3, + "auto": 1, + "increment": 4, + "decrement": 5, + } +) + +func (x PatternMacPatternMac_Choice_Enum) Enum() *PatternMacPatternMac_Choice_Enum { + p := new(PatternMacPatternMac_Choice_Enum) + *p = x + return p +} + +func (x PatternMacPatternMac_Choice_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PatternMacPatternMac_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_sanity_proto_enumTypes[17].Descriptor() +} + +func (PatternMacPatternMac_Choice_Enum) Type() protoreflect.EnumType { + return &file_sanity_proto_enumTypes[17] +} + +func (x PatternMacPatternMac_Choice_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PatternMacPatternMac_Choice_Enum.Descriptor instead. +func (PatternMacPatternMac_Choice_Enum) EnumDescriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{46, 0, 0} +} + +type PatternIntegerPatternInteger_Choice_Enum int32 + +const ( + PatternIntegerPatternInteger_Choice_unspecified PatternIntegerPatternInteger_Choice_Enum = 0 + PatternIntegerPatternInteger_Choice_value PatternIntegerPatternInteger_Choice_Enum = 2 + PatternIntegerPatternInteger_Choice_values PatternIntegerPatternInteger_Choice_Enum = 3 + PatternIntegerPatternInteger_Choice_increment PatternIntegerPatternInteger_Choice_Enum = 4 + PatternIntegerPatternInteger_Choice_decrement PatternIntegerPatternInteger_Choice_Enum = 5 +) + +// Enum value maps for PatternIntegerPatternInteger_Choice_Enum. +var ( + PatternIntegerPatternInteger_Choice_Enum_name = map[int32]string{ + 0: "unspecified", + 2: "value", + 3: "values", + 4: "increment", + 5: "decrement", + } + PatternIntegerPatternInteger_Choice_Enum_value = map[string]int32{ + "unspecified": 0, + "value": 2, + "values": 3, + "increment": 4, + "decrement": 5, + } +) + +func (x PatternIntegerPatternInteger_Choice_Enum) Enum() *PatternIntegerPatternInteger_Choice_Enum { + p := new(PatternIntegerPatternInteger_Choice_Enum) + *p = x + return p +} + +func (x PatternIntegerPatternInteger_Choice_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PatternIntegerPatternInteger_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_sanity_proto_enumTypes[18].Descriptor() +} + +func (PatternIntegerPatternInteger_Choice_Enum) Type() protoreflect.EnumType { + return &file_sanity_proto_enumTypes[18] +} + +func (x PatternIntegerPatternInteger_Choice_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PatternIntegerPatternInteger_Choice_Enum.Descriptor instead. +func (PatternIntegerPatternInteger_Choice_Enum) EnumDescriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{48, 0, 0} +} + +type PatternChecksumPatternChecksum_Choice_Enum int32 + +const ( + PatternChecksumPatternChecksum_Choice_unspecified PatternChecksumPatternChecksum_Choice_Enum = 0 + PatternChecksumPatternChecksum_Choice_generated PatternChecksumPatternChecksum_Choice_Enum = 1 + PatternChecksumPatternChecksum_Choice_custom PatternChecksumPatternChecksum_Choice_Enum = 2 +) + +// Enum value maps for PatternChecksumPatternChecksum_Choice_Enum. +var ( + PatternChecksumPatternChecksum_Choice_Enum_name = map[int32]string{ + 0: "unspecified", + 1: "generated", + 2: "custom", + } + PatternChecksumPatternChecksum_Choice_Enum_value = map[string]int32{ + "unspecified": 0, + "generated": 1, + "custom": 2, + } +) + +func (x PatternChecksumPatternChecksum_Choice_Enum) Enum() *PatternChecksumPatternChecksum_Choice_Enum { + p := new(PatternChecksumPatternChecksum_Choice_Enum) + *p = x + return p +} + +func (x PatternChecksumPatternChecksum_Choice_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PatternChecksumPatternChecksum_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_sanity_proto_enumTypes[19].Descriptor() +} + +func (PatternChecksumPatternChecksum_Choice_Enum) Type() protoreflect.EnumType { + return &file_sanity_proto_enumTypes[19] +} + +func (x PatternChecksumPatternChecksum_Choice_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PatternChecksumPatternChecksum_Choice_Enum.Descriptor instead. +func (PatternChecksumPatternChecksum_Choice_Enum) EnumDescriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{49, 0, 0} +} + +type PatternChecksumPatternChecksum_Generated_Enum int32 + +const ( + PatternChecksumPatternChecksum_Generated_unspecified PatternChecksumPatternChecksum_Generated_Enum = 0 + PatternChecksumPatternChecksum_Generated_good PatternChecksumPatternChecksum_Generated_Enum = 1 + PatternChecksumPatternChecksum_Generated_bad PatternChecksumPatternChecksum_Generated_Enum = 2 +) + +// Enum value maps for PatternChecksumPatternChecksum_Generated_Enum. +var ( + PatternChecksumPatternChecksum_Generated_Enum_name = map[int32]string{ + 0: "unspecified", + 1: "good", + 2: "bad", + } + PatternChecksumPatternChecksum_Generated_Enum_value = map[string]int32{ + "unspecified": 0, + "good": 1, + "bad": 2, + } +) + +func (x PatternChecksumPatternChecksum_Generated_Enum) Enum() *PatternChecksumPatternChecksum_Generated_Enum { + p := new(PatternChecksumPatternChecksum_Generated_Enum) + *p = x + return p +} + +func (x PatternChecksumPatternChecksum_Generated_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PatternChecksumPatternChecksum_Generated_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_sanity_proto_enumTypes[20].Descriptor() +} + +func (PatternChecksumPatternChecksum_Generated_Enum) Type() protoreflect.EnumType { + return &file_sanity_proto_enumTypes[20] +} + +func (x PatternChecksumPatternChecksum_Generated_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PatternChecksumPatternChecksum_Generated_Enum.Descriptor instead. +func (PatternChecksumPatternChecksum_Generated_Enum) EnumDescriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{49, 1, 0} +} + +// Description missing in models +type ErrorDetails struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + Errors []string `protobuf:"bytes,1,rep,name=errors,proto3" json:"errors,omitempty"` +} + +func (x *ErrorDetails) Reset() { + *x = ErrorDetails{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ErrorDetails) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ErrorDetails) ProtoMessage() {} + +func (x *ErrorDetails) ProtoReflect() protoreflect.Message { + mi := &file_sanity_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ErrorDetails.ProtoReflect.Descriptor instead. +func (*ErrorDetails) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{0} +} + +func (x *ErrorDetails) GetErrors() []string { + if x != nil { + return x.Errors + } + return nil +} + +// Description missing in models +type WarningDetails struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + Warnings []string `protobuf:"bytes,1,rep,name=warnings,proto3" json:"warnings,omitempty"` +} + +func (x *WarningDetails) Reset() { + *x = WarningDetails{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WarningDetails) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WarningDetails) ProtoMessage() {} + +func (x *WarningDetails) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 WarningDetails.ProtoReflect.Descriptor instead. +func (*WarningDetails) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{1} +} + +func (x *WarningDetails) GetWarnings() []string { + if x != nil { + return x.Warnings + } + return nil +} + +// Error response generated while serving API request. +type Error struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Numeric status code based on underlying transport being used. + // required = true + Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` + // Kind of error message. + Kind *Error_Kind_Enum `protobuf:"varint,2,opt,name=kind,proto3,enum=sanity.Error_Kind_Enum,oneof" json:"kind,omitempty"` + // List of error messages generated while serving API request. + Errors []string `protobuf:"bytes,3,rep,name=errors,proto3" json:"errors,omitempty"` +} + +func (x *Error) Reset() { + *x = Error{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Error) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Error) ProtoMessage() {} + +func (x *Error) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 Error.ProtoReflect.Descriptor instead. +func (*Error) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{2} +} + +func (x *Error) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *Error) GetKind() Error_Kind_Enum { + if x != nil && x.Kind != nil { + return *x.Kind + } + return Error_Kind_unspecified +} + +func (x *Error) GetErrors() []string { + if x != nil { + return x.Errors + } + return nil +} + +// Container which retains the configuration +type PrefixConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A required object that MUST be generated as such. + // required = true + RequiredObject *EObject `protobuf:"bytes,1,opt,name=required_object,json=requiredObject,proto3" json:"required_object,omitempty"` + // An optional object that MUST be generated as such. + OptionalObject *EObject `protobuf:"bytes,2,opt,name=optional_object,json=optionalObject,proto3,oneof" json:"optional_object,omitempty"` + // Description missing in models + Ieee_802_1Qbb *bool `protobuf:"varint,3,opt,name=ieee_802_1qbb,json=ieee8021qbb,proto3,oneof" json:"ieee_802_1qbb,omitempty"` + // Deprecated: Information TBD + // + // Description TBD + Space_1 *int32 `protobuf:"varint,4,opt,name=space_1,json=space1,proto3,oneof" json:"space_1,omitempty"` + // Description missing in models + FullDuplex_100Mb *int64 `protobuf:"varint,5,opt,name=full_duplex_100_mb,json=fullDuplex100Mb,proto3,oneof" json:"full_duplex_100_mb,omitempty"` + // Indicate to the server what response should be returned + // default = Response.Enum.status_200 + Response *PrefixConfig_Response_Enum `protobuf:"varint,6,opt,name=response,proto3,enum=sanity.PrefixConfig_Response_Enum,oneof" json:"response,omitempty"` + // Under Review: Information TBD + // + // Small single line description + // required = true + A string `protobuf:"bytes,7,opt,name=a,proto3" json:"a,omitempty"` + // Longer multi-line description + // Second line is here + // Third line + // required = true + B float32 `protobuf:"fixed32,8,opt,name=b,proto3" json:"b,omitempty"` + // Description missing in models + // required = true + C int32 `protobuf:"varint,9,opt,name=c,proto3" json:"c,omitempty"` + // Deprecated: Information TBD + // + // A list of enum values + DValues []PrefixConfig_DValues_Enum `protobuf:"varint,10,rep,packed,name=d_values,json=dValues,proto3,enum=sanity.PrefixConfig_DValues_Enum" json:"d_values,omitempty"` + // Deprecated: Information TBD + // + // A child object + E *EObject `protobuf:"bytes,11,opt,name=e,proto3,oneof" json:"e,omitempty"` + // An object with only choice(s) + F *FObject `protobuf:"bytes,12,opt,name=f,proto3,oneof" json:"f,omitempty"` + // A list of objects with choice and properties + G []*GObject `protobuf:"bytes,13,rep,name=g,proto3" json:"g,omitempty"` + // A boolean value + // default = True + H *bool `protobuf:"varint,14,opt,name=h,proto3,oneof" json:"h,omitempty"` + // A byte string + I []byte `protobuf:"bytes,15,opt,name=i,proto3,oneof" json:"i,omitempty"` + // A list of objects with only choice + J []*JObject `protobuf:"bytes,16,rep,name=j,proto3" json:"j,omitempty"` + // A nested object with only one property which is a choice object + K *KObject `protobuf:"bytes,17,opt,name=k,proto3,oneof" json:"k,omitempty"` + // Description missing in models + L *LObject `protobuf:"bytes,18,opt,name=l,proto3,oneof" json:"l,omitempty"` + // A list of string values + ListOfStringValues []string `protobuf:"bytes,19,rep,name=list_of_string_values,json=listOfStringValues,proto3" json:"list_of_string_values,omitempty"` + // A list of integer values + ListOfIntegerValues []int32 `protobuf:"varint,20,rep,packed,name=list_of_integer_values,json=listOfIntegerValues,proto3" json:"list_of_integer_values,omitempty"` + // Description missing in models + Level *LevelOne `protobuf:"bytes,21,opt,name=level,proto3,oneof" json:"level,omitempty"` + // Description missing in models + Mandatory *Mandate `protobuf:"bytes,22,opt,name=mandatory,proto3,oneof" json:"mandatory,omitempty"` + // Description missing in models + Ipv4Pattern *Ipv4Pattern `protobuf:"bytes,23,opt,name=ipv4_pattern,json=ipv4Pattern,proto3,oneof" json:"ipv4_pattern,omitempty"` + // Description missing in models + Ipv6Pattern *Ipv6Pattern `protobuf:"bytes,24,opt,name=ipv6_pattern,json=ipv6Pattern,proto3,oneof" json:"ipv6_pattern,omitempty"` + // Description missing in models + MacPattern *MacPattern `protobuf:"bytes,25,opt,name=mac_pattern,json=macPattern,proto3,oneof" json:"mac_pattern,omitempty"` + // Description missing in models + IntegerPattern *IntegerPattern `protobuf:"bytes,26,opt,name=integer_pattern,json=integerPattern,proto3,oneof" json:"integer_pattern,omitempty"` + // Description missing in models + ChecksumPattern *ChecksumPattern `protobuf:"bytes,27,opt,name=checksum_pattern,json=checksumPattern,proto3,oneof" json:"checksum_pattern,omitempty"` + // Description missing in models + Case *Layer1Ieee802X `protobuf:"bytes,28,opt,name=case,proto3,oneof" json:"case,omitempty"` + // Description missing in models + MObject *MObject `protobuf:"bytes,29,opt,name=m_object,json=mObject,proto3,oneof" json:"m_object,omitempty"` + // int64 type + Integer64 *int64 `protobuf:"varint,30,opt,name=integer64,proto3,oneof" json:"integer64,omitempty"` + // int64 type list + Integer64List []int64 `protobuf:"varint,31,rep,packed,name=integer64_list,json=integer64List,proto3" json:"integer64_list,omitempty"` + // Description missing in models + HeaderChecksum *PatternPrefixConfigHeaderChecksum `protobuf:"bytes,32,opt,name=header_checksum,json=headerChecksum,proto3,oneof" json:"header_checksum,omitempty"` + // Under Review: Information TBD + // + // string minimum&maximum Length + StrLen *string `protobuf:"bytes,33,opt,name=str_len,json=strLen,proto3,oneof" json:"str_len,omitempty"` + // Under Review: Information TBD + // + // Array of Hex + HexSlice []string `protobuf:"bytes,34,rep,name=hex_slice,json=hexSlice,proto3" json:"hex_slice,omitempty"` + // Description missing in models + AutoFieldTest *PatternPrefixConfigAutoFieldTest `protobuf:"bytes,35,opt,name=auto_field_test,json=autoFieldTest,proto3,oneof" json:"auto_field_test,omitempty"` + // Description missing in models + Name *string `protobuf:"bytes,36,opt,name=name,proto3,oneof" json:"name,omitempty"` + // Description missing in models + WList []*WObject `protobuf:"bytes,37,rep,name=w_list,json=wList,proto3" json:"w_list,omitempty"` + // Description missing in models + XList []*ZObject `protobuf:"bytes,38,rep,name=x_list,json=xList,proto3" json:"x_list,omitempty"` + // Description missing in models + ZObject *ZObject `protobuf:"bytes,39,opt,name=z_object,json=zObject,proto3,oneof" json:"z_object,omitempty"` + // Description missing in models + YObject *YObject `protobuf:"bytes,40,opt,name=y_object,json=yObject,proto3,oneof" json:"y_object,omitempty"` + // A list of objects with choice with and without properties + ChoiceObject []*ChoiceObject `protobuf:"bytes,41,rep,name=choice_object,json=choiceObject,proto3" json:"choice_object,omitempty"` + // Description missing in models + RequiredChoiceObject *RequiredChoiceParent `protobuf:"bytes,42,opt,name=required_choice_object,json=requiredChoiceObject,proto3,oneof" json:"required_choice_object,omitempty"` + // A list of objects with choice and properties + G1 []*GObject `protobuf:"bytes,43,rep,name=g1,proto3" json:"g1,omitempty"` + // A list of objects with choice and properties + G2 []*GObject `protobuf:"bytes,44,rep,name=g2,proto3" json:"g2,omitempty"` + // int32 type + Int32Param *int32 `protobuf:"varint,45,opt,name=int32_param,json=int32Param,proto3,oneof" json:"int32_param,omitempty"` + // int32 type list + Int32ListParam []int32 `protobuf:"varint,46,rep,packed,name=int32_list_param,json=int32ListParam,proto3" json:"int32_list_param,omitempty"` + // uint32 type + Uint32Param *uint32 `protobuf:"varint,47,opt,name=uint32_param,json=uint32Param,proto3,oneof" json:"uint32_param,omitempty"` + // uint32 type list + Uint32ListParam []uint32 `protobuf:"varint,48,rep,packed,name=uint32_list_param,json=uint32ListParam,proto3" json:"uint32_list_param,omitempty"` + // uint64 type + Uint64Param *uint64 `protobuf:"varint,49,opt,name=uint64_param,json=uint64Param,proto3,oneof" json:"uint64_param,omitempty"` + // uint64 type list + Uint64ListParam []uint64 `protobuf:"varint,50,rep,packed,name=uint64_list_param,json=uint64ListParam,proto3" json:"uint64_list_param,omitempty"` + // should automatically set type to int32 + AutoInt32Param *int32 `protobuf:"varint,51,opt,name=auto_int32_param,json=autoInt32Param,proto3,oneof" json:"auto_int32_param,omitempty"` + // should automatically set type to []int32 + AutoInt32ListParam []int32 `protobuf:"varint,52,rep,packed,name=auto_int32_list_param,json=autoInt32ListParam,proto3" json:"auto_int32_list_param,omitempty"` +} + +func (x *PrefixConfig) Reset() { + *x = PrefixConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PrefixConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PrefixConfig) ProtoMessage() {} + +func (x *PrefixConfig) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 PrefixConfig.ProtoReflect.Descriptor instead. +func (*PrefixConfig) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{3} +} + +func (x *PrefixConfig) GetRequiredObject() *EObject { + if x != nil { + return x.RequiredObject + } + return nil +} + +func (x *PrefixConfig) GetOptionalObject() *EObject { + if x != nil { + return x.OptionalObject + } + return nil +} + +func (x *PrefixConfig) GetIeee_802_1Qbb() bool { + if x != nil && x.Ieee_802_1Qbb != nil { + return *x.Ieee_802_1Qbb + } + return false +} + +func (x *PrefixConfig) GetSpace_1() int32 { + if x != nil && x.Space_1 != nil { + return *x.Space_1 + } + return 0 +} + +func (x *PrefixConfig) GetFullDuplex_100Mb() int64 { + if x != nil && x.FullDuplex_100Mb != nil { + return *x.FullDuplex_100Mb + } + return 0 +} + +func (x *PrefixConfig) GetResponse() PrefixConfig_Response_Enum { + if x != nil && x.Response != nil { + return *x.Response + } + return PrefixConfig_Response_unspecified +} + +func (x *PrefixConfig) GetA() string { + if x != nil { + return x.A + } + return "" +} + +func (x *PrefixConfig) GetB() float32 { + if x != nil { + return x.B + } + return 0 +} + +func (x *PrefixConfig) GetC() int32 { + if x != nil { + return x.C + } + return 0 +} + +func (x *PrefixConfig) GetDValues() []PrefixConfig_DValues_Enum { + if x != nil { + return x.DValues + } + return nil +} + +func (x *PrefixConfig) GetE() *EObject { + if x != nil { + return x.E + } + return nil +} + +func (x *PrefixConfig) GetF() *FObject { + if x != nil { + return x.F + } + return nil +} + +func (x *PrefixConfig) GetG() []*GObject { + if x != nil { + return x.G + } + return nil +} + +func (x *PrefixConfig) GetH() bool { + if x != nil && x.H != nil { + return *x.H + } + return false +} + +func (x *PrefixConfig) GetI() []byte { + if x != nil { + return x.I + } + return nil +} + +func (x *PrefixConfig) GetJ() []*JObject { + if x != nil { + return x.J + } + return nil +} + +func (x *PrefixConfig) GetK() *KObject { + if x != nil { + return x.K + } + return nil +} + +func (x *PrefixConfig) GetL() *LObject { + if x != nil { + return x.L + } + return nil +} + +func (x *PrefixConfig) GetListOfStringValues() []string { + if x != nil { + return x.ListOfStringValues + } + return nil +} + +func (x *PrefixConfig) GetListOfIntegerValues() []int32 { + if x != nil { + return x.ListOfIntegerValues + } + return nil +} + +func (x *PrefixConfig) GetLevel() *LevelOne { + if x != nil { + return x.Level + } + return nil +} + +func (x *PrefixConfig) GetMandatory() *Mandate { + if x != nil { + return x.Mandatory + } + return nil +} + +func (x *PrefixConfig) GetIpv4Pattern() *Ipv4Pattern { + if x != nil { + return x.Ipv4Pattern + } + return nil +} + +func (x *PrefixConfig) GetIpv6Pattern() *Ipv6Pattern { + if x != nil { + return x.Ipv6Pattern + } + return nil +} + +func (x *PrefixConfig) GetMacPattern() *MacPattern { + if x != nil { + return x.MacPattern + } + return nil +} + +func (x *PrefixConfig) GetIntegerPattern() *IntegerPattern { + if x != nil { + return x.IntegerPattern + } + return nil +} + +func (x *PrefixConfig) GetChecksumPattern() *ChecksumPattern { + if x != nil { + return x.ChecksumPattern + } + return nil +} + +func (x *PrefixConfig) GetCase() *Layer1Ieee802X { + if x != nil { + return x.Case + } + return nil +} + +func (x *PrefixConfig) GetMObject() *MObject { + if x != nil { + return x.MObject + } + return nil +} + +func (x *PrefixConfig) GetInteger64() int64 { + if x != nil && x.Integer64 != nil { + return *x.Integer64 + } + return 0 +} + +func (x *PrefixConfig) GetInteger64List() []int64 { + if x != nil { + return x.Integer64List + } + return nil +} + +func (x *PrefixConfig) GetHeaderChecksum() *PatternPrefixConfigHeaderChecksum { + if x != nil { + return x.HeaderChecksum + } + return nil +} + +func (x *PrefixConfig) GetStrLen() string { + if x != nil && x.StrLen != nil { + return *x.StrLen + } + return "" +} + +func (x *PrefixConfig) GetHexSlice() []string { + if x != nil { + return x.HexSlice + } + return nil +} + +func (x *PrefixConfig) GetAutoFieldTest() *PatternPrefixConfigAutoFieldTest { + if x != nil { + return x.AutoFieldTest + } + return nil +} + +func (x *PrefixConfig) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *PrefixConfig) GetWList() []*WObject { + if x != nil { + return x.WList + } + return nil +} + +func (x *PrefixConfig) GetXList() []*ZObject { + if x != nil { + return x.XList + } + return nil +} + +func (x *PrefixConfig) GetZObject() *ZObject { + if x != nil { + return x.ZObject + } + return nil +} + +func (x *PrefixConfig) GetYObject() *YObject { + if x != nil { + return x.YObject + } + return nil +} + +func (x *PrefixConfig) GetChoiceObject() []*ChoiceObject { + if x != nil { + return x.ChoiceObject + } + return nil +} + +func (x *PrefixConfig) GetRequiredChoiceObject() *RequiredChoiceParent { + if x != nil { + return x.RequiredChoiceObject + } + return nil +} + +func (x *PrefixConfig) GetG1() []*GObject { + if x != nil { + return x.G1 + } + return nil +} + +func (x *PrefixConfig) GetG2() []*GObject { + if x != nil { + return x.G2 + } + return nil +} + +func (x *PrefixConfig) GetInt32Param() int32 { + if x != nil && x.Int32Param != nil { + return *x.Int32Param + } + return 0 +} + +func (x *PrefixConfig) GetInt32ListParam() []int32 { + if x != nil { + return x.Int32ListParam + } + return nil +} + +func (x *PrefixConfig) GetUint32Param() uint32 { + if x != nil && x.Uint32Param != nil { + return *x.Uint32Param + } + return 0 +} + +func (x *PrefixConfig) GetUint32ListParam() []uint32 { + if x != nil { + return x.Uint32ListParam + } + return nil +} + +func (x *PrefixConfig) GetUint64Param() uint64 { + if x != nil && x.Uint64Param != nil { + return *x.Uint64Param + } + return 0 +} + +func (x *PrefixConfig) GetUint64ListParam() []uint64 { + if x != nil { + return x.Uint64ListParam + } + return nil +} + +func (x *PrefixConfig) GetAutoInt32Param() int32 { + if x != nil && x.AutoInt32Param != nil { + return *x.AutoInt32Param + } + return 0 +} + +func (x *PrefixConfig) GetAutoInt32ListParam() []int32 { + if x != nil { + return x.AutoInt32ListParam + } + return nil +} + +// Description missing in models +type WObject struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // required = true + WName string `protobuf:"bytes,1,opt,name=w_name,json=wName,proto3" json:"w_name,omitempty"` +} + +func (x *WObject) Reset() { + *x = WObject{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WObject) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WObject) ProtoMessage() {} + +func (x *WObject) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 WObject.ProtoReflect.Descriptor instead. +func (*WObject) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{4} +} + +func (x *WObject) GetWName() string { + if x != nil { + return x.WName + } + return "" +} + +// Description missing in models +type ZObject struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // required = true + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *ZObject) Reset() { + *x = ZObject{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ZObject) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ZObject) ProtoMessage() {} + +func (x *ZObject) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 ZObject.ProtoReflect.Descriptor instead. +func (*ZObject) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{5} +} + +func (x *ZObject) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Description missing in models +type YObject struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // TBD + // + // x-constraint: + // - /components/schemas/ZObject/properties/name + // - /components/schemas/WObject/properties/w_name + YName *string `protobuf:"bytes,1,opt,name=y_name,json=yName,proto3,oneof" json:"y_name,omitempty"` +} + +func (x *YObject) Reset() { + *x = YObject{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *YObject) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*YObject) ProtoMessage() {} + +func (x *YObject) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 YObject.ProtoReflect.Descriptor instead. +func (*YObject) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{6} +} + +func (x *YObject) GetYName() string { + if x != nil && x.YName != nil { + return *x.YName + } + return "" +} + +// Description missing in models +type Layer1Ieee802X struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + FlowControl *bool `protobuf:"varint,1,opt,name=flow_control,json=flowControl,proto3,oneof" json:"flow_control,omitempty"` +} + +func (x *Layer1Ieee802X) Reset() { + *x = Layer1Ieee802X{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Layer1Ieee802X) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Layer1Ieee802X) ProtoMessage() {} + +func (x *Layer1Ieee802X) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 Layer1Ieee802X.ProtoReflect.Descriptor instead. +func (*Layer1Ieee802X) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{7} +} + +func (x *Layer1Ieee802X) GetFlowControl() bool { + if x != nil && x.FlowControl != nil { + return *x.FlowControl + } + return false +} + +// Deprecated: new schema Jobject to be used +// +// Description TBD +type GObject struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // default = asdf + GA *string `protobuf:"bytes,1,opt,name=g_a,json=gA,proto3,oneof" json:"g_a,omitempty"` + // Description missing in models + // default = 6 + GB *int32 `protobuf:"varint,2,opt,name=g_b,json=gB,proto3,oneof" json:"g_b,omitempty"` + // Deprecated: Information TBD + // + // Description TBD + // default = 77.7 + GC *float32 `protobuf:"fixed32,3,opt,name=g_c,json=gC,proto3,oneof" json:"g_c,omitempty"` + // Description missing in models + // default = Choice.Enum.g_d + Choice *GObject_Choice_Enum `protobuf:"varint,4,opt,name=choice,proto3,enum=sanity.GObject_Choice_Enum,oneof" json:"choice,omitempty"` + // Description missing in models + // default = some string + GD *string `protobuf:"bytes,5,opt,name=g_d,json=gD,proto3,oneof" json:"g_d,omitempty"` + // Description missing in models + // default = 3.0 + GE *float64 `protobuf:"fixed64,6,opt,name=g_e,json=gE,proto3,oneof" json:"g_e,omitempty"` + // Another enum to test protbuf enum generation + // default = GF.Enum.a + GF *GObject_GF_Enum `protobuf:"varint,7,opt,name=g_f,json=gF,proto3,enum=sanity.GObject_GF_Enum,oneof" json:"g_f,omitempty"` + // Description missing in models + Name *string `protobuf:"bytes,8,opt,name=name,proto3,oneof" json:"name,omitempty"` +} + +func (x *GObject) Reset() { + *x = GObject{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GObject) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GObject) ProtoMessage() {} + +func (x *GObject) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 GObject.ProtoReflect.Descriptor instead. +func (*GObject) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{8} +} + +func (x *GObject) GetGA() string { + if x != nil && x.GA != nil { + return *x.GA + } + return "" +} + +func (x *GObject) GetGB() int32 { + if x != nil && x.GB != nil { + return *x.GB + } + return 0 +} + +func (x *GObject) GetGC() float32 { + if x != nil && x.GC != nil { + return *x.GC + } + return 0 +} + +func (x *GObject) GetChoice() GObject_Choice_Enum { + if x != nil && x.Choice != nil { + return *x.Choice + } + return GObject_Choice_unspecified +} + +func (x *GObject) GetGD() string { + if x != nil && x.GD != nil { + return *x.GD + } + return "" +} + +func (x *GObject) GetGE() float64 { + if x != nil && x.GE != nil { + return *x.GE + } + return 0 +} + +func (x *GObject) GetGF() GObject_GF_Enum { + if x != nil && x.GF != nil { + return *x.GF + } + return GObject_GF_unspecified +} + +func (x *GObject) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +// Description missing in models +type EObject struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // required = true + EA float32 `protobuf:"fixed32,1,opt,name=e_a,json=eA,proto3" json:"e_a,omitempty"` + // Description missing in models + // required = true + EB float64 `protobuf:"fixed64,2,opt,name=e_b,json=eB,proto3" json:"e_b,omitempty"` + // Description missing in models + Name *string `protobuf:"bytes,3,opt,name=name,proto3,oneof" json:"name,omitempty"` + // Description missing in models + MParam1 *string `protobuf:"bytes,4,opt,name=m_param1,json=mParam1,proto3,oneof" json:"m_param1,omitempty"` + // Description missing in models + MParam2 *string `protobuf:"bytes,5,opt,name=m_param2,json=mParam2,proto3,oneof" json:"m_param2,omitempty"` +} + +func (x *EObject) Reset() { + *x = EObject{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EObject) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EObject) ProtoMessage() {} + +func (x *EObject) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 EObject.ProtoReflect.Descriptor instead. +func (*EObject) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{9} +} + +func (x *EObject) GetEA() float32 { + if x != nil { + return x.EA + } + return 0 +} + +func (x *EObject) GetEB() float64 { + if x != nil { + return x.EB + } + return 0 +} + +func (x *EObject) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *EObject) GetMParam1() string { + if x != nil && x.MParam1 != nil { + return *x.MParam1 + } + return "" +} + +func (x *EObject) GetMParam2() string { + if x != nil && x.MParam2 != nil { + return *x.MParam2 + } + return "" +} + +// Description missing in models +type FObject struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // default = Choice.Enum.f_a + Choice *FObject_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=sanity.FObject_Choice_Enum,oneof" json:"choice,omitempty"` + // Description missing in models + // default = some string + FA *string `protobuf:"bytes,2,opt,name=f_a,json=fA,proto3,oneof" json:"f_a,omitempty"` + // Description missing in models + // default = 3.0 + FB *float64 `protobuf:"fixed64,3,opt,name=f_b,json=fB,proto3,oneof" json:"f_b,omitempty"` +} + +func (x *FObject) Reset() { + *x = FObject{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FObject) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FObject) ProtoMessage() {} + +func (x *FObject) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 FObject.ProtoReflect.Descriptor instead. +func (*FObject) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{10} +} + +func (x *FObject) GetChoice() FObject_Choice_Enum { + if x != nil && x.Choice != nil { + return *x.Choice + } + return FObject_Choice_unspecified +} + +func (x *FObject) GetFA() string { + if x != nil && x.FA != nil { + return *x.FA + } + return "" +} + +func (x *FObject) GetFB() float64 { + if x != nil && x.FB != nil { + return *x.FB + } + return 0 +} + +// Description missing in models +type JObject struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // default = Choice.Enum.j_a + Choice *JObject_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=sanity.JObject_Choice_Enum,oneof" json:"choice,omitempty"` + // Description missing in models + JA *EObject `protobuf:"bytes,2,opt,name=j_a,json=jA,proto3,oneof" json:"j_a,omitempty"` + // Description missing in models + JB *FObject `protobuf:"bytes,3,opt,name=j_b,json=jB,proto3,oneof" json:"j_b,omitempty"` +} + +func (x *JObject) Reset() { + *x = JObject{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JObject) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JObject) ProtoMessage() {} + +func (x *JObject) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 JObject.ProtoReflect.Descriptor instead. +func (*JObject) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{11} +} + +func (x *JObject) GetChoice() JObject_Choice_Enum { + if x != nil && x.Choice != nil { + return *x.Choice + } + return JObject_Choice_unspecified +} + +func (x *JObject) GetJA() *EObject { + if x != nil { + return x.JA + } + return nil +} + +func (x *JObject) GetJB() *FObject { + if x != nil { + return x.JB + } + return nil +} + +// Description missing in models +type ChoiceObject struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // default = Choice.Enum.no_obj + Choice *ChoiceObject_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=sanity.ChoiceObject_Choice_Enum,oneof" json:"choice,omitempty"` + // Description missing in models + EObj *EObject `protobuf:"bytes,2,opt,name=e_obj,json=eObj,proto3,oneof" json:"e_obj,omitempty"` + // Description missing in models + FObj *FObject `protobuf:"bytes,3,opt,name=f_obj,json=fObj,proto3,oneof" json:"f_obj,omitempty"` +} + +func (x *ChoiceObject) Reset() { + *x = ChoiceObject{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChoiceObject) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChoiceObject) ProtoMessage() {} + +func (x *ChoiceObject) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 ChoiceObject.ProtoReflect.Descriptor instead. +func (*ChoiceObject) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{12} +} + +func (x *ChoiceObject) GetChoice() ChoiceObject_Choice_Enum { + if x != nil && x.Choice != nil { + return *x.Choice + } + return ChoiceObject_Choice_unspecified +} + +func (x *ChoiceObject) GetEObj() *EObject { + if x != nil { + return x.EObj + } + return nil +} + +func (x *ChoiceObject) GetFObj() *FObject { + if x != nil { + return x.FObj + } + return nil +} + +// Description missing in models +type KObject struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + EObject *EObject `protobuf:"bytes,1,opt,name=e_object,json=eObject,proto3,oneof" json:"e_object,omitempty"` + // Description missing in models + FObject *FObject `protobuf:"bytes,2,opt,name=f_object,json=fObject,proto3,oneof" json:"f_object,omitempty"` +} + +func (x *KObject) Reset() { + *x = KObject{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *KObject) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*KObject) ProtoMessage() {} + +func (x *KObject) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 KObject.ProtoReflect.Descriptor instead. +func (*KObject) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{13} +} + +func (x *KObject) GetEObject() *EObject { + if x != nil { + return x.EObject + } + return nil +} + +func (x *KObject) GetFObject() *FObject { + if x != nil { + return x.FObject + } + return nil +} + +// Format validation object +type LObject struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + StringParam *string `protobuf:"bytes,1,opt,name=string_param,json=stringParam,proto3,oneof" json:"string_param,omitempty"` + // Description missing in models + Integer *int32 `protobuf:"varint,2,opt,name=integer,proto3,oneof" json:"integer,omitempty"` + // Description missing in models + Float *float32 `protobuf:"fixed32,3,opt,name=float,proto3,oneof" json:"float,omitempty"` + // Description missing in models + Double *float64 `protobuf:"fixed64,4,opt,name=double,proto3,oneof" json:"double,omitempty"` + // Description missing in models + Mac *string `protobuf:"bytes,5,opt,name=mac,proto3,oneof" json:"mac,omitempty"` + // Description missing in models + Ipv4 *string `protobuf:"bytes,6,opt,name=ipv4,proto3,oneof" json:"ipv4,omitempty"` + // Description missing in models + Ipv6 *string `protobuf:"bytes,7,opt,name=ipv6,proto3,oneof" json:"ipv6,omitempty"` + // Description missing in models + Hex *string `protobuf:"bytes,8,opt,name=hex,proto3,oneof" json:"hex,omitempty"` +} + +func (x *LObject) Reset() { + *x = LObject{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LObject) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LObject) ProtoMessage() {} + +func (x *LObject) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 LObject.ProtoReflect.Descriptor instead. +func (*LObject) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{14} +} + +func (x *LObject) GetStringParam() string { + if x != nil && x.StringParam != nil { + return *x.StringParam + } + return "" +} + +func (x *LObject) GetInteger() int32 { + if x != nil && x.Integer != nil { + return *x.Integer + } + return 0 +} + +func (x *LObject) GetFloat() float32 { + if x != nil && x.Float != nil { + return *x.Float + } + return 0 +} + +func (x *LObject) GetDouble() float64 { + if x != nil && x.Double != nil { + return *x.Double + } + return 0 +} + +func (x *LObject) GetMac() string { + if x != nil && x.Mac != nil { + return *x.Mac + } + return "" +} + +func (x *LObject) GetIpv4() string { + if x != nil && x.Ipv4 != nil { + return *x.Ipv4 + } + return "" +} + +func (x *LObject) GetIpv6() string { + if x != nil && x.Ipv6 != nil { + return *x.Ipv6 + } + return "" +} + +func (x *LObject) GetHex() string { + if x != nil && x.Hex != nil { + return *x.Hex + } + return "" +} + +// Required format validation object +type MObject struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // required = true + StringParam string `protobuf:"bytes,1,opt,name=string_param,json=stringParam,proto3" json:"string_param,omitempty"` + // Description missing in models + // required = true + Integer int32 `protobuf:"varint,2,opt,name=integer,proto3" json:"integer,omitempty"` + // Description missing in models + // required = true + Float float32 `protobuf:"fixed32,3,opt,name=float,proto3" json:"float,omitempty"` + // Description missing in models + // required = true + Double float64 `protobuf:"fixed64,4,opt,name=double,proto3" json:"double,omitempty"` + // Description missing in models + // required = true + Mac string `protobuf:"bytes,5,opt,name=mac,proto3" json:"mac,omitempty"` + // Description missing in models + // required = true + Ipv4 string `protobuf:"bytes,6,opt,name=ipv4,proto3" json:"ipv4,omitempty"` + // Description missing in models + // required = true + Ipv6 string `protobuf:"bytes,7,opt,name=ipv6,proto3" json:"ipv6,omitempty"` + // Description missing in models + // required = true + Hex string `protobuf:"bytes,8,opt,name=hex,proto3" json:"hex,omitempty"` +} + +func (x *MObject) Reset() { + *x = MObject{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MObject) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MObject) ProtoMessage() {} + +func (x *MObject) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 MObject.ProtoReflect.Descriptor instead. +func (*MObject) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{15} +} + +func (x *MObject) GetStringParam() string { + if x != nil { + return x.StringParam + } + return "" +} + +func (x *MObject) GetInteger() int32 { + if x != nil { + return x.Integer + } + return 0 +} + +func (x *MObject) GetFloat() float32 { + if x != nil { + return x.Float + } + return 0 +} + +func (x *MObject) GetDouble() float64 { + if x != nil { + return x.Double + } + return 0 +} + +func (x *MObject) GetMac() string { + if x != nil { + return x.Mac + } + return "" +} + +func (x *MObject) GetIpv4() string { + if x != nil { + return x.Ipv4 + } + return "" +} + +func (x *MObject) GetIpv6() string { + if x != nil { + return x.Ipv6 + } + return "" +} + +func (x *MObject) GetHex() string { + if x != nil { + return x.Hex + } + return "" +} + +// Object to Test required Parameter +type Mandate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // required = true + RequiredParam string `protobuf:"bytes,1,opt,name=required_param,json=requiredParam,proto3" json:"required_param,omitempty"` +} + +func (x *Mandate) Reset() { + *x = Mandate{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Mandate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Mandate) ProtoMessage() {} + +func (x *Mandate) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 Mandate.ProtoReflect.Descriptor instead. +func (*Mandate) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{16} +} + +func (x *Mandate) GetRequiredParam() string { + if x != nil { + return x.RequiredParam + } + return "" +} + +// Under Review: the whole schema is being reviewed +// +// Object to Test required Parameter +type UpdateConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of objects with choice and properties + G []*GObject `protobuf:"bytes,1,rep,name=g,proto3" json:"g,omitempty"` +} + +func (x *UpdateConfig) Reset() { + *x = UpdateConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateConfig) ProtoMessage() {} + +func (x *UpdateConfig) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 UpdateConfig.ProtoReflect.Descriptor instead. +func (*UpdateConfig) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{17} +} + +func (x *UpdateConfig) GetG() []*GObject { + if x != nil { + return x.G + } + return nil +} + +// Description missing in models +type MetricsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // default = Choice.Enum.port + Choice *MetricsRequest_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=sanity.MetricsRequest_Choice_Enum,oneof" json:"choice,omitempty"` + // Description missing in models + Port *string `protobuf:"bytes,2,opt,name=port,proto3,oneof" json:"port,omitempty"` + // Description missing in models + Flow *string `protobuf:"bytes,3,opt,name=flow,proto3,oneof" json:"flow,omitempty"` +} + +func (x *MetricsRequest) Reset() { + *x = MetricsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MetricsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MetricsRequest) ProtoMessage() {} + +func (x *MetricsRequest) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 MetricsRequest.ProtoReflect.Descriptor instead. +func (*MetricsRequest) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{18} +} + +func (x *MetricsRequest) GetChoice() MetricsRequest_Choice_Enum { + if x != nil && x.Choice != nil { + return *x.Choice + } + return MetricsRequest_Choice_unspecified +} + +func (x *MetricsRequest) GetPort() string { + if x != nil && x.Port != nil { + return *x.Port + } + return "" +} + +func (x *MetricsRequest) GetFlow() string { + if x != nil && x.Flow != nil { + return *x.Flow + } + return "" +} + +// Description missing in models +type Metrics struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // default = Choice.Enum.ports + Choice *Metrics_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=sanity.Metrics_Choice_Enum,oneof" json:"choice,omitempty"` + // Description missing in models + Ports []*PortMetric `protobuf:"bytes,2,rep,name=ports,proto3" json:"ports,omitempty"` + // Description missing in models + Flows []*FlowMetric `protobuf:"bytes,3,rep,name=flows,proto3" json:"flows,omitempty"` +} + +func (x *Metrics) Reset() { + *x = Metrics{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Metrics) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Metrics) ProtoMessage() {} + +func (x *Metrics) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 Metrics.ProtoReflect.Descriptor instead. +func (*Metrics) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{19} +} + +func (x *Metrics) GetChoice() Metrics_Choice_Enum { + if x != nil && x.Choice != nil { + return *x.Choice + } + return Metrics_Choice_unspecified +} + +func (x *Metrics) GetPorts() []*PortMetric { + if x != nil { + return x.Ports + } + return nil +} + +func (x *Metrics) GetFlows() []*FlowMetric { + if x != nil { + return x.Flows + } + return nil +} + +// Description missing in models +type PortMetric struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // required = true + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Description missing in models + // required = true + TxFrames float64 `protobuf:"fixed64,2,opt,name=tx_frames,json=txFrames,proto3" json:"tx_frames,omitempty"` + // Description missing in models + // required = true + RxFrames float64 `protobuf:"fixed64,3,opt,name=rx_frames,json=rxFrames,proto3" json:"rx_frames,omitempty"` +} + +func (x *PortMetric) Reset() { + *x = PortMetric{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PortMetric) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PortMetric) ProtoMessage() {} + +func (x *PortMetric) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 PortMetric.ProtoReflect.Descriptor instead. +func (*PortMetric) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{20} +} + +func (x *PortMetric) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *PortMetric) GetTxFrames() float64 { + if x != nil { + return x.TxFrames + } + return 0 +} + +func (x *PortMetric) GetRxFrames() float64 { + if x != nil { + return x.RxFrames + } + return 0 +} + +// Description missing in models +type FlowMetric struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // required = true + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Description missing in models + // required = true + TxFrames float64 `protobuf:"fixed64,2,opt,name=tx_frames,json=txFrames,proto3" json:"tx_frames,omitempty"` + // Description missing in models + // required = true + RxFrames float64 `protobuf:"fixed64,3,opt,name=rx_frames,json=rxFrames,proto3" json:"rx_frames,omitempty"` +} + +func (x *FlowMetric) Reset() { + *x = FlowMetric{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FlowMetric) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FlowMetric) ProtoMessage() {} + +func (x *FlowMetric) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 FlowMetric.ProtoReflect.Descriptor instead. +func (*FlowMetric) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{21} +} + +func (x *FlowMetric) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *FlowMetric) GetTxFrames() float64 { + if x != nil { + return x.TxFrames + } + return 0 +} + +func (x *FlowMetric) GetRxFrames() float64 { + if x != nil { + return x.RxFrames + } + return 0 +} + +// Description missing in models +type RequiredChoiceParent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // required = true + Choice RequiredChoiceParent_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=sanity.RequiredChoiceParent_Choice_Enum" json:"choice,omitempty"` + // Description missing in models + IntermediateObj *RequiredChoiceIntermediate `protobuf:"bytes,2,opt,name=intermediate_obj,json=intermediateObj,proto3,oneof" json:"intermediate_obj,omitempty"` +} + +func (x *RequiredChoiceParent) Reset() { + *x = RequiredChoiceParent{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RequiredChoiceParent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RequiredChoiceParent) ProtoMessage() {} + +func (x *RequiredChoiceParent) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 RequiredChoiceParent.ProtoReflect.Descriptor instead. +func (*RequiredChoiceParent) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{22} +} + +func (x *RequiredChoiceParent) GetChoice() RequiredChoiceParent_Choice_Enum { + if x != nil { + return x.Choice + } + return RequiredChoiceParent_Choice_unspecified +} + +func (x *RequiredChoiceParent) GetIntermediateObj() *RequiredChoiceIntermediate { + if x != nil { + return x.IntermediateObj + } + return nil +} + +// Description missing in models +type RequiredChoiceIntermediate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // required = true + Choice RequiredChoiceIntermediate_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=sanity.RequiredChoiceIntermediate_Choice_Enum" json:"choice,omitempty"` + // Description missing in models + // default = some string + FA *string `protobuf:"bytes,2,opt,name=f_a,json=fA,proto3,oneof" json:"f_a,omitempty"` + // Description missing in models + Leaf *RequiredChoiceIntermeLeaf `protobuf:"bytes,3,opt,name=leaf,proto3,oneof" json:"leaf,omitempty"` +} + +func (x *RequiredChoiceIntermediate) Reset() { + *x = RequiredChoiceIntermediate{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RequiredChoiceIntermediate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RequiredChoiceIntermediate) ProtoMessage() {} + +func (x *RequiredChoiceIntermediate) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 RequiredChoiceIntermediate.ProtoReflect.Descriptor instead. +func (*RequiredChoiceIntermediate) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{23} +} + +func (x *RequiredChoiceIntermediate) GetChoice() RequiredChoiceIntermediate_Choice_Enum { + if x != nil { + return x.Choice + } + return RequiredChoiceIntermediate_Choice_unspecified +} + +func (x *RequiredChoiceIntermediate) GetFA() string { + if x != nil && x.FA != nil { + return *x.FA + } + return "" +} + +func (x *RequiredChoiceIntermediate) GetLeaf() *RequiredChoiceIntermeLeaf { + if x != nil { + return x.Leaf + } + return nil +} + +// Description missing in models +type RequiredChoiceIntermeLeaf struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + Name *string `protobuf:"bytes,1,opt,name=name,proto3,oneof" json:"name,omitempty"` +} + +func (x *RequiredChoiceIntermeLeaf) Reset() { + *x = RequiredChoiceIntermeLeaf{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RequiredChoiceIntermeLeaf) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RequiredChoiceIntermeLeaf) ProtoMessage() {} + +func (x *RequiredChoiceIntermeLeaf) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 RequiredChoiceIntermeLeaf.ProtoReflect.Descriptor instead. +func (*RequiredChoiceIntermeLeaf) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{24} +} + +func (x *RequiredChoiceIntermeLeaf) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +// To Test Multi level non-primitive types +type LevelOne struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Level one + L1P1 *LevelTwo `protobuf:"bytes,1,opt,name=l1_p1,json=l1P1,proto3,oneof" json:"l1_p1,omitempty"` + // Level one to four + L1P2 *LevelFour `protobuf:"bytes,2,opt,name=l1_p2,json=l1P2,proto3,oneof" json:"l1_p2,omitempty"` +} + +func (x *LevelOne) Reset() { + *x = LevelOne{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LevelOne) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LevelOne) ProtoMessage() {} + +func (x *LevelOne) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 LevelOne.ProtoReflect.Descriptor instead. +func (*LevelOne) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{25} +} + +func (x *LevelOne) GetL1P1() *LevelTwo { + if x != nil { + return x.L1P1 + } + return nil +} + +func (x *LevelOne) GetL1P2() *LevelFour { + if x != nil { + return x.L1P2 + } + return nil +} + +// Test Level 2 +type LevelTwo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Level Two + L2P1 *LevelThree `protobuf:"bytes,1,opt,name=l2_p1,json=l2P1,proto3,oneof" json:"l2_p1,omitempty"` +} + +func (x *LevelTwo) Reset() { + *x = LevelTwo{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LevelTwo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LevelTwo) ProtoMessage() {} + +func (x *LevelTwo) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 LevelTwo.ProtoReflect.Descriptor instead. +func (*LevelTwo) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{26} +} + +func (x *LevelTwo) GetL2P1() *LevelThree { + if x != nil { + return x.L2P1 + } + return nil +} + +// Test Level3 +type LevelThree struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Set value at Level 3 + L3P1 *string `protobuf:"bytes,1,opt,name=l3_p1,json=l3P1,proto3,oneof" json:"l3_p1,omitempty"` +} + +func (x *LevelThree) Reset() { + *x = LevelThree{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LevelThree) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LevelThree) ProtoMessage() {} + +func (x *LevelThree) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 LevelThree.ProtoReflect.Descriptor instead. +func (*LevelThree) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{27} +} + +func (x *LevelThree) GetL3P1() string { + if x != nil && x.L3P1 != nil { + return *x.L3P1 + } + return "" +} + +// Test level4 redundant junk testing +type LevelFour struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // loop over level 1 + L4P1 *LevelOne `protobuf:"bytes,1,opt,name=l4_p1,json=l4P1,proto3,oneof" json:"l4_p1,omitempty"` +} + +func (x *LevelFour) Reset() { + *x = LevelFour{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LevelFour) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LevelFour) ProtoMessage() {} + +func (x *LevelFour) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 LevelFour.ProtoReflect.Descriptor instead. +func (*LevelFour) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{28} +} + +func (x *LevelFour) GetL4P1() *LevelOne { + if x != nil { + return x.L4P1 + } + return nil +} + +// Test ipv4 pattern +type Ipv4Pattern struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + Ipv4 *PatternIpv4PatternIpv4 `protobuf:"bytes,1,opt,name=ipv4,proto3,oneof" json:"ipv4,omitempty"` +} + +func (x *Ipv4Pattern) Reset() { + *x = Ipv4Pattern{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Ipv4Pattern) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Ipv4Pattern) ProtoMessage() {} + +func (x *Ipv4Pattern) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 Ipv4Pattern.ProtoReflect.Descriptor instead. +func (*Ipv4Pattern) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{29} +} + +func (x *Ipv4Pattern) GetIpv4() *PatternIpv4PatternIpv4 { + if x != nil { + return x.Ipv4 + } + return nil +} + +// Test ipv6 pattern +type Ipv6Pattern struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + Ipv6 *PatternIpv6PatternIpv6 `protobuf:"bytes,1,opt,name=ipv6,proto3,oneof" json:"ipv6,omitempty"` +} + +func (x *Ipv6Pattern) Reset() { + *x = Ipv6Pattern{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Ipv6Pattern) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Ipv6Pattern) ProtoMessage() {} + +func (x *Ipv6Pattern) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 Ipv6Pattern.ProtoReflect.Descriptor instead. +func (*Ipv6Pattern) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{30} +} + +func (x *Ipv6Pattern) GetIpv6() *PatternIpv6PatternIpv6 { + if x != nil { + return x.Ipv6 + } + return nil +} + +// Test mac pattern +type MacPattern struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + Mac *PatternMacPatternMac `protobuf:"bytes,1,opt,name=mac,proto3,oneof" json:"mac,omitempty"` +} + +func (x *MacPattern) Reset() { + *x = MacPattern{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MacPattern) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MacPattern) ProtoMessage() {} + +func (x *MacPattern) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 MacPattern.ProtoReflect.Descriptor instead. +func (*MacPattern) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{31} +} + +func (x *MacPattern) GetMac() *PatternMacPatternMac { + if x != nil { + return x.Mac + } + return nil +} + +// Test integer pattern +type IntegerPattern struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + Integer *PatternIntegerPatternInteger `protobuf:"bytes,1,opt,name=integer,proto3,oneof" json:"integer,omitempty"` +} + +func (x *IntegerPattern) Reset() { + *x = IntegerPattern{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IntegerPattern) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IntegerPattern) ProtoMessage() {} + +func (x *IntegerPattern) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 IntegerPattern.ProtoReflect.Descriptor instead. +func (*IntegerPattern) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{32} +} + +func (x *IntegerPattern) GetInteger() *PatternIntegerPatternInteger { + if x != nil { + return x.Integer + } + return nil +} + +// Test checksum pattern +type ChecksumPattern struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + Checksum *PatternChecksumPatternChecksum `protobuf:"bytes,1,opt,name=checksum,proto3,oneof" json:"checksum,omitempty"` +} + +func (x *ChecksumPattern) Reset() { + *x = ChecksumPattern{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChecksumPattern) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChecksumPattern) ProtoMessage() {} + +func (x *ChecksumPattern) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 ChecksumPattern.ProtoReflect.Descriptor instead. +func (*ChecksumPattern) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{33} +} + +func (x *ChecksumPattern) GetChecksum() *PatternChecksumPatternChecksum { + if x != nil { + return x.Checksum + } + return nil +} + +// Description missing in models +type CommonResponseSuccess struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + Message *string `protobuf:"bytes,1,opt,name=message,proto3,oneof" json:"message,omitempty"` +} + +func (x *CommonResponseSuccess) Reset() { + *x = CommonResponseSuccess{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommonResponseSuccess) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommonResponseSuccess) ProtoMessage() {} + +func (x *CommonResponseSuccess) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 CommonResponseSuccess.ProtoReflect.Descriptor instead. +func (*CommonResponseSuccess) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{34} +} + +func (x *CommonResponseSuccess) GetMessage() string { + if x != nil && x.Message != nil { + return *x.Message + } + return "" +} + +// Description missing in models +type ApiTestInputBody struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + SomeString *string `protobuf:"bytes,1,opt,name=some_string,json=someString,proto3,oneof" json:"some_string,omitempty"` +} + +func (x *ApiTestInputBody) Reset() { + *x = ApiTestInputBody{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApiTestInputBody) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApiTestInputBody) ProtoMessage() {} + +func (x *ApiTestInputBody) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 ApiTestInputBody.ProtoReflect.Descriptor instead. +func (*ApiTestInputBody) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{35} +} + +func (x *ApiTestInputBody) GetSomeString() string { + if x != nil && x.SomeString != nil { + return *x.SomeString + } + return "" +} + +// Description missing in models +type ServiceAbcItem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + SomeId *string `protobuf:"bytes,1,opt,name=some_id,json=someId,proto3,oneof" json:"some_id,omitempty"` + // Description missing in models + SomeString *string `protobuf:"bytes,2,opt,name=some_string,json=someString,proto3,oneof" json:"some_string,omitempty"` + // Description missing in models + PathId *string `protobuf:"bytes,3,opt,name=path_id,json=pathId,proto3,oneof" json:"path_id,omitempty"` + // Description missing in models + Level_2 *string `protobuf:"bytes,4,opt,name=level_2,json=level2,proto3,oneof" json:"level_2,omitempty"` +} + +func (x *ServiceAbcItem) Reset() { + *x = ServiceAbcItem{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServiceAbcItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServiceAbcItem) ProtoMessage() {} + +func (x *ServiceAbcItem) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 ServiceAbcItem.ProtoReflect.Descriptor instead. +func (*ServiceAbcItem) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{36} +} + +func (x *ServiceAbcItem) GetSomeId() string { + if x != nil && x.SomeId != nil { + return *x.SomeId + } + return "" +} + +func (x *ServiceAbcItem) GetSomeString() string { + if x != nil && x.SomeString != nil { + return *x.SomeString + } + return "" +} + +func (x *ServiceAbcItem) GetPathId() string { + if x != nil && x.PathId != nil { + return *x.PathId + } + return "" +} + +func (x *ServiceAbcItem) GetLevel_2() string { + if x != nil && x.Level_2 != nil { + return *x.Level_2 + } + return "" +} + +// Description missing in models +type ServiceAbcItemList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + Items []*ServiceAbcItem `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` +} + +func (x *ServiceAbcItemList) Reset() { + *x = ServiceAbcItemList{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServiceAbcItemList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServiceAbcItemList) ProtoMessage() {} + +func (x *ServiceAbcItemList) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 ServiceAbcItemList.ProtoReflect.Descriptor instead. +func (*ServiceAbcItemList) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{37} +} + +func (x *ServiceAbcItemList) GetItems() []*ServiceAbcItem { + if x != nil { + return x.Items + } + return nil +} + +// Header checksum +type PatternPrefixConfigHeaderChecksum struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The type of checksum + // default = Choice.Enum.generated + Choice *PatternPrefixConfigHeaderChecksum_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=sanity.PatternPrefixConfigHeaderChecksum_Choice_Enum,oneof" json:"choice,omitempty"` + // A system generated checksum value + // default = Generated.Enum.good + Generated *PatternPrefixConfigHeaderChecksum_Generated_Enum `protobuf:"varint,2,opt,name=generated,proto3,enum=sanity.PatternPrefixConfigHeaderChecksum_Generated_Enum,oneof" json:"generated,omitempty"` + // A custom checksum value + Custom *uint32 `protobuf:"varint,3,opt,name=custom,proto3,oneof" json:"custom,omitempty"` +} + +func (x *PatternPrefixConfigHeaderChecksum) Reset() { + *x = PatternPrefixConfigHeaderChecksum{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternPrefixConfigHeaderChecksum) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternPrefixConfigHeaderChecksum) ProtoMessage() {} + +func (x *PatternPrefixConfigHeaderChecksum) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 PatternPrefixConfigHeaderChecksum.ProtoReflect.Descriptor instead. +func (*PatternPrefixConfigHeaderChecksum) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{38} +} + +func (x *PatternPrefixConfigHeaderChecksum) GetChoice() PatternPrefixConfigHeaderChecksum_Choice_Enum { + if x != nil && x.Choice != nil { + return *x.Choice + } + return PatternPrefixConfigHeaderChecksum_Choice_unspecified +} + +func (x *PatternPrefixConfigHeaderChecksum) GetGenerated() PatternPrefixConfigHeaderChecksum_Generated_Enum { + if x != nil && x.Generated != nil { + return *x.Generated + } + return PatternPrefixConfigHeaderChecksum_Generated_unspecified +} + +func (x *PatternPrefixConfigHeaderChecksum) GetCustom() uint32 { + if x != nil && x.Custom != nil { + return *x.Custom + } + return 0 +} + +// integer counter pattern +type PatternPrefixConfigAutoFieldTestCounter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // default = 0 + Start *uint32 `protobuf:"varint,1,opt,name=start,proto3,oneof" json:"start,omitempty"` + // Description missing in models + // default = 1 + Step *uint32 `protobuf:"varint,2,opt,name=step,proto3,oneof" json:"step,omitempty"` + // Description missing in models + // default = 1 + Count *uint32 `protobuf:"varint,3,opt,name=count,proto3,oneof" json:"count,omitempty"` +} + +func (x *PatternPrefixConfigAutoFieldTestCounter) Reset() { + *x = PatternPrefixConfigAutoFieldTestCounter{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternPrefixConfigAutoFieldTestCounter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternPrefixConfigAutoFieldTestCounter) ProtoMessage() {} + +func (x *PatternPrefixConfigAutoFieldTestCounter) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 PatternPrefixConfigAutoFieldTestCounter.ProtoReflect.Descriptor instead. +func (*PatternPrefixConfigAutoFieldTestCounter) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{39} +} + +func (x *PatternPrefixConfigAutoFieldTestCounter) GetStart() uint32 { + if x != nil && x.Start != nil { + return *x.Start + } + return 0 +} + +func (x *PatternPrefixConfigAutoFieldTestCounter) GetStep() uint32 { + if x != nil && x.Step != nil { + return *x.Step + } + return 0 +} + +func (x *PatternPrefixConfigAutoFieldTestCounter) GetCount() uint32 { + if x != nil && x.Count != nil { + return *x.Count + } + return 0 +} + +// TBD +type PatternPrefixConfigAutoFieldTest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // default = Choice.Enum.auto + Choice *PatternPrefixConfigAutoFieldTest_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=sanity.PatternPrefixConfigAutoFieldTest_Choice_Enum,oneof" json:"choice,omitempty"` + // Description missing in models + // default = 0 + Value *uint32 `protobuf:"varint,2,opt,name=value,proto3,oneof" json:"value,omitempty"` + // Description missing in models + // default = [0] + Values []uint32 `protobuf:"varint,3,rep,packed,name=values,proto3" json:"values,omitempty"` + // The OTG implementation can provide a system generated + // value for this property. If the OTG is unable to generate a value + // the default value must be used. + // default = 0 + Auto *uint32 `protobuf:"varint,4,opt,name=auto,proto3,oneof" json:"auto,omitempty"` + // Description missing in models + Increment *PatternPrefixConfigAutoFieldTestCounter `protobuf:"bytes,6,opt,name=increment,proto3,oneof" json:"increment,omitempty"` + // Description missing in models + Decrement *PatternPrefixConfigAutoFieldTestCounter `protobuf:"bytes,7,opt,name=decrement,proto3,oneof" json:"decrement,omitempty"` +} + +func (x *PatternPrefixConfigAutoFieldTest) Reset() { + *x = PatternPrefixConfigAutoFieldTest{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternPrefixConfigAutoFieldTest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternPrefixConfigAutoFieldTest) ProtoMessage() {} + +func (x *PatternPrefixConfigAutoFieldTest) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 PatternPrefixConfigAutoFieldTest.ProtoReflect.Descriptor instead. +func (*PatternPrefixConfigAutoFieldTest) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{40} +} + +func (x *PatternPrefixConfigAutoFieldTest) GetChoice() PatternPrefixConfigAutoFieldTest_Choice_Enum { + if x != nil && x.Choice != nil { + return *x.Choice + } + return PatternPrefixConfigAutoFieldTest_Choice_unspecified +} + +func (x *PatternPrefixConfigAutoFieldTest) GetValue() uint32 { + if x != nil && x.Value != nil { + return *x.Value + } + return 0 +} + +func (x *PatternPrefixConfigAutoFieldTest) GetValues() []uint32 { + if x != nil { + return x.Values + } + return nil +} + +func (x *PatternPrefixConfigAutoFieldTest) GetAuto() uint32 { + if x != nil && x.Auto != nil { + return *x.Auto + } + return 0 +} + +func (x *PatternPrefixConfigAutoFieldTest) GetIncrement() *PatternPrefixConfigAutoFieldTestCounter { + if x != nil { + return x.Increment + } + return nil +} + +func (x *PatternPrefixConfigAutoFieldTest) GetDecrement() *PatternPrefixConfigAutoFieldTestCounter { + if x != nil { + return x.Decrement + } + return nil +} + +// ipv4 counter pattern +type PatternIpv4PatternIpv4Counter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // default = 0.0.0.0 + Start *string `protobuf:"bytes,1,opt,name=start,proto3,oneof" json:"start,omitempty"` + // Description missing in models + // default = 0.0.0.1 + Step *string `protobuf:"bytes,2,opt,name=step,proto3,oneof" json:"step,omitempty"` + // Description missing in models + // default = 1 + Count *uint32 `protobuf:"varint,3,opt,name=count,proto3,oneof" json:"count,omitempty"` +} + +func (x *PatternIpv4PatternIpv4Counter) Reset() { + *x = PatternIpv4PatternIpv4Counter{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternIpv4PatternIpv4Counter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternIpv4PatternIpv4Counter) ProtoMessage() {} + +func (x *PatternIpv4PatternIpv4Counter) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 PatternIpv4PatternIpv4Counter.ProtoReflect.Descriptor instead. +func (*PatternIpv4PatternIpv4Counter) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{41} +} + +func (x *PatternIpv4PatternIpv4Counter) GetStart() string { + if x != nil && x.Start != nil { + return *x.Start + } + return "" +} + +func (x *PatternIpv4PatternIpv4Counter) GetStep() string { + if x != nil && x.Step != nil { + return *x.Step + } + return "" +} + +func (x *PatternIpv4PatternIpv4Counter) GetCount() uint32 { + if x != nil && x.Count != nil { + return *x.Count + } + return 0 +} + +// TBD +type PatternIpv4PatternIpv4 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // default = Choice.Enum.value + Choice *PatternIpv4PatternIpv4_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=sanity.PatternIpv4PatternIpv4_Choice_Enum,oneof" json:"choice,omitempty"` + // Description missing in models + // default = 0.0.0.0 + Value *string `protobuf:"bytes,2,opt,name=value,proto3,oneof" json:"value,omitempty"` + // Description missing in models + // default = ['0.0.0.0'] + Values []string `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"` + // Description missing in models + Increment *PatternIpv4PatternIpv4Counter `protobuf:"bytes,5,opt,name=increment,proto3,oneof" json:"increment,omitempty"` + // Description missing in models + Decrement *PatternIpv4PatternIpv4Counter `protobuf:"bytes,6,opt,name=decrement,proto3,oneof" json:"decrement,omitempty"` +} + +func (x *PatternIpv4PatternIpv4) Reset() { + *x = PatternIpv4PatternIpv4{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternIpv4PatternIpv4) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternIpv4PatternIpv4) ProtoMessage() {} + +func (x *PatternIpv4PatternIpv4) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 PatternIpv4PatternIpv4.ProtoReflect.Descriptor instead. +func (*PatternIpv4PatternIpv4) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{42} +} + +func (x *PatternIpv4PatternIpv4) GetChoice() PatternIpv4PatternIpv4_Choice_Enum { + if x != nil && x.Choice != nil { + return *x.Choice + } + return PatternIpv4PatternIpv4_Choice_unspecified +} + +func (x *PatternIpv4PatternIpv4) GetValue() string { + if x != nil && x.Value != nil { + return *x.Value + } + return "" +} + +func (x *PatternIpv4PatternIpv4) GetValues() []string { + if x != nil { + return x.Values + } + return nil +} + +func (x *PatternIpv4PatternIpv4) GetIncrement() *PatternIpv4PatternIpv4Counter { + if x != nil { + return x.Increment + } + return nil +} + +func (x *PatternIpv4PatternIpv4) GetDecrement() *PatternIpv4PatternIpv4Counter { + if x != nil { + return x.Decrement + } + return nil +} + +// ipv6 counter pattern +type PatternIpv6PatternIpv6Counter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // default = :: + Start *string `protobuf:"bytes,1,opt,name=start,proto3,oneof" json:"start,omitempty"` + // Description missing in models + // default = ::1 + Step *string `protobuf:"bytes,2,opt,name=step,proto3,oneof" json:"step,omitempty"` + // Description missing in models + // default = 1 + Count *uint32 `protobuf:"varint,3,opt,name=count,proto3,oneof" json:"count,omitempty"` +} + +func (x *PatternIpv6PatternIpv6Counter) Reset() { + *x = PatternIpv6PatternIpv6Counter{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternIpv6PatternIpv6Counter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternIpv6PatternIpv6Counter) ProtoMessage() {} + +func (x *PatternIpv6PatternIpv6Counter) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 PatternIpv6PatternIpv6Counter.ProtoReflect.Descriptor instead. +func (*PatternIpv6PatternIpv6Counter) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{43} +} + +func (x *PatternIpv6PatternIpv6Counter) GetStart() string { + if x != nil && x.Start != nil { + return *x.Start + } + return "" +} + +func (x *PatternIpv6PatternIpv6Counter) GetStep() string { + if x != nil && x.Step != nil { + return *x.Step + } + return "" +} + +func (x *PatternIpv6PatternIpv6Counter) GetCount() uint32 { + if x != nil && x.Count != nil { + return *x.Count + } + return 0 +} + +// TBD +type PatternIpv6PatternIpv6 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // default = Choice.Enum.value + Choice *PatternIpv6PatternIpv6_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=sanity.PatternIpv6PatternIpv6_Choice_Enum,oneof" json:"choice,omitempty"` + // Description missing in models + // default = :: + Value *string `protobuf:"bytes,2,opt,name=value,proto3,oneof" json:"value,omitempty"` + // Description missing in models + // default = ['::'] + Values []string `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"` + // Description missing in models + Increment *PatternIpv6PatternIpv6Counter `protobuf:"bytes,5,opt,name=increment,proto3,oneof" json:"increment,omitempty"` + // Description missing in models + Decrement *PatternIpv6PatternIpv6Counter `protobuf:"bytes,6,opt,name=decrement,proto3,oneof" json:"decrement,omitempty"` +} + +func (x *PatternIpv6PatternIpv6) Reset() { + *x = PatternIpv6PatternIpv6{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternIpv6PatternIpv6) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternIpv6PatternIpv6) ProtoMessage() {} + +func (x *PatternIpv6PatternIpv6) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 PatternIpv6PatternIpv6.ProtoReflect.Descriptor instead. +func (*PatternIpv6PatternIpv6) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{44} +} + +func (x *PatternIpv6PatternIpv6) GetChoice() PatternIpv6PatternIpv6_Choice_Enum { + if x != nil && x.Choice != nil { + return *x.Choice + } + return PatternIpv6PatternIpv6_Choice_unspecified +} + +func (x *PatternIpv6PatternIpv6) GetValue() string { + if x != nil && x.Value != nil { + return *x.Value + } + return "" +} + +func (x *PatternIpv6PatternIpv6) GetValues() []string { + if x != nil { + return x.Values + } + return nil +} + +func (x *PatternIpv6PatternIpv6) GetIncrement() *PatternIpv6PatternIpv6Counter { + if x != nil { + return x.Increment + } + return nil +} + +func (x *PatternIpv6PatternIpv6) GetDecrement() *PatternIpv6PatternIpv6Counter { + if x != nil { + return x.Decrement + } + return nil +} + +// mac counter pattern +type PatternMacPatternMacCounter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // default = 00:00:00:00:00:00 + Start *string `protobuf:"bytes,1,opt,name=start,proto3,oneof" json:"start,omitempty"` + // Description missing in models + // default = 00:00:00:00:00:01 + Step *string `protobuf:"bytes,2,opt,name=step,proto3,oneof" json:"step,omitempty"` + // Description missing in models + // default = 1 + Count *uint32 `protobuf:"varint,3,opt,name=count,proto3,oneof" json:"count,omitempty"` +} + +func (x *PatternMacPatternMacCounter) Reset() { + *x = PatternMacPatternMacCounter{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternMacPatternMacCounter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternMacPatternMacCounter) ProtoMessage() {} + +func (x *PatternMacPatternMacCounter) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 PatternMacPatternMacCounter.ProtoReflect.Descriptor instead. +func (*PatternMacPatternMacCounter) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{45} +} + +func (x *PatternMacPatternMacCounter) GetStart() string { + if x != nil && x.Start != nil { + return *x.Start + } + return "" +} + +func (x *PatternMacPatternMacCounter) GetStep() string { + if x != nil && x.Step != nil { + return *x.Step + } + return "" +} + +func (x *PatternMacPatternMacCounter) GetCount() uint32 { + if x != nil && x.Count != nil { + return *x.Count + } + return 0 +} + +// TBD +type PatternMacPatternMac struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // default = Choice.Enum.auto + Choice *PatternMacPatternMac_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=sanity.PatternMacPatternMac_Choice_Enum,oneof" json:"choice,omitempty"` + // Description missing in models + // default = 00:00:00:00:00:00 + Value *string `protobuf:"bytes,2,opt,name=value,proto3,oneof" json:"value,omitempty"` + // Description missing in models + // default = ['00:00:00:00:00:00'] + Values []string `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"` + // The OTG implementation can provide a system generated + // value for this property. If the OTG is unable to generate a value + // the default value must be used. + // default = 00:00:00:00:00:00 + Auto *string `protobuf:"bytes,4,opt,name=auto,proto3,oneof" json:"auto,omitempty"` + // Description missing in models + Increment *PatternMacPatternMacCounter `protobuf:"bytes,6,opt,name=increment,proto3,oneof" json:"increment,omitempty"` + // Description missing in models + Decrement *PatternMacPatternMacCounter `protobuf:"bytes,7,opt,name=decrement,proto3,oneof" json:"decrement,omitempty"` +} + +func (x *PatternMacPatternMac) Reset() { + *x = PatternMacPatternMac{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternMacPatternMac) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternMacPatternMac) ProtoMessage() {} + +func (x *PatternMacPatternMac) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 PatternMacPatternMac.ProtoReflect.Descriptor instead. +func (*PatternMacPatternMac) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{46} +} + +func (x *PatternMacPatternMac) GetChoice() PatternMacPatternMac_Choice_Enum { + if x != nil && x.Choice != nil { + return *x.Choice + } + return PatternMacPatternMac_Choice_unspecified +} + +func (x *PatternMacPatternMac) GetValue() string { + if x != nil && x.Value != nil { + return *x.Value + } + return "" +} + +func (x *PatternMacPatternMac) GetValues() []string { + if x != nil { + return x.Values + } + return nil +} + +func (x *PatternMacPatternMac) GetAuto() string { + if x != nil && x.Auto != nil { + return *x.Auto + } + return "" +} + +func (x *PatternMacPatternMac) GetIncrement() *PatternMacPatternMacCounter { + if x != nil { + return x.Increment + } + return nil +} + +func (x *PatternMacPatternMac) GetDecrement() *PatternMacPatternMacCounter { + if x != nil { + return x.Decrement + } + return nil +} + +// integer counter pattern +type PatternIntegerPatternIntegerCounter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // default = 0 + Start *uint32 `protobuf:"varint,1,opt,name=start,proto3,oneof" json:"start,omitempty"` + // Description missing in models + // default = 1 + Step *uint32 `protobuf:"varint,2,opt,name=step,proto3,oneof" json:"step,omitempty"` + // Description missing in models + // default = 1 + Count *uint32 `protobuf:"varint,3,opt,name=count,proto3,oneof" json:"count,omitempty"` +} + +func (x *PatternIntegerPatternIntegerCounter) Reset() { + *x = PatternIntegerPatternIntegerCounter{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternIntegerPatternIntegerCounter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternIntegerPatternIntegerCounter) ProtoMessage() {} + +func (x *PatternIntegerPatternIntegerCounter) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 PatternIntegerPatternIntegerCounter.ProtoReflect.Descriptor instead. +func (*PatternIntegerPatternIntegerCounter) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{47} +} + +func (x *PatternIntegerPatternIntegerCounter) GetStart() uint32 { + if x != nil && x.Start != nil { + return *x.Start + } + return 0 +} + +func (x *PatternIntegerPatternIntegerCounter) GetStep() uint32 { + if x != nil && x.Step != nil { + return *x.Step + } + return 0 +} + +func (x *PatternIntegerPatternIntegerCounter) GetCount() uint32 { + if x != nil && x.Count != nil { + return *x.Count + } + return 0 +} + +// TBD +type PatternIntegerPatternInteger struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // default = Choice.Enum.value + Choice *PatternIntegerPatternInteger_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=sanity.PatternIntegerPatternInteger_Choice_Enum,oneof" json:"choice,omitempty"` + // Description missing in models + // default = 0 + Value *uint32 `protobuf:"varint,2,opt,name=value,proto3,oneof" json:"value,omitempty"` + // Description missing in models + // default = [0] + Values []uint32 `protobuf:"varint,3,rep,packed,name=values,proto3" json:"values,omitempty"` + // Description missing in models + Increment *PatternIntegerPatternIntegerCounter `protobuf:"bytes,5,opt,name=increment,proto3,oneof" json:"increment,omitempty"` + // Description missing in models + Decrement *PatternIntegerPatternIntegerCounter `protobuf:"bytes,6,opt,name=decrement,proto3,oneof" json:"decrement,omitempty"` +} + +func (x *PatternIntegerPatternInteger) Reset() { + *x = PatternIntegerPatternInteger{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternIntegerPatternInteger) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternIntegerPatternInteger) ProtoMessage() {} + +func (x *PatternIntegerPatternInteger) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 PatternIntegerPatternInteger.ProtoReflect.Descriptor instead. +func (*PatternIntegerPatternInteger) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{48} +} + +func (x *PatternIntegerPatternInteger) GetChoice() PatternIntegerPatternInteger_Choice_Enum { + if x != nil && x.Choice != nil { + return *x.Choice + } + return PatternIntegerPatternInteger_Choice_unspecified +} + +func (x *PatternIntegerPatternInteger) GetValue() uint32 { + if x != nil && x.Value != nil { + return *x.Value + } + return 0 +} + +func (x *PatternIntegerPatternInteger) GetValues() []uint32 { + if x != nil { + return x.Values + } + return nil +} + +func (x *PatternIntegerPatternInteger) GetIncrement() *PatternIntegerPatternIntegerCounter { + if x != nil { + return x.Increment + } + return nil +} + +func (x *PatternIntegerPatternInteger) GetDecrement() *PatternIntegerPatternIntegerCounter { + if x != nil { + return x.Decrement + } + return nil +} + +// TBD +type PatternChecksumPatternChecksum struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The type of checksum + // default = Choice.Enum.generated + Choice *PatternChecksumPatternChecksum_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=sanity.PatternChecksumPatternChecksum_Choice_Enum,oneof" json:"choice,omitempty"` + // A system generated checksum value + // default = Generated.Enum.good + Generated *PatternChecksumPatternChecksum_Generated_Enum `protobuf:"varint,2,opt,name=generated,proto3,enum=sanity.PatternChecksumPatternChecksum_Generated_Enum,oneof" json:"generated,omitempty"` + // A custom checksum value + Custom *uint32 `protobuf:"varint,3,opt,name=custom,proto3,oneof" json:"custom,omitempty"` +} + +func (x *PatternChecksumPatternChecksum) Reset() { + *x = PatternChecksumPatternChecksum{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternChecksumPatternChecksum) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternChecksumPatternChecksum) ProtoMessage() {} + +func (x *PatternChecksumPatternChecksum) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 PatternChecksumPatternChecksum.ProtoReflect.Descriptor instead. +func (*PatternChecksumPatternChecksum) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{49} +} + +func (x *PatternChecksumPatternChecksum) GetChoice() PatternChecksumPatternChecksum_Choice_Enum { + if x != nil && x.Choice != nil { + return *x.Choice + } + return PatternChecksumPatternChecksum_Choice_unspecified +} + +func (x *PatternChecksumPatternChecksum) GetGenerated() PatternChecksumPatternChecksum_Generated_Enum { + if x != nil && x.Generated != nil { + return *x.Generated + } + return PatternChecksumPatternChecksum_Generated_unspecified +} + +func (x *PatternChecksumPatternChecksum) GetCustom() uint32 { + if x != nil && x.Custom != nil { + return *x.Custom + } + return 0 +} + +// Version details +type Version struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Version of API specification + // default = + ApiSpecVersion *string `protobuf:"bytes,1,opt,name=api_spec_version,json=apiSpecVersion,proto3,oneof" json:"api_spec_version,omitempty"` + // Version of SDK generated from API specification + // default = + SdkVersion *string `protobuf:"bytes,2,opt,name=sdk_version,json=sdkVersion,proto3,oneof" json:"sdk_version,omitempty"` + // Version of application consuming or serving the API + // default = + AppVersion *string `protobuf:"bytes,3,opt,name=app_version,json=appVersion,proto3,oneof" json:"app_version,omitempty"` +} + +func (x *Version) Reset() { + *x = Version{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Version) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Version) ProtoMessage() {} + +func (x *Version) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 Version.ProtoReflect.Descriptor instead. +func (*Version) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{50} +} + +func (x *Version) GetApiSpecVersion() string { + if x != nil && x.ApiSpecVersion != nil { + return *x.ApiSpecVersion + } + return "" +} + +func (x *Version) GetSdkVersion() string { + if x != nil && x.SdkVersion != nil { + return *x.SdkVersion + } + return "" +} + +func (x *Version) GetAppVersion() string { + if x != nil && x.AppVersion != nil { + return *x.AppVersion + } + return "" +} + +// Success warning payload similar to otg Success +type Warnings struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + WarningDetails *WarningDetails `protobuf:"bytes,1,opt,name=warning_details,json=warningDetails,proto3" json:"warning_details,omitempty"` +} + +func (x *Warnings) Reset() { + *x = Warnings{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Warnings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Warnings) ProtoMessage() {} + +func (x *Warnings) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 Warnings.ProtoReflect.Descriptor instead. +func (*Warnings) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{51} +} + +func (x *Warnings) GetWarningDetails() *WarningDetails { + if x != nil { + return x.WarningDetails + } + return nil +} + +type SetConfigRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PrefixConfig *PrefixConfig `protobuf:"bytes,1,opt,name=prefix_config,json=prefixConfig,proto3" json:"prefix_config,omitempty"` +} + +func (x *SetConfigRequest) Reset() { + *x = SetConfigRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetConfigRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetConfigRequest) ProtoMessage() {} + +func (x *SetConfigRequest) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 SetConfigRequest.ProtoReflect.Descriptor instead. +func (*SetConfigRequest) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{52} +} + +func (x *SetConfigRequest) GetPrefixConfig() *PrefixConfig { + if x != nil { + return x.PrefixConfig + } + return nil +} + +type UpdateConfigurationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + UpdateConfig *UpdateConfig `protobuf:"bytes,1,opt,name=update_config,json=updateConfig,proto3" json:"update_config,omitempty"` +} + +func (x *UpdateConfigurationRequest) Reset() { + *x = UpdateConfigurationRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateConfigurationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateConfigurationRequest) ProtoMessage() {} + +func (x *UpdateConfigurationRequest) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 UpdateConfigurationRequest.ProtoReflect.Descriptor instead. +func (*UpdateConfigurationRequest) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{53} +} + +func (x *UpdateConfigurationRequest) GetUpdateConfig() *UpdateConfig { + if x != nil { + return x.UpdateConfig + } + return nil +} + +type SetConfigResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ResponseBytes []byte `protobuf:"bytes,1,opt,name=response_bytes,json=responseBytes,proto3" json:"response_bytes,omitempty"` +} + +func (x *SetConfigResponse) Reset() { + *x = SetConfigResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetConfigResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetConfigResponse) ProtoMessage() {} + +func (x *SetConfigResponse) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 SetConfigResponse.ProtoReflect.Descriptor instead. +func (*SetConfigResponse) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{54} +} + +func (x *SetConfigResponse) GetResponseBytes() []byte { + if x != nil { + return x.ResponseBytes + } + return nil +} + +type UpdateConfigurationResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PrefixConfig *PrefixConfig `protobuf:"bytes,1,opt,name=prefix_config,json=prefixConfig,proto3" json:"prefix_config,omitempty"` +} + +func (x *UpdateConfigurationResponse) Reset() { + *x = UpdateConfigurationResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateConfigurationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateConfigurationResponse) ProtoMessage() {} + +func (x *UpdateConfigurationResponse) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 UpdateConfigurationResponse.ProtoReflect.Descriptor instead. +func (*UpdateConfigurationResponse) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{55} +} + +func (x *UpdateConfigurationResponse) GetPrefixConfig() *PrefixConfig { + if x != nil { + return x.PrefixConfig + } + return nil +} + +type GetConfigResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PrefixConfig *PrefixConfig `protobuf:"bytes,1,opt,name=prefix_config,json=prefixConfig,proto3" json:"prefix_config,omitempty"` +} + +func (x *GetConfigResponse) Reset() { + *x = GetConfigResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetConfigResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetConfigResponse) ProtoMessage() {} + +func (x *GetConfigResponse) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 GetConfigResponse.ProtoReflect.Descriptor instead. +func (*GetConfigResponse) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{56} +} + +func (x *GetConfigResponse) GetPrefixConfig() *PrefixConfig { + if x != nil { + return x.PrefixConfig + } + return nil +} + +type GetMetricsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MetricsRequest *MetricsRequest `protobuf:"bytes,1,opt,name=metrics_request,json=metricsRequest,proto3" json:"metrics_request,omitempty"` +} + +func (x *GetMetricsRequest) Reset() { + *x = GetMetricsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetMetricsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetMetricsRequest) ProtoMessage() {} + +func (x *GetMetricsRequest) ProtoReflect() protoreflect.Message { + mi := &file_sanity_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 GetMetricsRequest.ProtoReflect.Descriptor instead. +func (*GetMetricsRequest) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{57} +} + +func (x *GetMetricsRequest) GetMetricsRequest() *MetricsRequest { + if x != nil { + return x.MetricsRequest + } + return nil +} + +type GetMetricsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Metrics *Metrics `protobuf:"bytes,1,opt,name=metrics,proto3" json:"metrics,omitempty"` +} + +func (x *GetMetricsResponse) Reset() { + *x = GetMetricsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetMetricsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetMetricsResponse) ProtoMessage() {} + +func (x *GetMetricsResponse) ProtoReflect() protoreflect.Message { + mi := &file_sanity_proto_msgTypes[58] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetMetricsResponse.ProtoReflect.Descriptor instead. +func (*GetMetricsResponse) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{58} +} + +func (x *GetMetricsResponse) GetMetrics() *Metrics { + if x != nil { + return x.Metrics + } + return nil +} + +type GetWarningsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + WarningDetails *WarningDetails `protobuf:"bytes,1,opt,name=warning_details,json=warningDetails,proto3" json:"warning_details,omitempty"` +} + +func (x *GetWarningsResponse) Reset() { + *x = GetWarningsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetWarningsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetWarningsResponse) ProtoMessage() {} + +func (x *GetWarningsResponse) ProtoReflect() protoreflect.Message { + mi := &file_sanity_proto_msgTypes[59] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetWarningsResponse.ProtoReflect.Descriptor instead. +func (*GetWarningsResponse) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{59} +} + +func (x *GetWarningsResponse) GetWarningDetails() *WarningDetails { + if x != nil { + return x.WarningDetails + } + return nil +} + +type ClearWarningsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + String_ string `protobuf:"bytes,1,opt,name=string,proto3" json:"string,omitempty"` +} + +func (x *ClearWarningsResponse) Reset() { + *x = ClearWarningsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClearWarningsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClearWarningsResponse) ProtoMessage() {} + +func (x *ClearWarningsResponse) ProtoReflect() protoreflect.Message { + mi := &file_sanity_proto_msgTypes[60] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClearWarningsResponse.ProtoReflect.Descriptor instead. +func (*ClearWarningsResponse) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{60} +} + +func (x *ClearWarningsResponse) GetString_() string { + if x != nil { + return x.String_ + } + return "" +} + +type PostRootResponseRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ApiTestInputBody *ApiTestInputBody `protobuf:"bytes,1,opt,name=api_test_input_body,json=apiTestInputBody,proto3" json:"api_test_input_body,omitempty"` +} + +func (x *PostRootResponseRequest) Reset() { + *x = PostRootResponseRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostRootResponseRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostRootResponseRequest) ProtoMessage() {} + +func (x *PostRootResponseRequest) ProtoReflect() protoreflect.Message { + mi := &file_sanity_proto_msgTypes[61] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostRootResponseRequest.ProtoReflect.Descriptor instead. +func (*PostRootResponseRequest) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{61} +} + +func (x *PostRootResponseRequest) GetApiTestInputBody() *ApiTestInputBody { + if x != nil { + return x.ApiTestInputBody + } + return nil +} + +type GetRootResponseResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CommonResponseSuccess *CommonResponseSuccess `protobuf:"bytes,1,opt,name=common_response_success,json=commonResponseSuccess,proto3" json:"common_response_success,omitempty"` +} + +func (x *GetRootResponseResponse) Reset() { + *x = GetRootResponseResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetRootResponseResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetRootResponseResponse) ProtoMessage() {} + +func (x *GetRootResponseResponse) ProtoReflect() protoreflect.Message { + mi := &file_sanity_proto_msgTypes[62] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetRootResponseResponse.ProtoReflect.Descriptor instead. +func (*GetRootResponseResponse) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{62} +} + +func (x *GetRootResponseResponse) GetCommonResponseSuccess() *CommonResponseSuccess { + if x != nil { + return x.CommonResponseSuccess + } + return nil +} + +type DummyResponseTestResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + String_ string `protobuf:"bytes,1,opt,name=string,proto3" json:"string,omitempty"` +} + +func (x *DummyResponseTestResponse) Reset() { + *x = DummyResponseTestResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DummyResponseTestResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DummyResponseTestResponse) ProtoMessage() {} + +func (x *DummyResponseTestResponse) ProtoReflect() protoreflect.Message { + mi := &file_sanity_proto_msgTypes[63] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DummyResponseTestResponse.ProtoReflect.Descriptor instead. +func (*DummyResponseTestResponse) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{63} +} + +func (x *DummyResponseTestResponse) GetString_() string { + if x != nil { + return x.String_ + } + return "" +} + +type PostRootResponseResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CommonResponseSuccess *CommonResponseSuccess `protobuf:"bytes,1,opt,name=common_response_success,json=commonResponseSuccess,proto3" json:"common_response_success,omitempty"` +} + +func (x *PostRootResponseResponse) Reset() { + *x = PostRootResponseResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[64] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostRootResponseResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostRootResponseResponse) ProtoMessage() {} + +func (x *PostRootResponseResponse) ProtoReflect() protoreflect.Message { + mi := &file_sanity_proto_msgTypes[64] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostRootResponseResponse.ProtoReflect.Descriptor instead. +func (*PostRootResponseResponse) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{64} +} + +func (x *PostRootResponseResponse) GetCommonResponseSuccess() *CommonResponseSuccess { + if x != nil { + return x.CommonResponseSuccess + } + return nil +} + +type GetAllItemsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ServiceAbcItemList *ServiceAbcItemList `protobuf:"bytes,1,opt,name=service_abc_item_list,json=serviceAbcItemList,proto3" json:"service_abc_item_list,omitempty"` +} + +func (x *GetAllItemsResponse) Reset() { + *x = GetAllItemsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetAllItemsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAllItemsResponse) ProtoMessage() {} + +func (x *GetAllItemsResponse) ProtoReflect() protoreflect.Message { + mi := &file_sanity_proto_msgTypes[65] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetAllItemsResponse.ProtoReflect.Descriptor instead. +func (*GetAllItemsResponse) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{65} +} + +func (x *GetAllItemsResponse) GetServiceAbcItemList() *ServiceAbcItemList { + if x != nil { + return x.ServiceAbcItemList + } + return nil +} + +type GetSingleItemResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ServiceAbcItem *ServiceAbcItem `protobuf:"bytes,1,opt,name=service_abc_item,json=serviceAbcItem,proto3" json:"service_abc_item,omitempty"` +} + +func (x *GetSingleItemResponse) Reset() { + *x = GetSingleItemResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[66] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetSingleItemResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetSingleItemResponse) ProtoMessage() {} + +func (x *GetSingleItemResponse) ProtoReflect() protoreflect.Message { + mi := &file_sanity_proto_msgTypes[66] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetSingleItemResponse.ProtoReflect.Descriptor instead. +func (*GetSingleItemResponse) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{66} +} + +func (x *GetSingleItemResponse) GetServiceAbcItem() *ServiceAbcItem { + if x != nil { + return x.ServiceAbcItem + } + return nil +} + +type GetSingleItemLevel2Response struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ServiceAbcItem *ServiceAbcItem `protobuf:"bytes,1,opt,name=service_abc_item,json=serviceAbcItem,proto3" json:"service_abc_item,omitempty"` +} + +func (x *GetSingleItemLevel2Response) Reset() { + *x = GetSingleItemLevel2Response{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[67] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetSingleItemLevel2Response) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetSingleItemLevel2Response) ProtoMessage() {} + +func (x *GetSingleItemLevel2Response) ProtoReflect() protoreflect.Message { + mi := &file_sanity_proto_msgTypes[67] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetSingleItemLevel2Response.ProtoReflect.Descriptor instead. +func (*GetSingleItemLevel2Response) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{67} +} + +func (x *GetSingleItemLevel2Response) GetServiceAbcItem() *ServiceAbcItem { + if x != nil { + return x.ServiceAbcItem + } + return nil +} + +type GetVersionResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Version *Version `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` +} + +func (x *GetVersionResponse) Reset() { + *x = GetVersionResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[68] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetVersionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetVersionResponse) ProtoMessage() {} + +func (x *GetVersionResponse) ProtoReflect() protoreflect.Message { + mi := &file_sanity_proto_msgTypes[68] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetVersionResponse.ProtoReflect.Descriptor instead. +func (*GetVersionResponse) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{68} +} + +func (x *GetVersionResponse) GetVersion() *Version { + if x != nil { + return x.Version + } + return nil +} + +type Error_Kind struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *Error_Kind) Reset() { + *x = Error_Kind{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[69] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Error_Kind) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Error_Kind) ProtoMessage() {} + +func (x *Error_Kind) ProtoReflect() protoreflect.Message { + mi := &file_sanity_proto_msgTypes[69] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Error_Kind.ProtoReflect.Descriptor instead. +func (*Error_Kind) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{2, 0} +} + +type PrefixConfig_Response struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *PrefixConfig_Response) Reset() { + *x = PrefixConfig_Response{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[70] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PrefixConfig_Response) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PrefixConfig_Response) ProtoMessage() {} + +func (x *PrefixConfig_Response) ProtoReflect() protoreflect.Message { + mi := &file_sanity_proto_msgTypes[70] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PrefixConfig_Response.ProtoReflect.Descriptor instead. +func (*PrefixConfig_Response) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{3, 0} +} + +type PrefixConfig_DValues struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *PrefixConfig_DValues) Reset() { + *x = PrefixConfig_DValues{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[71] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PrefixConfig_DValues) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PrefixConfig_DValues) ProtoMessage() {} + +func (x *PrefixConfig_DValues) ProtoReflect() protoreflect.Message { + mi := &file_sanity_proto_msgTypes[71] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PrefixConfig_DValues.ProtoReflect.Descriptor instead. +func (*PrefixConfig_DValues) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{3, 1} +} + +type GObject_Choice struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *GObject_Choice) Reset() { + *x = GObject_Choice{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[72] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GObject_Choice) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GObject_Choice) ProtoMessage() {} + +func (x *GObject_Choice) ProtoReflect() protoreflect.Message { + mi := &file_sanity_proto_msgTypes[72] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GObject_Choice.ProtoReflect.Descriptor instead. +func (*GObject_Choice) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{8, 0} +} + +type GObject_GF struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *GObject_GF) Reset() { + *x = GObject_GF{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[73] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GObject_GF) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GObject_GF) ProtoMessage() {} + +func (x *GObject_GF) ProtoReflect() protoreflect.Message { + mi := &file_sanity_proto_msgTypes[73] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GObject_GF.ProtoReflect.Descriptor instead. +func (*GObject_GF) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{8, 1} +} + +type FObject_Choice struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *FObject_Choice) Reset() { + *x = FObject_Choice{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[74] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FObject_Choice) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FObject_Choice) ProtoMessage() {} + +func (x *FObject_Choice) ProtoReflect() protoreflect.Message { + mi := &file_sanity_proto_msgTypes[74] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FObject_Choice.ProtoReflect.Descriptor instead. +func (*FObject_Choice) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{10, 0} +} + +type JObject_Choice struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *JObject_Choice) Reset() { + *x = JObject_Choice{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[75] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JObject_Choice) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JObject_Choice) ProtoMessage() {} + +func (x *JObject_Choice) ProtoReflect() protoreflect.Message { + mi := &file_sanity_proto_msgTypes[75] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JObject_Choice.ProtoReflect.Descriptor instead. +func (*JObject_Choice) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{11, 0} +} + +type ChoiceObject_Choice struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ChoiceObject_Choice) Reset() { + *x = ChoiceObject_Choice{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[76] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChoiceObject_Choice) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChoiceObject_Choice) ProtoMessage() {} + +func (x *ChoiceObject_Choice) ProtoReflect() protoreflect.Message { + mi := &file_sanity_proto_msgTypes[76] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChoiceObject_Choice.ProtoReflect.Descriptor instead. +func (*ChoiceObject_Choice) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{12, 0} +} + +type MetricsRequest_Choice struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MetricsRequest_Choice) Reset() { + *x = MetricsRequest_Choice{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[77] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MetricsRequest_Choice) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MetricsRequest_Choice) ProtoMessage() {} + +func (x *MetricsRequest_Choice) ProtoReflect() protoreflect.Message { + mi := &file_sanity_proto_msgTypes[77] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MetricsRequest_Choice.ProtoReflect.Descriptor instead. +func (*MetricsRequest_Choice) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{18, 0} +} + +type Metrics_Choice struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *Metrics_Choice) Reset() { + *x = Metrics_Choice{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[78] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Metrics_Choice) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Metrics_Choice) ProtoMessage() {} + +func (x *Metrics_Choice) ProtoReflect() protoreflect.Message { + mi := &file_sanity_proto_msgTypes[78] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Metrics_Choice.ProtoReflect.Descriptor instead. +func (*Metrics_Choice) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{19, 0} +} + +type RequiredChoiceParent_Choice struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *RequiredChoiceParent_Choice) Reset() { + *x = RequiredChoiceParent_Choice{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[79] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RequiredChoiceParent_Choice) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RequiredChoiceParent_Choice) ProtoMessage() {} + +func (x *RequiredChoiceParent_Choice) ProtoReflect() protoreflect.Message { + mi := &file_sanity_proto_msgTypes[79] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RequiredChoiceParent_Choice.ProtoReflect.Descriptor instead. +func (*RequiredChoiceParent_Choice) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{22, 0} +} + +type RequiredChoiceIntermediate_Choice struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *RequiredChoiceIntermediate_Choice) Reset() { + *x = RequiredChoiceIntermediate_Choice{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[80] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RequiredChoiceIntermediate_Choice) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RequiredChoiceIntermediate_Choice) ProtoMessage() {} + +func (x *RequiredChoiceIntermediate_Choice) ProtoReflect() protoreflect.Message { + mi := &file_sanity_proto_msgTypes[80] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RequiredChoiceIntermediate_Choice.ProtoReflect.Descriptor instead. +func (*RequiredChoiceIntermediate_Choice) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{23, 0} +} + +type PatternPrefixConfigHeaderChecksum_Choice struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *PatternPrefixConfigHeaderChecksum_Choice) Reset() { + *x = PatternPrefixConfigHeaderChecksum_Choice{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[81] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternPrefixConfigHeaderChecksum_Choice) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternPrefixConfigHeaderChecksum_Choice) ProtoMessage() {} + +func (x *PatternPrefixConfigHeaderChecksum_Choice) ProtoReflect() protoreflect.Message { + mi := &file_sanity_proto_msgTypes[81] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PatternPrefixConfigHeaderChecksum_Choice.ProtoReflect.Descriptor instead. +func (*PatternPrefixConfigHeaderChecksum_Choice) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{38, 0} +} + +type PatternPrefixConfigHeaderChecksum_Generated struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *PatternPrefixConfigHeaderChecksum_Generated) Reset() { + *x = PatternPrefixConfigHeaderChecksum_Generated{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[82] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternPrefixConfigHeaderChecksum_Generated) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternPrefixConfigHeaderChecksum_Generated) ProtoMessage() {} + +func (x *PatternPrefixConfigHeaderChecksum_Generated) ProtoReflect() protoreflect.Message { + mi := &file_sanity_proto_msgTypes[82] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PatternPrefixConfigHeaderChecksum_Generated.ProtoReflect.Descriptor instead. +func (*PatternPrefixConfigHeaderChecksum_Generated) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{38, 1} +} + +type PatternPrefixConfigAutoFieldTest_Choice struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *PatternPrefixConfigAutoFieldTest_Choice) Reset() { + *x = PatternPrefixConfigAutoFieldTest_Choice{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[83] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternPrefixConfigAutoFieldTest_Choice) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternPrefixConfigAutoFieldTest_Choice) ProtoMessage() {} + +func (x *PatternPrefixConfigAutoFieldTest_Choice) ProtoReflect() protoreflect.Message { + mi := &file_sanity_proto_msgTypes[83] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PatternPrefixConfigAutoFieldTest_Choice.ProtoReflect.Descriptor instead. +func (*PatternPrefixConfigAutoFieldTest_Choice) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{40, 0} +} + +type PatternIpv4PatternIpv4_Choice struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *PatternIpv4PatternIpv4_Choice) Reset() { + *x = PatternIpv4PatternIpv4_Choice{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[84] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternIpv4PatternIpv4_Choice) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternIpv4PatternIpv4_Choice) ProtoMessage() {} + +func (x *PatternIpv4PatternIpv4_Choice) ProtoReflect() protoreflect.Message { + mi := &file_sanity_proto_msgTypes[84] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PatternIpv4PatternIpv4_Choice.ProtoReflect.Descriptor instead. +func (*PatternIpv4PatternIpv4_Choice) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{42, 0} +} + +type PatternIpv6PatternIpv6_Choice struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *PatternIpv6PatternIpv6_Choice) Reset() { + *x = PatternIpv6PatternIpv6_Choice{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[85] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternIpv6PatternIpv6_Choice) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternIpv6PatternIpv6_Choice) ProtoMessage() {} + +func (x *PatternIpv6PatternIpv6_Choice) ProtoReflect() protoreflect.Message { + mi := &file_sanity_proto_msgTypes[85] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PatternIpv6PatternIpv6_Choice.ProtoReflect.Descriptor instead. +func (*PatternIpv6PatternIpv6_Choice) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{44, 0} +} + +type PatternMacPatternMac_Choice struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *PatternMacPatternMac_Choice) Reset() { + *x = PatternMacPatternMac_Choice{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[86] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternMacPatternMac_Choice) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternMacPatternMac_Choice) ProtoMessage() {} + +func (x *PatternMacPatternMac_Choice) ProtoReflect() protoreflect.Message { + mi := &file_sanity_proto_msgTypes[86] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PatternMacPatternMac_Choice.ProtoReflect.Descriptor instead. +func (*PatternMacPatternMac_Choice) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{46, 0} +} + +type PatternIntegerPatternInteger_Choice struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *PatternIntegerPatternInteger_Choice) Reset() { + *x = PatternIntegerPatternInteger_Choice{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[87] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternIntegerPatternInteger_Choice) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternIntegerPatternInteger_Choice) ProtoMessage() {} + +func (x *PatternIntegerPatternInteger_Choice) ProtoReflect() protoreflect.Message { + mi := &file_sanity_proto_msgTypes[87] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PatternIntegerPatternInteger_Choice.ProtoReflect.Descriptor instead. +func (*PatternIntegerPatternInteger_Choice) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{48, 0} +} + +type PatternChecksumPatternChecksum_Choice struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *PatternChecksumPatternChecksum_Choice) Reset() { + *x = PatternChecksumPatternChecksum_Choice{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[88] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternChecksumPatternChecksum_Choice) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternChecksumPatternChecksum_Choice) ProtoMessage() {} + +func (x *PatternChecksumPatternChecksum_Choice) ProtoReflect() protoreflect.Message { + mi := &file_sanity_proto_msgTypes[88] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PatternChecksumPatternChecksum_Choice.ProtoReflect.Descriptor instead. +func (*PatternChecksumPatternChecksum_Choice) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{49, 0} +} + +type PatternChecksumPatternChecksum_Generated struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *PatternChecksumPatternChecksum_Generated) Reset() { + *x = PatternChecksumPatternChecksum_Generated{} + if protoimpl.UnsafeEnabled { + mi := &file_sanity_proto_msgTypes[89] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternChecksumPatternChecksum_Generated) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternChecksumPatternChecksum_Generated) ProtoMessage() {} + +func (x *PatternChecksumPatternChecksum_Generated) ProtoReflect() protoreflect.Message { + mi := &file_sanity_proto_msgTypes[89] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PatternChecksumPatternChecksum_Generated.ProtoReflect.Descriptor instead. +func (*PatternChecksumPatternChecksum_Generated) Descriptor() ([]byte, []int) { + return file_sanity_proto_rawDescGZIP(), []int{49, 1} +} + +var File_sanity_proto protoreflect.FileDescriptor + +var file_sanity_proto_rawDesc = []byte{ + 0x0a, 0x0c, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, + 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 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, 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, 0x22, 0x26, 0x0a, 0x0c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x2c, 0x0a, + 0x0e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, + 0x1a, 0x0a, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x22, 0xbc, 0x01, 0x0a, 0x05, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, + 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x2e, 0x45, 0x6e, 0x75, 0x6d, + 0x48, 0x00, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x16, 0x0a, 0x06, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x73, 0x1a, 0x4c, 0x0a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x22, 0x44, 0x0a, 0x04, 0x45, + 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, + 0x65, 0x64, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, + 0x74, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x10, + 0x03, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xa7, 0x17, 0x0a, 0x0c, 0x50, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x38, 0x0a, 0x0f, 0x72, + 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x45, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, + 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x45, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, + 0x00, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0d, 0x69, 0x65, 0x65, 0x65, 0x5f, 0x38, 0x30, 0x32, + 0x5f, 0x31, 0x71, 0x62, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x0b, 0x69, + 0x65, 0x65, 0x65, 0x38, 0x30, 0x32, 0x31, 0x71, 0x62, 0x62, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, + 0x07, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x31, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, + 0x52, 0x06, 0x73, 0x70, 0x61, 0x63, 0x65, 0x31, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x12, 0x66, + 0x75, 0x6c, 0x6c, 0x5f, 0x64, 0x75, 0x70, 0x6c, 0x65, 0x78, 0x5f, 0x31, 0x30, 0x30, 0x5f, 0x6d, + 0x62, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x0f, 0x66, 0x75, 0x6c, 0x6c, 0x44, + 0x75, 0x70, 0x6c, 0x65, 0x78, 0x31, 0x30, 0x30, 0x4d, 0x62, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, + 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x22, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, + 0x6e, 0x75, 0x6d, 0x48, 0x04, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x0c, 0x0a, 0x01, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x61, + 0x12, 0x0c, 0x0a, 0x01, 0x62, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x62, 0x12, 0x0c, + 0x0a, 0x01, 0x63, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x63, 0x12, 0x3c, 0x0a, 0x08, + 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x21, + 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x45, 0x6e, 0x75, + 0x6d, 0x52, 0x07, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x01, 0x65, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x45, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x05, 0x52, 0x01, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, + 0x0a, 0x01, 0x66, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x61, 0x6e, 0x69, + 0x74, 0x79, 0x2e, 0x46, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x06, 0x52, 0x01, 0x66, 0x88, + 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x01, 0x67, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, + 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x47, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x01, + 0x67, 0x12, 0x11, 0x0a, 0x01, 0x68, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x48, 0x07, 0x52, 0x01, + 0x68, 0x88, 0x01, 0x01, 0x12, 0x11, 0x0a, 0x01, 0x69, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0c, 0x48, + 0x08, 0x52, 0x01, 0x69, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x01, 0x6a, 0x18, 0x10, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x4a, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x01, 0x6a, 0x12, 0x22, 0x0a, 0x01, 0x6b, 0x18, 0x11, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x4b, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x48, 0x09, 0x52, 0x01, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x01, 0x6c, 0x18, + 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x4c, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x0a, 0x52, 0x01, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x31, + 0x0a, 0x15, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x6f, 0x66, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x6c, + 0x69, 0x73, 0x74, 0x4f, 0x66, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x12, 0x33, 0x0a, 0x16, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x6f, 0x66, 0x5f, 0x69, 0x6e, 0x74, + 0x65, 0x67, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, + 0x05, 0x52, 0x13, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, + 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x4c, + 0x65, 0x76, 0x65, 0x6c, 0x4f, 0x6e, 0x65, 0x48, 0x0b, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, + 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x09, 0x6d, 0x61, 0x6e, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x79, + 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, + 0x4d, 0x61, 0x6e, 0x64, 0x61, 0x74, 0x65, 0x48, 0x0c, 0x52, 0x09, 0x6d, 0x61, 0x6e, 0x64, 0x61, + 0x74, 0x6f, 0x72, 0x79, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x0c, 0x69, 0x70, 0x76, 0x34, 0x5f, + 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, + 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x49, 0x70, 0x76, 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, + 0x72, 0x6e, 0x48, 0x0d, 0x52, 0x0b, 0x69, 0x70, 0x76, 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, + 0x6e, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x0c, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x70, 0x61, 0x74, + 0x74, 0x65, 0x72, 0x6e, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x61, 0x6e, + 0x69, 0x74, 0x79, 0x2e, 0x49, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x48, + 0x0e, 0x52, 0x0b, 0x69, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x38, 0x0a, 0x0b, 0x6d, 0x61, 0x63, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, + 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, + 0x4d, 0x61, 0x63, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x48, 0x0f, 0x52, 0x0a, 0x6d, 0x61, + 0x63, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x0f, 0x69, + 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x1a, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x49, 0x6e, + 0x74, 0x65, 0x67, 0x65, 0x72, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x48, 0x10, 0x52, 0x0e, + 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x47, 0x0a, 0x10, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x61, + 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x61, + 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x50, 0x61, 0x74, + 0x74, 0x65, 0x72, 0x6e, 0x48, 0x11, 0x52, 0x0f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, + 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x04, 0x63, 0x61, + 0x73, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, + 0x79, 0x2e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x31, 0x49, 0x65, 0x65, 0x65, 0x38, 0x30, 0x32, 0x78, + 0x48, 0x12, 0x52, 0x04, 0x63, 0x61, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x08, 0x6d, + 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, + 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x4d, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x13, + 0x52, 0x07, 0x6d, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, + 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x36, 0x34, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x03, 0x48, + 0x14, 0x52, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x36, 0x34, 0x88, 0x01, 0x01, 0x12, + 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x36, 0x34, 0x5f, 0x6c, 0x69, 0x73, + 0x74, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, + 0x36, 0x34, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x57, 0x0a, 0x0f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x29, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, + 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x48, 0x15, 0x52, 0x0e, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, + 0x1c, 0x0a, 0x07, 0x73, 0x74, 0x72, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x21, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x16, 0x52, 0x06, 0x73, 0x74, 0x72, 0x4c, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, + 0x09, 0x68, 0x65, 0x78, 0x5f, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x18, 0x22, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x08, 0x68, 0x65, 0x78, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x12, 0x55, 0x0a, 0x0f, 0x61, 0x75, + 0x74, 0x6f, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x18, 0x23, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, + 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x41, 0x75, 0x74, 0x6f, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x65, 0x73, 0x74, 0x48, 0x17, 0x52, + 0x0d, 0x61, 0x75, 0x74, 0x6f, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x65, 0x73, 0x74, 0x88, 0x01, + 0x01, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x24, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x18, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x06, 0x77, 0x5f, + 0x6c, 0x69, 0x73, 0x74, 0x18, 0x25, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x61, 0x6e, + 0x69, 0x74, 0x79, 0x2e, 0x57, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x05, 0x77, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x26, 0x0a, 0x06, 0x78, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x26, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x5a, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x05, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x08, 0x7a, 0x5f, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x27, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, + 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x5a, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x19, 0x52, + 0x07, 0x7a, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x08, 0x79, + 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, + 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x59, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x1a, + 0x52, 0x07, 0x79, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x0d, + 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x29, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x43, 0x68, 0x6f, + 0x69, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x0c, 0x63, 0x68, 0x6f, 0x69, 0x63, + 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x57, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, + 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x50, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x48, 0x1b, 0x52, 0x14, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, + 0x64, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, + 0x12, 0x1f, 0x0a, 0x02, 0x67, 0x31, 0x18, 0x2b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, + 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x47, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x02, 0x67, + 0x31, 0x12, 0x1f, 0x0a, 0x02, 0x67, 0x32, 0x18, 0x2c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, + 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x47, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x02, + 0x67, 0x32, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x05, 0x48, 0x1c, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x33, 0x32, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x6e, 0x74, 0x33, + 0x32, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x2e, 0x20, 0x03, + 0x28, 0x05, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x12, 0x26, 0x0a, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x1d, 0x52, 0x0b, 0x75, 0x69, 0x6e, 0x74, + 0x33, 0x32, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x11, 0x75, 0x69, + 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, + 0x30, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x4c, 0x69, 0x73, + 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x26, 0x0a, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x31, 0x20, 0x01, 0x28, 0x04, 0x48, 0x1e, 0x52, 0x0b, + 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x2a, + 0x0a, 0x11, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x18, 0x32, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0f, 0x75, 0x69, 0x6e, 0x74, 0x36, + 0x34, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x2d, 0x0a, 0x10, 0x61, 0x75, + 0x74, 0x6f, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x33, + 0x20, 0x01, 0x28, 0x05, 0x48, 0x1f, 0x52, 0x0e, 0x61, 0x75, 0x74, 0x6f, 0x49, 0x6e, 0x74, 0x33, + 0x32, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x15, 0x61, 0x75, 0x74, + 0x6f, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x18, 0x34, 0x20, 0x03, 0x28, 0x05, 0x52, 0x12, 0x61, 0x75, 0x74, 0x6f, 0x49, 0x6e, + 0x74, 0x33, 0x32, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x63, 0x0a, 0x08, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x57, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, + 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, + 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x32, 0x30, 0x30, 0x10, + 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x34, 0x30, 0x30, 0x10, + 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x34, 0x30, 0x34, 0x10, + 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x35, 0x30, 0x30, 0x10, + 0x04, 0x1a, 0x37, 0x0a, 0x07, 0x44, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x2c, 0x0a, 0x04, + 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, + 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x05, 0x0a, 0x01, 0x61, 0x10, 0x01, 0x12, 0x05, 0x0a, 0x01, + 0x62, 0x10, 0x02, 0x12, 0x05, 0x0a, 0x01, 0x63, 0x10, 0x03, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x10, + 0x0a, 0x0e, 0x5f, 0x69, 0x65, 0x65, 0x65, 0x5f, 0x38, 0x30, 0x32, 0x5f, 0x31, 0x71, 0x62, 0x62, + 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x31, 0x42, 0x15, 0x0a, 0x13, + 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x64, 0x75, 0x70, 0x6c, 0x65, 0x78, 0x5f, 0x31, 0x30, 0x30, + 0x5f, 0x6d, 0x62, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x42, 0x04, 0x0a, 0x02, 0x5f, 0x65, 0x42, 0x04, 0x0a, 0x02, 0x5f, 0x66, 0x42, 0x04, 0x0a, 0x02, + 0x5f, 0x68, 0x42, 0x04, 0x0a, 0x02, 0x5f, 0x69, 0x42, 0x04, 0x0a, 0x02, 0x5f, 0x6b, 0x42, 0x04, + 0x0a, 0x02, 0x5f, 0x6c, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x0c, + 0x0a, 0x0a, 0x5f, 0x6d, 0x61, 0x6e, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x0f, 0x0a, 0x0d, + 0x5f, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x42, 0x0f, 0x0a, + 0x0d, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x42, 0x0e, + 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x63, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x42, 0x12, + 0x0a, 0x10, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, + 0x72, 0x6e, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x5f, + 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x63, 0x61, 0x73, 0x65, + 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x0c, 0x0a, + 0x0a, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x36, 0x34, 0x42, 0x12, 0x0a, 0x10, 0x5f, + 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x42, + 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x74, 0x72, 0x5f, 0x6c, 0x65, 0x6e, 0x42, 0x12, 0x0a, 0x10, 0x5f, + 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x7a, 0x5f, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x79, 0x5f, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, + 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x0e, 0x0a, + 0x0c, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x42, 0x0f, 0x0a, + 0x0d, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x42, 0x0f, + 0x0a, 0x0d, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x42, + 0x13, 0x0a, 0x11, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x22, 0x20, 0x0a, 0x07, 0x57, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x15, 0x0a, 0x06, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x1d, 0x0a, 0x07, 0x5a, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x30, 0x0a, 0x07, 0x59, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x1a, 0x0a, 0x06, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x05, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, + 0x5f, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x49, 0x0a, 0x0e, 0x4c, 0x61, 0x79, 0x65, 0x72, + 0x31, 0x49, 0x65, 0x65, 0x65, 0x38, 0x30, 0x32, 0x78, 0x12, 0x26, 0x0a, 0x0c, 0x66, 0x6c, 0x6f, + 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x00, 0x52, 0x0b, 0x66, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x88, 0x01, + 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x22, 0xa6, 0x03, 0x0a, 0x07, 0x47, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x14, + 0x0a, 0x03, 0x67, 0x5f, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x67, + 0x41, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x03, 0x67, 0x5f, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x48, 0x01, 0x52, 0x02, 0x67, 0x42, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x03, 0x67, 0x5f, + 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x48, 0x02, 0x52, 0x02, 0x67, 0x43, 0x88, 0x01, 0x01, + 0x12, 0x38, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x1b, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x47, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x03, 0x52, + 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x03, 0x67, 0x5f, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x02, 0x67, 0x44, 0x88, 0x01, 0x01, + 0x12, 0x14, 0x0a, 0x03, 0x67, 0x5f, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x48, 0x05, 0x52, + 0x02, 0x67, 0x45, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x03, 0x67, 0x5f, 0x66, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x47, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x47, 0x46, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x06, 0x52, 0x02, + 0x67, 0x46, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x1a, 0x33, + 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x29, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, + 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, + 0x00, 0x12, 0x07, 0x0a, 0x03, 0x67, 0x5f, 0x64, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x67, 0x5f, + 0x65, 0x10, 0x02, 0x1a, 0x32, 0x0a, 0x02, 0x47, 0x46, 0x22, 0x2c, 0x0a, 0x04, 0x45, 0x6e, 0x75, + 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x10, 0x00, 0x12, 0x05, 0x0a, 0x01, 0x61, 0x10, 0x01, 0x12, 0x05, 0x0a, 0x01, 0x62, 0x10, 0x02, + 0x12, 0x05, 0x0a, 0x01, 0x63, 0x10, 0x03, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x67, 0x5f, 0x61, 0x42, + 0x06, 0x0a, 0x04, 0x5f, 0x67, 0x5f, 0x62, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x67, 0x5f, 0x63, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x67, + 0x5f, 0x64, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x67, 0x5f, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x67, + 0x5f, 0x66, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa7, 0x01, 0x0a, 0x07, + 0x45, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x0f, 0x0a, 0x03, 0x65, 0x5f, 0x61, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x02, 0x65, 0x41, 0x12, 0x0f, 0x0a, 0x03, 0x65, 0x5f, 0x62, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x02, 0x65, 0x42, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x6d, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x88, + 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x6d, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x88, + 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, + 0x6d, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x5f, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x32, 0x22, 0xc8, 0x01, 0x0a, 0x07, 0x46, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x38, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x1b, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x46, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, + 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x03, 0x66, + 0x5f, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x02, 0x66, 0x41, 0x88, 0x01, + 0x01, 0x12, 0x14, 0x0a, 0x03, 0x66, 0x5f, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x02, + 0x52, 0x02, 0x66, 0x42, 0x88, 0x01, 0x01, 0x1a, 0x3c, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, + 0x65, 0x22, 0x32, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, + 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x66, 0x5f, + 0x61, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x66, 0x5f, 0x62, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, + 0x66, 0x5f, 0x63, 0x10, 0x03, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, + 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x66, 0x5f, 0x61, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x66, 0x5f, 0x62, + 0x22, 0xe1, 0x01, 0x0a, 0x07, 0x4a, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x38, 0x0a, 0x06, + 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x73, + 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x4a, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x43, 0x68, + 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, + 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x03, 0x6a, 0x5f, 0x61, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x45, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x48, 0x01, 0x52, 0x02, 0x6a, 0x41, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, + 0x03, 0x6a, 0x5f, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x61, 0x6e, + 0x69, 0x74, 0x79, 0x2e, 0x46, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x02, 0x52, 0x02, 0x6a, + 0x42, 0x88, 0x01, 0x01, 0x1a, 0x33, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x29, + 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, + 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x6a, 0x5f, 0x61, 0x10, 0x01, + 0x12, 0x07, 0x0a, 0x03, 0x6a, 0x5f, 0x62, 0x10, 0x02, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, + 0x6f, 0x69, 0x63, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6a, 0x5f, 0x61, 0x42, 0x06, 0x0a, 0x04, + 0x5f, 0x6a, 0x5f, 0x62, 0x22, 0x87, 0x02, 0x0a, 0x0c, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x43, + 0x68, 0x6f, 0x69, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x43, 0x68, 0x6f, 0x69, + 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x05, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x45, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x48, 0x01, 0x52, 0x04, 0x65, 0x4f, 0x62, 0x6a, 0x88, 0x01, 0x01, 0x12, + 0x29, 0x0a, 0x05, 0x66, 0x5f, 0x6f, 0x62, 0x6a, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, + 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x46, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, + 0x02, 0x52, 0x04, 0x66, 0x4f, 0x62, 0x6a, 0x88, 0x01, 0x01, 0x1a, 0x43, 0x0a, 0x06, 0x43, 0x68, + 0x6f, 0x69, 0x63, 0x65, 0x22, 0x39, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, + 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x09, 0x0a, + 0x05, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x66, 0x5f, 0x6f, 0x62, + 0x6a, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x6e, 0x6f, 0x5f, 0x6f, 0x62, 0x6a, 0x10, 0x03, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, + 0x5f, 0x6f, 0x62, 0x6a, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x66, 0x5f, 0x6f, 0x62, 0x6a, 0x22, 0x85, + 0x01, 0x0a, 0x07, 0x4b, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2f, 0x0a, 0x08, 0x65, 0x5f, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, + 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x45, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, + 0x07, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x08, 0x66, + 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, + 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x46, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x01, + 0x52, 0x07, 0x66, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, + 0x5f, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x66, 0x5f, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0xbc, 0x02, 0x0a, 0x07, 0x4c, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x26, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x69, 0x6e, + 0x74, 0x65, 0x67, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x07, 0x69, + 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x48, 0x02, 0x52, 0x05, 0x66, 0x6c, 0x6f, 0x61, + 0x74, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x01, 0x48, 0x03, 0x52, 0x06, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x15, 0x0a, 0x03, 0x6d, 0x61, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, + 0x52, 0x03, 0x6d, 0x61, 0x63, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x69, 0x70, 0x76, 0x34, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x69, 0x70, 0x76, 0x34, 0x88, 0x01, + 0x01, 0x12, 0x17, 0x0a, 0x04, 0x69, 0x70, 0x76, 0x36, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x06, 0x52, 0x04, 0x69, 0x70, 0x76, 0x36, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x68, 0x65, + 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x03, 0x68, 0x65, 0x78, 0x88, 0x01, + 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x42, 0x08, + 0x0a, 0x06, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x64, 0x6f, 0x75, + 0x62, 0x6c, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6d, 0x61, 0x63, 0x42, 0x07, 0x0a, 0x05, 0x5f, + 0x69, 0x70, 0x76, 0x34, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x42, 0x06, 0x0a, + 0x04, 0x5f, 0x68, 0x65, 0x78, 0x22, 0xc0, 0x01, 0x0a, 0x07, 0x4d, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x12, 0x14, + 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x10, 0x0a, 0x03, + 0x6d, 0x61, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x61, 0x63, 0x12, 0x12, + 0x0a, 0x04, 0x69, 0x70, 0x76, 0x34, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x70, + 0x76, 0x34, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x70, 0x76, 0x36, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x69, 0x70, 0x76, 0x36, 0x12, 0x10, 0x0a, 0x03, 0x68, 0x65, 0x78, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x68, 0x65, 0x78, 0x22, 0x30, 0x0a, 0x07, 0x4d, 0x61, 0x6e, 0x64, + 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x71, + 0x75, 0x69, 0x72, 0x65, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x2d, 0x0a, 0x0c, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x01, 0x67, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x47, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x01, 0x67, 0x22, 0xd7, 0x01, 0x0a, 0x0e, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x06, + 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x73, + 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, + 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, + 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x70, + 0x6f, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x04, 0x66, 0x6c, 0x6f, 0x77, 0x88, 0x01, 0x01, 0x1a, + 0x35, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x2b, 0x0a, 0x04, 0x45, 0x6e, 0x75, + 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, + 0x66, 0x6c, 0x6f, 0x77, 0x10, 0x02, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, + 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x66, + 0x6c, 0x6f, 0x77, 0x22, 0xdb, 0x01, 0x0a, 0x07, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, + 0x38, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x1b, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, + 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, + 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x05, 0x70, 0x6f, 0x72, + 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, + 0x79, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x05, 0x70, 0x6f, + 0x72, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x46, 0x6c, 0x6f, 0x77, + 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x05, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x1a, 0x37, 0x0a, + 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x2d, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, + 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, + 0x12, 0x09, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x66, + 0x6c, 0x6f, 0x77, 0x73, 0x10, 0x02, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, + 0x65, 0x22, 0x5a, 0x0a, 0x0a, 0x50, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x74, 0x78, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, + 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x01, 0x52, 0x08, 0x72, 0x78, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x5a, 0x0a, + 0x0a, 0x46, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x1b, 0x0a, 0x09, 0x74, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x01, 0x52, 0x08, 0x74, 0x78, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, + 0x72, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, + 0x08, 0x72, 0x78, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x86, 0x02, 0x0a, 0x14, 0x52, 0x65, + 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x50, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x52, 0x65, 0x71, 0x75, + 0x69, 0x72, 0x65, 0x64, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x06, 0x63, 0x68, + 0x6f, 0x69, 0x63, 0x65, 0x12, 0x52, 0x0a, 0x10, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, + 0x69, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, + 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, + 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, + 0x74, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, + 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x88, 0x01, 0x01, 0x1a, 0x43, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, + 0x63, 0x65, 0x22, 0x39, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, + 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x10, + 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x6e, 0x6f, 0x5f, 0x6f, 0x62, 0x6a, 0x10, 0x02, 0x42, 0x13, 0x0a, + 0x11, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x6f, + 0x62, 0x6a, 0x22, 0xfd, 0x01, 0x0a, 0x1a, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x43, + 0x68, 0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, + 0x65, 0x12, 0x46, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x2e, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x64, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, + 0x64, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, + 0x6d, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x03, 0x66, 0x5f, 0x61, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x66, 0x41, 0x88, 0x01, 0x01, 0x12, + 0x3a, 0x0a, 0x04, 0x6c, 0x65, 0x61, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x43, + 0x68, 0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x4c, 0x65, 0x61, 0x66, + 0x48, 0x01, 0x52, 0x04, 0x6c, 0x65, 0x61, 0x66, 0x88, 0x01, 0x01, 0x1a, 0x34, 0x0a, 0x06, 0x43, + 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x2a, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, + 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x07, + 0x0a, 0x03, 0x66, 0x5f, 0x61, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x6c, 0x65, 0x61, 0x66, 0x10, + 0x02, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x66, 0x5f, 0x61, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6c, 0x65, + 0x61, 0x66, 0x22, 0x3d, 0x0a, 0x19, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x43, 0x68, + 0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x4c, 0x65, 0x61, 0x66, 0x12, + 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0x77, 0x0a, 0x08, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4f, 0x6e, 0x65, 0x12, 0x2a, 0x0a, + 0x05, 0x6c, 0x31, 0x5f, 0x70, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, + 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x54, 0x77, 0x6f, 0x48, 0x00, + 0x52, 0x04, 0x6c, 0x31, 0x50, 0x31, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x05, 0x6c, 0x31, 0x5f, + 0x70, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, + 0x79, 0x2e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x46, 0x6f, 0x75, 0x72, 0x48, 0x01, 0x52, 0x04, 0x6c, + 0x31, 0x50, 0x32, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x31, 0x5f, 0x70, 0x31, + 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x31, 0x5f, 0x70, 0x32, 0x22, 0x42, 0x0a, 0x08, 0x4c, 0x65, + 0x76, 0x65, 0x6c, 0x54, 0x77, 0x6f, 0x12, 0x2c, 0x0a, 0x05, 0x6c, 0x32, 0x5f, 0x70, 0x31, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x4c, + 0x65, 0x76, 0x65, 0x6c, 0x54, 0x68, 0x72, 0x65, 0x65, 0x48, 0x00, 0x52, 0x04, 0x6c, 0x32, 0x50, + 0x31, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x32, 0x5f, 0x70, 0x31, 0x22, 0x30, + 0x0a, 0x0a, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x54, 0x68, 0x72, 0x65, 0x65, 0x12, 0x18, 0x0a, 0x05, + 0x6c, 0x33, 0x5f, 0x70, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6c, + 0x33, 0x50, 0x31, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x33, 0x5f, 0x70, 0x31, + 0x22, 0x41, 0x0a, 0x09, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x46, 0x6f, 0x75, 0x72, 0x12, 0x2a, 0x0a, + 0x05, 0x6c, 0x34, 0x5f, 0x70, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, + 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4f, 0x6e, 0x65, 0x48, 0x00, + 0x52, 0x04, 0x6c, 0x34, 0x50, 0x31, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x34, + 0x5f, 0x70, 0x31, 0x22, 0x4f, 0x0a, 0x0b, 0x49, 0x70, 0x76, 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, + 0x72, 0x6e, 0x12, 0x37, 0x0a, 0x04, 0x69, 0x70, 0x76, 0x34, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, + 0x6e, 0x49, 0x70, 0x76, 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x34, + 0x48, 0x00, 0x52, 0x04, 0x69, 0x70, 0x76, 0x34, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, + 0x69, 0x70, 0x76, 0x34, 0x22, 0x4f, 0x0a, 0x0b, 0x49, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, + 0x65, 0x72, 0x6e, 0x12, 0x37, 0x0a, 0x04, 0x69, 0x70, 0x76, 0x36, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, + 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, + 0x36, 0x48, 0x00, 0x52, 0x04, 0x69, 0x70, 0x76, 0x36, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, + 0x5f, 0x69, 0x70, 0x76, 0x36, 0x22, 0x49, 0x0a, 0x0a, 0x4d, 0x61, 0x63, 0x50, 0x61, 0x74, 0x74, + 0x65, 0x72, 0x6e, 0x12, 0x33, 0x0a, 0x03, 0x6d, 0x61, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, + 0x6e, 0x4d, 0x61, 0x63, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x48, 0x00, + 0x52, 0x03, 0x6d, 0x61, 0x63, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6d, 0x61, 0x63, + 0x22, 0x61, 0x0a, 0x0e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x50, 0x61, 0x74, 0x74, 0x65, + 0x72, 0x6e, 0x12, 0x43, 0x0a, 0x07, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, + 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x50, 0x61, 0x74, 0x74, 0x65, + 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x48, 0x00, 0x52, 0x07, 0x69, 0x6e, 0x74, + 0x65, 0x67, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x69, 0x6e, 0x74, 0x65, + 0x67, 0x65, 0x72, 0x22, 0x67, 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x50, + 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x47, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, + 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, + 0x79, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, + 0x6d, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, + 0x48, 0x00, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x42, + 0x0b, 0x0a, 0x09, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22, 0x42, 0x0a, 0x15, + 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x22, 0x48, 0x0a, 0x10, 0x41, 0x70, 0x69, 0x54, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, + 0x42, 0x6f, 0x64, 0x79, 0x12, 0x24, 0x0a, 0x0b, 0x73, 0x6f, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x6f, 0x6d, + 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, + 0x6f, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0xc4, 0x01, 0x0a, 0x0e, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x62, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1c, 0x0a, + 0x07, 0x73, 0x6f, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x06, 0x73, 0x6f, 0x6d, 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x73, + 0x6f, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x01, 0x52, 0x0a, 0x73, 0x6f, 0x6d, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x88, 0x01, + 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x02, 0x52, 0x06, 0x70, 0x61, 0x74, 0x68, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x1c, 0x0a, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x03, 0x52, 0x06, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x32, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, + 0x08, 0x5f, 0x73, 0x6f, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x6f, + 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x61, + 0x74, 0x68, 0x5f, 0x69, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, + 0x32, 0x22, 0x42, 0x0a, 0x12, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x62, 0x63, 0x49, + 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x62, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, + 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x8c, 0x03, 0x0a, 0x21, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, + 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x52, 0x0a, 0x06, 0x63, + 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x73, 0x61, + 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x65, 0x66, + 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, + 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x5b, 0x0a, 0x09, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x74, + 0x65, 0x72, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x2e, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x01, 0x52, 0x09, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, + 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x06, + 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x88, 0x01, 0x01, 0x1a, 0x3c, 0x0a, 0x06, 0x43, 0x68, 0x6f, + 0x69, 0x63, 0x65, 0x22, 0x32, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, + 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x10, 0x02, 0x1a, 0x37, 0x0a, 0x09, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x64, 0x22, 0x2a, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, + 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x08, 0x0a, + 0x04, 0x67, 0x6f, 0x6f, 0x64, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x62, 0x61, 0x64, 0x10, 0x02, + 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x22, 0x95, 0x01, 0x0a, 0x27, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, + 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x41, 0x75, 0x74, 0x6f, + 0x46, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x12, 0x19, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, + 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x73, + 0x74, 0x65, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x04, 0x73, 0x74, 0x65, + 0x70, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, + 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x73, 0x74, + 0x65, 0x70, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x85, 0x04, 0x0a, + 0x20, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x41, 0x75, 0x74, 0x6f, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x65, 0x73, + 0x74, 0x12, 0x51, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x34, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, + 0x72, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x41, 0x75, + 0x74, 0x6f, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x68, 0x6f, 0x69, + 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, + 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x61, 0x75, 0x74, 0x6f, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x04, 0x61, 0x75, 0x74, 0x6f, 0x88, 0x01, 0x01, + 0x12, 0x52, 0x0a, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, + 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x41, 0x75, 0x74, 0x6f, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x65, 0x72, 0x48, 0x03, 0x52, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x88, 0x01, 0x01, 0x12, 0x52, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, + 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x41, 0x75, 0x74, 0x6f, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x65, 0x73, + 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x04, 0x52, 0x09, 0x64, 0x65, 0x63, 0x72, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x1a, 0x60, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, + 0x63, 0x65, 0x22, 0x56, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, + 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x61, 0x75, 0x74, 0x6f, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, + 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x64, + 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x05, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, + 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x69, 0x6e, 0x63, + 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x64, 0x65, 0x63, 0x72, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x8b, 0x01, 0x0a, 0x1d, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, + 0x49, 0x70, 0x76, 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x34, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x88, 0x01, + 0x01, 0x12, 0x17, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x01, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x22, 0xb1, 0x03, 0x0a, 0x16, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, + 0x76, 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x34, 0x12, 0x47, 0x0a, + 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, + 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, + 0x76, 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x34, 0x2e, 0x43, 0x68, + 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, + 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x48, 0x0a, 0x09, 0x69, 0x6e, 0x63, + 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, + 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, + 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x34, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x48, 0x02, 0x52, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x88, 0x01, 0x01, 0x12, 0x48, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, + 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, + 0x72, 0x6e, 0x49, 0x70, 0x76, 0x34, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x03, 0x52, + 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x1a, 0x56, 0x0a, + 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x4c, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, + 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, + 0x12, 0x09, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x73, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x10, 0x05, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, + 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x69, + 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x64, 0x65, 0x63, + 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x8b, 0x01, 0x0a, 0x1d, 0x50, 0x61, 0x74, 0x74, 0x65, + 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, + 0x36, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x01, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x05, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xb1, 0x03, 0x0a, 0x16, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, + 0x49, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, 0x12, + 0x47, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x2a, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, + 0x49, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, 0x2e, + 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, + 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x48, 0x0a, 0x09, 0x69, + 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, + 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, + 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x02, 0x52, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x48, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, + 0x79, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, + 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x48, + 0x03, 0x52, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x1a, + 0x56, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x4c, 0x0a, 0x04, 0x45, 0x6e, 0x75, + 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x10, 0x02, 0x12, 0x0a, 0x0a, + 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x69, 0x6e, 0x63, + 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x05, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, + 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0c, 0x0a, 0x0a, + 0x5f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x64, + 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x89, 0x01, 0x0a, 0x1b, 0x50, 0x61, 0x74, + 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, + 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x01, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x05, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xd5, 0x03, 0x0a, 0x14, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, + 0x4d, 0x61, 0x63, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x12, 0x45, 0x0a, + 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, + 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, + 0x63, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x2e, 0x43, 0x68, 0x6f, 0x69, + 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x61, 0x75, 0x74, 0x6f, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x04, 0x61, 0x75, 0x74, 0x6f, 0x88, 0x01, 0x01, + 0x12, 0x46, 0x0a, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, + 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, + 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x03, 0x52, 0x09, 0x69, 0x6e, 0x63, 0x72, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x61, + 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x50, + 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x48, 0x04, 0x52, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, + 0x1a, 0x60, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x56, 0x0a, 0x04, 0x45, 0x6e, + 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, + 0x64, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x10, 0x02, 0x12, 0x0a, + 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x61, 0x75, + 0x74, 0x6f, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x10, 0x05, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x08, 0x0a, + 0x06, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x61, 0x75, 0x74, 0x6f, + 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x0c, + 0x0a, 0x0a, 0x5f, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x91, 0x01, 0x0a, + 0x23, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x50, + 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, + 0x17, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, + 0x04, 0x73, 0x74, 0x65, 0x70, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x22, 0xc9, 0x03, 0x0a, 0x1c, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, + 0x67, 0x65, 0x72, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, + 0x72, 0x12, 0x4d, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x30, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, + 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, + 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, + 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, + 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, 0x16, 0x0a, 0x06, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x06, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x12, 0x4e, 0x0a, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, + 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x50, 0x61, + 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x48, 0x02, 0x52, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x88, 0x01, 0x01, 0x12, 0x4e, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, + 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x50, 0x61, + 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x48, 0x03, 0x52, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x88, 0x01, 0x01, 0x1a, 0x56, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x4c, 0x0a, + 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, + 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x10, + 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x10, 0x03, 0x12, 0x0d, 0x0a, + 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, + 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x05, 0x42, 0x09, 0x0a, 0x07, 0x5f, + 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x0c, + 0x0a, 0x0a, 0x5f, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x83, 0x03, 0x0a, + 0x1e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, + 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, + 0x4f, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x32, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, + 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x58, 0x0a, 0x09, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, + 0x74, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x50, 0x61, 0x74, 0x74, + 0x65, 0x72, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x2e, 0x47, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x01, 0x52, 0x09, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x63, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x06, 0x63, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x88, 0x01, 0x01, 0x1a, 0x3c, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, + 0x65, 0x22, 0x32, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, + 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x63, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x10, 0x02, 0x1a, 0x37, 0x0a, 0x09, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x64, 0x22, 0x2a, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, + 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x67, + 0x6f, 0x6f, 0x64, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x62, 0x61, 0x64, 0x10, 0x02, 0x42, 0x09, + 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x22, 0xb9, 0x01, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2d, + 0x0a, 0x10, 0x61, 0x70, 0x69, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x61, 0x70, 0x69, 0x53, + 0x70, 0x65, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, + 0x0b, 0x73, 0x64, 0x6b, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x01, 0x52, 0x0a, 0x73, 0x64, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x61, 0x70, + 0x69, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x0e, + 0x0a, 0x0c, 0x5f, 0x73, 0x64, 0x6b, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x0e, + 0x0a, 0x0c, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x4b, + 0x0a, 0x08, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3f, 0x0a, 0x0f, 0x77, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x57, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0e, 0x77, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x4d, 0x0a, 0x10, 0x53, + 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x39, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, + 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x70, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x57, 0x0a, 0x1a, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x22, 0x3a, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, + 0x58, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, + 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x70, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x4e, 0x0a, 0x11, 0x47, 0x65, 0x74, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, + 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x70, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x54, 0x0a, 0x11, 0x47, 0x65, 0x74, + 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, + 0x0a, 0x0f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, + 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, + 0x0e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, + 0x3f, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, + 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, + 0x22, 0x56, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0f, 0x77, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0e, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x2f, 0x0a, 0x15, 0x43, 0x6c, 0x65, 0x61, + 0x72, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x62, 0x0a, 0x17, 0x50, 0x6f, 0x73, + 0x74, 0x52, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x13, 0x61, 0x70, 0x69, 0x5f, 0x74, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x41, 0x70, 0x69, 0x54, 0x65, + 0x73, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x10, 0x61, 0x70, 0x69, + 0x54, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x42, 0x6f, 0x64, 0x79, 0x22, 0x70, 0x0a, + 0x17, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x61, 0x6e, 0x69, + 0x74, 0x79, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, + 0x33, 0x0a, 0x19, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x22, 0x71, 0x0a, 0x18, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x55, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x64, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x6c, + 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, + 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x62, 0x63, 0x5f, 0x69, 0x74, + 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x62, + 0x63, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x41, 0x62, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x59, 0x0a, + 0x15, 0x47, 0x65, 0x74, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x10, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x61, 0x62, 0x63, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x41, 0x62, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x41, 0x62, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x5f, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x53, + 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x32, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x10, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x61, 0x62, 0x63, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x41, 0x62, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x41, 0x62, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x3f, 0x0a, 0x12, 0x47, 0x65, 0x74, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x29, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0f, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0xd1, 0x07, 0x0a, 0x07, 0x4f, + 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x12, 0x40, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x18, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x53, 0x65, 0x74, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, + 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x22, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, + 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x4d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x19, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, + 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1a, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, + 0x0b, 0x47, 0x65, 0x74, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1b, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x47, 0x65, + 0x74, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x46, 0x0a, 0x0d, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1d, 0x2e, 0x73, 0x61, 0x6e, + 0x69, 0x74, 0x79, 0x2e, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0f, 0x47, 0x65, 0x74, + 0x52, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1f, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x47, 0x65, + 0x74, 0x52, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x11, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x65, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x1a, 0x21, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x44, 0x75, 0x6d, 0x6d, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x10, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x6f, 0x6f, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x2e, 0x73, 0x61, 0x6e, 0x69, + 0x74, 0x79, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x73, 0x61, 0x6e, + 0x69, 0x74, 0x79, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0b, + 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x1a, 0x1b, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x47, 0x65, 0x74, + 0x41, 0x6c, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x46, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x74, 0x65, + 0x6d, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1d, 0x2e, 0x73, 0x61, 0x6e, 0x69, + 0x74, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x53, + 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x32, 0x12, + 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x23, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, + 0x2e, 0x47, 0x65, 0x74, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x65, + 0x76, 0x65, 0x6c, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x0a, + 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x1a, 0x1a, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x11, + 0x5a, 0x0f, 0x2e, 0x2f, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x3b, 0x73, 0x61, 0x6e, 0x69, 0x74, + 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_sanity_proto_rawDescOnce sync.Once + file_sanity_proto_rawDescData = file_sanity_proto_rawDesc +) + +func file_sanity_proto_rawDescGZIP() []byte { + file_sanity_proto_rawDescOnce.Do(func() { + file_sanity_proto_rawDescData = protoimpl.X.CompressGZIP(file_sanity_proto_rawDescData) + }) + return file_sanity_proto_rawDescData +} + +var file_sanity_proto_enumTypes = make([]protoimpl.EnumInfo, 21) +var file_sanity_proto_msgTypes = make([]protoimpl.MessageInfo, 90) +var file_sanity_proto_goTypes = []interface{}{ + (Error_Kind_Enum)(0), // 0: sanity.Error.Kind.Enum + (PrefixConfig_Response_Enum)(0), // 1: sanity.PrefixConfig.Response.Enum + (PrefixConfig_DValues_Enum)(0), // 2: sanity.PrefixConfig.DValues.Enum + (GObject_Choice_Enum)(0), // 3: sanity.GObject.Choice.Enum + (GObject_GF_Enum)(0), // 4: sanity.GObject.GF.Enum + (FObject_Choice_Enum)(0), // 5: sanity.FObject.Choice.Enum + (JObject_Choice_Enum)(0), // 6: sanity.JObject.Choice.Enum + (ChoiceObject_Choice_Enum)(0), // 7: sanity.ChoiceObject.Choice.Enum + (MetricsRequest_Choice_Enum)(0), // 8: sanity.MetricsRequest.Choice.Enum + (Metrics_Choice_Enum)(0), // 9: sanity.Metrics.Choice.Enum + (RequiredChoiceParent_Choice_Enum)(0), // 10: sanity.RequiredChoiceParent.Choice.Enum + (RequiredChoiceIntermediate_Choice_Enum)(0), // 11: sanity.RequiredChoiceIntermediate.Choice.Enum + (PatternPrefixConfigHeaderChecksum_Choice_Enum)(0), // 12: sanity.PatternPrefixConfigHeaderChecksum.Choice.Enum + (PatternPrefixConfigHeaderChecksum_Generated_Enum)(0), // 13: sanity.PatternPrefixConfigHeaderChecksum.Generated.Enum + (PatternPrefixConfigAutoFieldTest_Choice_Enum)(0), // 14: sanity.PatternPrefixConfigAutoFieldTest.Choice.Enum + (PatternIpv4PatternIpv4_Choice_Enum)(0), // 15: sanity.PatternIpv4PatternIpv4.Choice.Enum + (PatternIpv6PatternIpv6_Choice_Enum)(0), // 16: sanity.PatternIpv6PatternIpv6.Choice.Enum + (PatternMacPatternMac_Choice_Enum)(0), // 17: sanity.PatternMacPatternMac.Choice.Enum + (PatternIntegerPatternInteger_Choice_Enum)(0), // 18: sanity.PatternIntegerPatternInteger.Choice.Enum + (PatternChecksumPatternChecksum_Choice_Enum)(0), // 19: sanity.PatternChecksumPatternChecksum.Choice.Enum + (PatternChecksumPatternChecksum_Generated_Enum)(0), // 20: sanity.PatternChecksumPatternChecksum.Generated.Enum + (*ErrorDetails)(nil), // 21: sanity.ErrorDetails + (*WarningDetails)(nil), // 22: sanity.WarningDetails + (*Error)(nil), // 23: sanity.Error + (*PrefixConfig)(nil), // 24: sanity.PrefixConfig + (*WObject)(nil), // 25: sanity.WObject + (*ZObject)(nil), // 26: sanity.ZObject + (*YObject)(nil), // 27: sanity.YObject + (*Layer1Ieee802X)(nil), // 28: sanity.Layer1Ieee802x + (*GObject)(nil), // 29: sanity.GObject + (*EObject)(nil), // 30: sanity.EObject + (*FObject)(nil), // 31: sanity.FObject + (*JObject)(nil), // 32: sanity.JObject + (*ChoiceObject)(nil), // 33: sanity.ChoiceObject + (*KObject)(nil), // 34: sanity.KObject + (*LObject)(nil), // 35: sanity.LObject + (*MObject)(nil), // 36: sanity.MObject + (*Mandate)(nil), // 37: sanity.Mandate + (*UpdateConfig)(nil), // 38: sanity.UpdateConfig + (*MetricsRequest)(nil), // 39: sanity.MetricsRequest + (*Metrics)(nil), // 40: sanity.Metrics + (*PortMetric)(nil), // 41: sanity.PortMetric + (*FlowMetric)(nil), // 42: sanity.FlowMetric + (*RequiredChoiceParent)(nil), // 43: sanity.RequiredChoiceParent + (*RequiredChoiceIntermediate)(nil), // 44: sanity.RequiredChoiceIntermediate + (*RequiredChoiceIntermeLeaf)(nil), // 45: sanity.RequiredChoiceIntermeLeaf + (*LevelOne)(nil), // 46: sanity.LevelOne + (*LevelTwo)(nil), // 47: sanity.LevelTwo + (*LevelThree)(nil), // 48: sanity.LevelThree + (*LevelFour)(nil), // 49: sanity.LevelFour + (*Ipv4Pattern)(nil), // 50: sanity.Ipv4Pattern + (*Ipv6Pattern)(nil), // 51: sanity.Ipv6Pattern + (*MacPattern)(nil), // 52: sanity.MacPattern + (*IntegerPattern)(nil), // 53: sanity.IntegerPattern + (*ChecksumPattern)(nil), // 54: sanity.ChecksumPattern + (*CommonResponseSuccess)(nil), // 55: sanity.CommonResponseSuccess + (*ApiTestInputBody)(nil), // 56: sanity.ApiTestInputBody + (*ServiceAbcItem)(nil), // 57: sanity.ServiceAbcItem + (*ServiceAbcItemList)(nil), // 58: sanity.ServiceAbcItemList + (*PatternPrefixConfigHeaderChecksum)(nil), // 59: sanity.PatternPrefixConfigHeaderChecksum + (*PatternPrefixConfigAutoFieldTestCounter)(nil), // 60: sanity.PatternPrefixConfigAutoFieldTestCounter + (*PatternPrefixConfigAutoFieldTest)(nil), // 61: sanity.PatternPrefixConfigAutoFieldTest + (*PatternIpv4PatternIpv4Counter)(nil), // 62: sanity.PatternIpv4PatternIpv4Counter + (*PatternIpv4PatternIpv4)(nil), // 63: sanity.PatternIpv4PatternIpv4 + (*PatternIpv6PatternIpv6Counter)(nil), // 64: sanity.PatternIpv6PatternIpv6Counter + (*PatternIpv6PatternIpv6)(nil), // 65: sanity.PatternIpv6PatternIpv6 + (*PatternMacPatternMacCounter)(nil), // 66: sanity.PatternMacPatternMacCounter + (*PatternMacPatternMac)(nil), // 67: sanity.PatternMacPatternMac + (*PatternIntegerPatternIntegerCounter)(nil), // 68: sanity.PatternIntegerPatternIntegerCounter + (*PatternIntegerPatternInteger)(nil), // 69: sanity.PatternIntegerPatternInteger + (*PatternChecksumPatternChecksum)(nil), // 70: sanity.PatternChecksumPatternChecksum + (*Version)(nil), // 71: sanity.Version + (*Warnings)(nil), // 72: sanity.Warnings + (*SetConfigRequest)(nil), // 73: sanity.SetConfigRequest + (*UpdateConfigurationRequest)(nil), // 74: sanity.UpdateConfigurationRequest + (*SetConfigResponse)(nil), // 75: sanity.SetConfigResponse + (*UpdateConfigurationResponse)(nil), // 76: sanity.UpdateConfigurationResponse + (*GetConfigResponse)(nil), // 77: sanity.GetConfigResponse + (*GetMetricsRequest)(nil), // 78: sanity.GetMetricsRequest + (*GetMetricsResponse)(nil), // 79: sanity.GetMetricsResponse + (*GetWarningsResponse)(nil), // 80: sanity.GetWarningsResponse + (*ClearWarningsResponse)(nil), // 81: sanity.ClearWarningsResponse + (*PostRootResponseRequest)(nil), // 82: sanity.PostRootResponseRequest + (*GetRootResponseResponse)(nil), // 83: sanity.GetRootResponseResponse + (*DummyResponseTestResponse)(nil), // 84: sanity.DummyResponseTestResponse + (*PostRootResponseResponse)(nil), // 85: sanity.PostRootResponseResponse + (*GetAllItemsResponse)(nil), // 86: sanity.GetAllItemsResponse + (*GetSingleItemResponse)(nil), // 87: sanity.GetSingleItemResponse + (*GetSingleItemLevel2Response)(nil), // 88: sanity.GetSingleItemLevel2Response + (*GetVersionResponse)(nil), // 89: sanity.GetVersionResponse + (*Error_Kind)(nil), // 90: sanity.Error.Kind + (*PrefixConfig_Response)(nil), // 91: sanity.PrefixConfig.Response + (*PrefixConfig_DValues)(nil), // 92: sanity.PrefixConfig.DValues + (*GObject_Choice)(nil), // 93: sanity.GObject.Choice + (*GObject_GF)(nil), // 94: sanity.GObject.GF + (*FObject_Choice)(nil), // 95: sanity.FObject.Choice + (*JObject_Choice)(nil), // 96: sanity.JObject.Choice + (*ChoiceObject_Choice)(nil), // 97: sanity.ChoiceObject.Choice + (*MetricsRequest_Choice)(nil), // 98: sanity.MetricsRequest.Choice + (*Metrics_Choice)(nil), // 99: sanity.Metrics.Choice + (*RequiredChoiceParent_Choice)(nil), // 100: sanity.RequiredChoiceParent.Choice + (*RequiredChoiceIntermediate_Choice)(nil), // 101: sanity.RequiredChoiceIntermediate.Choice + (*PatternPrefixConfigHeaderChecksum_Choice)(nil), // 102: sanity.PatternPrefixConfigHeaderChecksum.Choice + (*PatternPrefixConfigHeaderChecksum_Generated)(nil), // 103: sanity.PatternPrefixConfigHeaderChecksum.Generated + (*PatternPrefixConfigAutoFieldTest_Choice)(nil), // 104: sanity.PatternPrefixConfigAutoFieldTest.Choice + (*PatternIpv4PatternIpv4_Choice)(nil), // 105: sanity.PatternIpv4PatternIpv4.Choice + (*PatternIpv6PatternIpv6_Choice)(nil), // 106: sanity.PatternIpv6PatternIpv6.Choice + (*PatternMacPatternMac_Choice)(nil), // 107: sanity.PatternMacPatternMac.Choice + (*PatternIntegerPatternInteger_Choice)(nil), // 108: sanity.PatternIntegerPatternInteger.Choice + (*PatternChecksumPatternChecksum_Choice)(nil), // 109: sanity.PatternChecksumPatternChecksum.Choice + (*PatternChecksumPatternChecksum_Generated)(nil), // 110: sanity.PatternChecksumPatternChecksum.Generated + (*emptypb.Empty)(nil), // 111: google.protobuf.Empty +} +var file_sanity_proto_depIdxs = []int32{ + 0, // 0: sanity.Error.kind:type_name -> sanity.Error.Kind.Enum + 30, // 1: sanity.PrefixConfig.required_object:type_name -> sanity.EObject + 30, // 2: sanity.PrefixConfig.optional_object:type_name -> sanity.EObject + 1, // 3: sanity.PrefixConfig.response:type_name -> sanity.PrefixConfig.Response.Enum + 2, // 4: sanity.PrefixConfig.d_values:type_name -> sanity.PrefixConfig.DValues.Enum + 30, // 5: sanity.PrefixConfig.e:type_name -> sanity.EObject + 31, // 6: sanity.PrefixConfig.f:type_name -> sanity.FObject + 29, // 7: sanity.PrefixConfig.g:type_name -> sanity.GObject + 32, // 8: sanity.PrefixConfig.j:type_name -> sanity.JObject + 34, // 9: sanity.PrefixConfig.k:type_name -> sanity.KObject + 35, // 10: sanity.PrefixConfig.l:type_name -> sanity.LObject + 46, // 11: sanity.PrefixConfig.level:type_name -> sanity.LevelOne + 37, // 12: sanity.PrefixConfig.mandatory:type_name -> sanity.Mandate + 50, // 13: sanity.PrefixConfig.ipv4_pattern:type_name -> sanity.Ipv4Pattern + 51, // 14: sanity.PrefixConfig.ipv6_pattern:type_name -> sanity.Ipv6Pattern + 52, // 15: sanity.PrefixConfig.mac_pattern:type_name -> sanity.MacPattern + 53, // 16: sanity.PrefixConfig.integer_pattern:type_name -> sanity.IntegerPattern + 54, // 17: sanity.PrefixConfig.checksum_pattern:type_name -> sanity.ChecksumPattern + 28, // 18: sanity.PrefixConfig.case:type_name -> sanity.Layer1Ieee802x + 36, // 19: sanity.PrefixConfig.m_object:type_name -> sanity.MObject + 59, // 20: sanity.PrefixConfig.header_checksum:type_name -> sanity.PatternPrefixConfigHeaderChecksum + 61, // 21: sanity.PrefixConfig.auto_field_test:type_name -> sanity.PatternPrefixConfigAutoFieldTest + 25, // 22: sanity.PrefixConfig.w_list:type_name -> sanity.WObject + 26, // 23: sanity.PrefixConfig.x_list:type_name -> sanity.ZObject + 26, // 24: sanity.PrefixConfig.z_object:type_name -> sanity.ZObject + 27, // 25: sanity.PrefixConfig.y_object:type_name -> sanity.YObject + 33, // 26: sanity.PrefixConfig.choice_object:type_name -> sanity.ChoiceObject + 43, // 27: sanity.PrefixConfig.required_choice_object:type_name -> sanity.RequiredChoiceParent + 29, // 28: sanity.PrefixConfig.g1:type_name -> sanity.GObject + 29, // 29: sanity.PrefixConfig.g2:type_name -> sanity.GObject + 3, // 30: sanity.GObject.choice:type_name -> sanity.GObject.Choice.Enum + 4, // 31: sanity.GObject.g_f:type_name -> sanity.GObject.GF.Enum + 5, // 32: sanity.FObject.choice:type_name -> sanity.FObject.Choice.Enum + 6, // 33: sanity.JObject.choice:type_name -> sanity.JObject.Choice.Enum + 30, // 34: sanity.JObject.j_a:type_name -> sanity.EObject + 31, // 35: sanity.JObject.j_b:type_name -> sanity.FObject + 7, // 36: sanity.ChoiceObject.choice:type_name -> sanity.ChoiceObject.Choice.Enum + 30, // 37: sanity.ChoiceObject.e_obj:type_name -> sanity.EObject + 31, // 38: sanity.ChoiceObject.f_obj:type_name -> sanity.FObject + 30, // 39: sanity.KObject.e_object:type_name -> sanity.EObject + 31, // 40: sanity.KObject.f_object:type_name -> sanity.FObject + 29, // 41: sanity.UpdateConfig.g:type_name -> sanity.GObject + 8, // 42: sanity.MetricsRequest.choice:type_name -> sanity.MetricsRequest.Choice.Enum + 9, // 43: sanity.Metrics.choice:type_name -> sanity.Metrics.Choice.Enum + 41, // 44: sanity.Metrics.ports:type_name -> sanity.PortMetric + 42, // 45: sanity.Metrics.flows:type_name -> sanity.FlowMetric + 10, // 46: sanity.RequiredChoiceParent.choice:type_name -> sanity.RequiredChoiceParent.Choice.Enum + 44, // 47: sanity.RequiredChoiceParent.intermediate_obj:type_name -> sanity.RequiredChoiceIntermediate + 11, // 48: sanity.RequiredChoiceIntermediate.choice:type_name -> sanity.RequiredChoiceIntermediate.Choice.Enum + 45, // 49: sanity.RequiredChoiceIntermediate.leaf:type_name -> sanity.RequiredChoiceIntermeLeaf + 47, // 50: sanity.LevelOne.l1_p1:type_name -> sanity.LevelTwo + 49, // 51: sanity.LevelOne.l1_p2:type_name -> sanity.LevelFour + 48, // 52: sanity.LevelTwo.l2_p1:type_name -> sanity.LevelThree + 46, // 53: sanity.LevelFour.l4_p1:type_name -> sanity.LevelOne + 63, // 54: sanity.Ipv4Pattern.ipv4:type_name -> sanity.PatternIpv4PatternIpv4 + 65, // 55: sanity.Ipv6Pattern.ipv6:type_name -> sanity.PatternIpv6PatternIpv6 + 67, // 56: sanity.MacPattern.mac:type_name -> sanity.PatternMacPatternMac + 69, // 57: sanity.IntegerPattern.integer:type_name -> sanity.PatternIntegerPatternInteger + 70, // 58: sanity.ChecksumPattern.checksum:type_name -> sanity.PatternChecksumPatternChecksum + 57, // 59: sanity.ServiceAbcItemList.items:type_name -> sanity.ServiceAbcItem + 12, // 60: sanity.PatternPrefixConfigHeaderChecksum.choice:type_name -> sanity.PatternPrefixConfigHeaderChecksum.Choice.Enum + 13, // 61: sanity.PatternPrefixConfigHeaderChecksum.generated:type_name -> sanity.PatternPrefixConfigHeaderChecksum.Generated.Enum + 14, // 62: sanity.PatternPrefixConfigAutoFieldTest.choice:type_name -> sanity.PatternPrefixConfigAutoFieldTest.Choice.Enum + 60, // 63: sanity.PatternPrefixConfigAutoFieldTest.increment:type_name -> sanity.PatternPrefixConfigAutoFieldTestCounter + 60, // 64: sanity.PatternPrefixConfigAutoFieldTest.decrement:type_name -> sanity.PatternPrefixConfigAutoFieldTestCounter + 15, // 65: sanity.PatternIpv4PatternIpv4.choice:type_name -> sanity.PatternIpv4PatternIpv4.Choice.Enum + 62, // 66: sanity.PatternIpv4PatternIpv4.increment:type_name -> sanity.PatternIpv4PatternIpv4Counter + 62, // 67: sanity.PatternIpv4PatternIpv4.decrement:type_name -> sanity.PatternIpv4PatternIpv4Counter + 16, // 68: sanity.PatternIpv6PatternIpv6.choice:type_name -> sanity.PatternIpv6PatternIpv6.Choice.Enum + 64, // 69: sanity.PatternIpv6PatternIpv6.increment:type_name -> sanity.PatternIpv6PatternIpv6Counter + 64, // 70: sanity.PatternIpv6PatternIpv6.decrement:type_name -> sanity.PatternIpv6PatternIpv6Counter + 17, // 71: sanity.PatternMacPatternMac.choice:type_name -> sanity.PatternMacPatternMac.Choice.Enum + 66, // 72: sanity.PatternMacPatternMac.increment:type_name -> sanity.PatternMacPatternMacCounter + 66, // 73: sanity.PatternMacPatternMac.decrement:type_name -> sanity.PatternMacPatternMacCounter + 18, // 74: sanity.PatternIntegerPatternInteger.choice:type_name -> sanity.PatternIntegerPatternInteger.Choice.Enum + 68, // 75: sanity.PatternIntegerPatternInteger.increment:type_name -> sanity.PatternIntegerPatternIntegerCounter + 68, // 76: sanity.PatternIntegerPatternInteger.decrement:type_name -> sanity.PatternIntegerPatternIntegerCounter + 19, // 77: sanity.PatternChecksumPatternChecksum.choice:type_name -> sanity.PatternChecksumPatternChecksum.Choice.Enum + 20, // 78: sanity.PatternChecksumPatternChecksum.generated:type_name -> sanity.PatternChecksumPatternChecksum.Generated.Enum + 22, // 79: sanity.Warnings.warning_details:type_name -> sanity.WarningDetails + 24, // 80: sanity.SetConfigRequest.prefix_config:type_name -> sanity.PrefixConfig + 38, // 81: sanity.UpdateConfigurationRequest.update_config:type_name -> sanity.UpdateConfig + 24, // 82: sanity.UpdateConfigurationResponse.prefix_config:type_name -> sanity.PrefixConfig + 24, // 83: sanity.GetConfigResponse.prefix_config:type_name -> sanity.PrefixConfig + 39, // 84: sanity.GetMetricsRequest.metrics_request:type_name -> sanity.MetricsRequest + 40, // 85: sanity.GetMetricsResponse.metrics:type_name -> sanity.Metrics + 22, // 86: sanity.GetWarningsResponse.warning_details:type_name -> sanity.WarningDetails + 56, // 87: sanity.PostRootResponseRequest.api_test_input_body:type_name -> sanity.ApiTestInputBody + 55, // 88: sanity.GetRootResponseResponse.common_response_success:type_name -> sanity.CommonResponseSuccess + 55, // 89: sanity.PostRootResponseResponse.common_response_success:type_name -> sanity.CommonResponseSuccess + 58, // 90: sanity.GetAllItemsResponse.service_abc_item_list:type_name -> sanity.ServiceAbcItemList + 57, // 91: sanity.GetSingleItemResponse.service_abc_item:type_name -> sanity.ServiceAbcItem + 57, // 92: sanity.GetSingleItemLevel2Response.service_abc_item:type_name -> sanity.ServiceAbcItem + 71, // 93: sanity.GetVersionResponse.version:type_name -> sanity.Version + 73, // 94: sanity.Openapi.SetConfig:input_type -> sanity.SetConfigRequest + 74, // 95: sanity.Openapi.UpdateConfiguration:input_type -> sanity.UpdateConfigurationRequest + 111, // 96: sanity.Openapi.GetConfig:input_type -> google.protobuf.Empty + 78, // 97: sanity.Openapi.GetMetrics:input_type -> sanity.GetMetricsRequest + 111, // 98: sanity.Openapi.GetWarnings:input_type -> google.protobuf.Empty + 111, // 99: sanity.Openapi.ClearWarnings:input_type -> google.protobuf.Empty + 111, // 100: sanity.Openapi.GetRootResponse:input_type -> google.protobuf.Empty + 111, // 101: sanity.Openapi.DummyResponseTest:input_type -> google.protobuf.Empty + 82, // 102: sanity.Openapi.PostRootResponse:input_type -> sanity.PostRootResponseRequest + 111, // 103: sanity.Openapi.GetAllItems:input_type -> google.protobuf.Empty + 111, // 104: sanity.Openapi.GetSingleItem:input_type -> google.protobuf.Empty + 111, // 105: sanity.Openapi.GetSingleItemLevel2:input_type -> google.protobuf.Empty + 111, // 106: sanity.Openapi.GetVersion:input_type -> google.protobuf.Empty + 75, // 107: sanity.Openapi.SetConfig:output_type -> sanity.SetConfigResponse + 76, // 108: sanity.Openapi.UpdateConfiguration:output_type -> sanity.UpdateConfigurationResponse + 77, // 109: sanity.Openapi.GetConfig:output_type -> sanity.GetConfigResponse + 79, // 110: sanity.Openapi.GetMetrics:output_type -> sanity.GetMetricsResponse + 80, // 111: sanity.Openapi.GetWarnings:output_type -> sanity.GetWarningsResponse + 81, // 112: sanity.Openapi.ClearWarnings:output_type -> sanity.ClearWarningsResponse + 83, // 113: sanity.Openapi.GetRootResponse:output_type -> sanity.GetRootResponseResponse + 84, // 114: sanity.Openapi.DummyResponseTest:output_type -> sanity.DummyResponseTestResponse + 85, // 115: sanity.Openapi.PostRootResponse:output_type -> sanity.PostRootResponseResponse + 86, // 116: sanity.Openapi.GetAllItems:output_type -> sanity.GetAllItemsResponse + 87, // 117: sanity.Openapi.GetSingleItem:output_type -> sanity.GetSingleItemResponse + 88, // 118: sanity.Openapi.GetSingleItemLevel2:output_type -> sanity.GetSingleItemLevel2Response + 89, // 119: sanity.Openapi.GetVersion:output_type -> sanity.GetVersionResponse + 107, // [107:120] is the sub-list for method output_type + 94, // [94:107] is the sub-list for method input_type + 94, // [94:94] is the sub-list for extension type_name + 94, // [94:94] is the sub-list for extension extendee + 0, // [0:94] is the sub-list for field type_name +} + +func init() { file_sanity_proto_init() } +func file_sanity_proto_init() { + if File_sanity_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_sanity_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ErrorDetails); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WarningDetails); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Error); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PrefixConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WObject); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ZObject); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*YObject); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Layer1Ieee802X); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GObject); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EObject); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FObject); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JObject); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChoiceObject); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*KObject); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LObject); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MObject); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Mandate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MetricsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Metrics); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PortMetric); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FlowMetric); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RequiredChoiceParent); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RequiredChoiceIntermediate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RequiredChoiceIntermeLeaf); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LevelOne); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LevelTwo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LevelThree); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LevelFour); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Ipv4Pattern); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Ipv6Pattern); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MacPattern); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IntegerPattern); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChecksumPattern); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommonResponseSuccess); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApiTestInputBody); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ServiceAbcItem); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ServiceAbcItemList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternPrefixConfigHeaderChecksum); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternPrefixConfigAutoFieldTestCounter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternPrefixConfigAutoFieldTest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternIpv4PatternIpv4Counter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternIpv4PatternIpv4); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternIpv6PatternIpv6Counter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternIpv6PatternIpv6); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternMacPatternMacCounter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternMacPatternMac); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternIntegerPatternIntegerCounter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternIntegerPatternInteger); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternChecksumPatternChecksum); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Version); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Warnings); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetConfigRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateConfigurationRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetConfigResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateConfigurationResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetConfigResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetMetricsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetMetricsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetWarningsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClearWarningsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostRootResponseRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRootResponseResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DummyResponseTestResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostRootResponseResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetAllItemsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetSingleItemResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetSingleItemLevel2Response); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetVersionResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Error_Kind); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PrefixConfig_Response); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PrefixConfig_DValues); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GObject_Choice); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GObject_GF); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FObject_Choice); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JObject_Choice); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChoiceObject_Choice); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MetricsRequest_Choice); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Metrics_Choice); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RequiredChoiceParent_Choice); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RequiredChoiceIntermediate_Choice); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternPrefixConfigHeaderChecksum_Choice); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternPrefixConfigHeaderChecksum_Generated); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternPrefixConfigAutoFieldTest_Choice); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternIpv4PatternIpv4_Choice); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternIpv6PatternIpv6_Choice); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternMacPatternMac_Choice); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternIntegerPatternInteger_Choice); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternChecksumPatternChecksum_Choice); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sanity_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternChecksumPatternChecksum_Generated); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_sanity_proto_msgTypes[2].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[3].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[6].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[7].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[8].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[9].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[10].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[11].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[12].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[13].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[14].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[18].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[19].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[22].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[23].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[24].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[25].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[26].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[27].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[28].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[29].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[30].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[31].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[32].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[33].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[34].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[35].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[36].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[38].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[39].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[40].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[41].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[42].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[43].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[44].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[45].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[46].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[47].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[48].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[49].OneofWrappers = []interface{}{} + file_sanity_proto_msgTypes[50].OneofWrappers = []interface{}{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_sanity_proto_rawDesc, + NumEnums: 21, + NumMessages: 90, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_sanity_proto_goTypes, + DependencyIndexes: file_sanity_proto_depIdxs, + EnumInfos: file_sanity_proto_enumTypes, + MessageInfos: file_sanity_proto_msgTypes, + }.Build() + File_sanity_proto = out.File + file_sanity_proto_rawDesc = nil + file_sanity_proto_goTypes = nil + file_sanity_proto_depIdxs = nil +} diff --git a/artifacts/openapiart_go/sanity/sanity_grpc.pb.go b/artifacts/openapiart_go/sanity/sanity_grpc.pb.go new file mode 100644 index 00000000..bc2a114c --- /dev/null +++ b/artifacts/openapiart_go/sanity/sanity_grpc.pb.go @@ -0,0 +1,569 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v4.23.3 +// source: sanity.proto + +package sanity + +import ( + context "context" + + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + emptypb "google.golang.org/protobuf/types/known/emptypb" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// OpenapiClient is the client API for Openapi service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type OpenapiClient interface { + // Sets configuration resources. + SetConfig(ctx context.Context, in *SetConfigRequest, opts ...grpc.CallOption) (*SetConfigResponse, error) + // Deprecated: please use post instead + // + // Sets configuration resources. + UpdateConfiguration(ctx context.Context, in *UpdateConfigurationRequest, opts ...grpc.CallOption) (*UpdateConfigurationResponse, error) + // Gets the configuration resources. + GetConfig(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetConfigResponse, error) + // Gets metrics. + GetMetrics(ctx context.Context, in *GetMetricsRequest, opts ...grpc.CallOption) (*GetMetricsResponse, error) + // Gets warnings. + GetWarnings(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetWarningsResponse, error) + // Clears warnings. + ClearWarnings(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ClearWarningsResponse, error) + // simple GET api with single return type + GetRootResponse(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetRootResponseResponse, error) + // Description missing in models + DummyResponseTest(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*DummyResponseTestResponse, error) + // simple POST api with single return type + PostRootResponse(ctx context.Context, in *PostRootResponseRequest, opts ...grpc.CallOption) (*PostRootResponseResponse, error) + // return list of some items + GetAllItems(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetAllItemsResponse, error) + // return single item + GetSingleItem(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetSingleItemResponse, error) + // return single item + GetSingleItemLevel2(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetSingleItemLevel2Response, error) + // Description missing in models + GetVersion(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetVersionResponse, error) +} + +type openapiClient struct { + cc grpc.ClientConnInterface +} + +func NewOpenapiClient(cc grpc.ClientConnInterface) OpenapiClient { + return &openapiClient{cc} +} + +func (c *openapiClient) SetConfig(ctx context.Context, in *SetConfigRequest, opts ...grpc.CallOption) (*SetConfigResponse, error) { + out := new(SetConfigResponse) + err := c.cc.Invoke(ctx, "/sanity.Openapi/SetConfig", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openapiClient) UpdateConfiguration(ctx context.Context, in *UpdateConfigurationRequest, opts ...grpc.CallOption) (*UpdateConfigurationResponse, error) { + out := new(UpdateConfigurationResponse) + err := c.cc.Invoke(ctx, "/sanity.Openapi/UpdateConfiguration", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openapiClient) GetConfig(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetConfigResponse, error) { + out := new(GetConfigResponse) + err := c.cc.Invoke(ctx, "/sanity.Openapi/GetConfig", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openapiClient) GetMetrics(ctx context.Context, in *GetMetricsRequest, opts ...grpc.CallOption) (*GetMetricsResponse, error) { + out := new(GetMetricsResponse) + err := c.cc.Invoke(ctx, "/sanity.Openapi/GetMetrics", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openapiClient) GetWarnings(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetWarningsResponse, error) { + out := new(GetWarningsResponse) + err := c.cc.Invoke(ctx, "/sanity.Openapi/GetWarnings", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openapiClient) ClearWarnings(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ClearWarningsResponse, error) { + out := new(ClearWarningsResponse) + err := c.cc.Invoke(ctx, "/sanity.Openapi/ClearWarnings", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openapiClient) GetRootResponse(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetRootResponseResponse, error) { + out := new(GetRootResponseResponse) + err := c.cc.Invoke(ctx, "/sanity.Openapi/GetRootResponse", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openapiClient) DummyResponseTest(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*DummyResponseTestResponse, error) { + out := new(DummyResponseTestResponse) + err := c.cc.Invoke(ctx, "/sanity.Openapi/DummyResponseTest", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openapiClient) PostRootResponse(ctx context.Context, in *PostRootResponseRequest, opts ...grpc.CallOption) (*PostRootResponseResponse, error) { + out := new(PostRootResponseResponse) + err := c.cc.Invoke(ctx, "/sanity.Openapi/PostRootResponse", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openapiClient) GetAllItems(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetAllItemsResponse, error) { + out := new(GetAllItemsResponse) + err := c.cc.Invoke(ctx, "/sanity.Openapi/GetAllItems", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openapiClient) GetSingleItem(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetSingleItemResponse, error) { + out := new(GetSingleItemResponse) + err := c.cc.Invoke(ctx, "/sanity.Openapi/GetSingleItem", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openapiClient) GetSingleItemLevel2(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetSingleItemLevel2Response, error) { + out := new(GetSingleItemLevel2Response) + err := c.cc.Invoke(ctx, "/sanity.Openapi/GetSingleItemLevel2", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openapiClient) GetVersion(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetVersionResponse, error) { + out := new(GetVersionResponse) + err := c.cc.Invoke(ctx, "/sanity.Openapi/GetVersion", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// OpenapiServer is the server API for Openapi service. +// All implementations must embed UnimplementedOpenapiServer +// for forward compatibility +type OpenapiServer interface { + // Sets configuration resources. + SetConfig(context.Context, *SetConfigRequest) (*SetConfigResponse, error) + // Deprecated: please use post instead + // + // Sets configuration resources. + UpdateConfiguration(context.Context, *UpdateConfigurationRequest) (*UpdateConfigurationResponse, error) + // Gets the configuration resources. + GetConfig(context.Context, *emptypb.Empty) (*GetConfigResponse, error) + // Gets metrics. + GetMetrics(context.Context, *GetMetricsRequest) (*GetMetricsResponse, error) + // Gets warnings. + GetWarnings(context.Context, *emptypb.Empty) (*GetWarningsResponse, error) + // Clears warnings. + ClearWarnings(context.Context, *emptypb.Empty) (*ClearWarningsResponse, error) + // simple GET api with single return type + GetRootResponse(context.Context, *emptypb.Empty) (*GetRootResponseResponse, error) + // Description missing in models + DummyResponseTest(context.Context, *emptypb.Empty) (*DummyResponseTestResponse, error) + // simple POST api with single return type + PostRootResponse(context.Context, *PostRootResponseRequest) (*PostRootResponseResponse, error) + // return list of some items + GetAllItems(context.Context, *emptypb.Empty) (*GetAllItemsResponse, error) + // return single item + GetSingleItem(context.Context, *emptypb.Empty) (*GetSingleItemResponse, error) + // return single item + GetSingleItemLevel2(context.Context, *emptypb.Empty) (*GetSingleItemLevel2Response, error) + // Description missing in models + GetVersion(context.Context, *emptypb.Empty) (*GetVersionResponse, error) + mustEmbedUnimplementedOpenapiServer() +} + +// UnimplementedOpenapiServer must be embedded to have forward compatible implementations. +type UnimplementedOpenapiServer struct { +} + +func (UnimplementedOpenapiServer) SetConfig(context.Context, *SetConfigRequest) (*SetConfigResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetConfig not implemented") +} +func (UnimplementedOpenapiServer) UpdateConfiguration(context.Context, *UpdateConfigurationRequest) (*UpdateConfigurationResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateConfiguration not implemented") +} +func (UnimplementedOpenapiServer) GetConfig(context.Context, *emptypb.Empty) (*GetConfigResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetConfig not implemented") +} +func (UnimplementedOpenapiServer) GetMetrics(context.Context, *GetMetricsRequest) (*GetMetricsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetMetrics not implemented") +} +func (UnimplementedOpenapiServer) GetWarnings(context.Context, *emptypb.Empty) (*GetWarningsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetWarnings not implemented") +} +func (UnimplementedOpenapiServer) ClearWarnings(context.Context, *emptypb.Empty) (*ClearWarningsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ClearWarnings not implemented") +} +func (UnimplementedOpenapiServer) GetRootResponse(context.Context, *emptypb.Empty) (*GetRootResponseResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetRootResponse not implemented") +} +func (UnimplementedOpenapiServer) DummyResponseTest(context.Context, *emptypb.Empty) (*DummyResponseTestResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DummyResponseTest not implemented") +} +func (UnimplementedOpenapiServer) PostRootResponse(context.Context, *PostRootResponseRequest) (*PostRootResponseResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method PostRootResponse not implemented") +} +func (UnimplementedOpenapiServer) GetAllItems(context.Context, *emptypb.Empty) (*GetAllItemsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetAllItems not implemented") +} +func (UnimplementedOpenapiServer) GetSingleItem(context.Context, *emptypb.Empty) (*GetSingleItemResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetSingleItem not implemented") +} +func (UnimplementedOpenapiServer) GetSingleItemLevel2(context.Context, *emptypb.Empty) (*GetSingleItemLevel2Response, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetSingleItemLevel2 not implemented") +} +func (UnimplementedOpenapiServer) GetVersion(context.Context, *emptypb.Empty) (*GetVersionResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetVersion not implemented") +} +func (UnimplementedOpenapiServer) mustEmbedUnimplementedOpenapiServer() {} + +// UnsafeOpenapiServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to OpenapiServer will +// result in compilation errors. +type UnsafeOpenapiServer interface { + mustEmbedUnimplementedOpenapiServer() +} + +func RegisterOpenapiServer(s grpc.ServiceRegistrar, srv OpenapiServer) { + s.RegisterService(&Openapi_ServiceDesc, srv) +} + +func _Openapi_SetConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetConfigRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenapiServer).SetConfig(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/sanity.Openapi/SetConfig", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenapiServer).SetConfig(ctx, req.(*SetConfigRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openapi_UpdateConfiguration_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateConfigurationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenapiServer).UpdateConfiguration(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/sanity.Openapi/UpdateConfiguration", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenapiServer).UpdateConfiguration(ctx, req.(*UpdateConfigurationRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openapi_GetConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenapiServer).GetConfig(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/sanity.Openapi/GetConfig", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenapiServer).GetConfig(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openapi_GetMetrics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetMetricsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenapiServer).GetMetrics(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/sanity.Openapi/GetMetrics", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenapiServer).GetMetrics(ctx, req.(*GetMetricsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openapi_GetWarnings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenapiServer).GetWarnings(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/sanity.Openapi/GetWarnings", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenapiServer).GetWarnings(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openapi_ClearWarnings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenapiServer).ClearWarnings(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/sanity.Openapi/ClearWarnings", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenapiServer).ClearWarnings(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openapi_GetRootResponse_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenapiServer).GetRootResponse(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/sanity.Openapi/GetRootResponse", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenapiServer).GetRootResponse(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openapi_DummyResponseTest_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenapiServer).DummyResponseTest(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/sanity.Openapi/DummyResponseTest", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenapiServer).DummyResponseTest(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openapi_PostRootResponse_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PostRootResponseRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenapiServer).PostRootResponse(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/sanity.Openapi/PostRootResponse", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenapiServer).PostRootResponse(ctx, req.(*PostRootResponseRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openapi_GetAllItems_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenapiServer).GetAllItems(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/sanity.Openapi/GetAllItems", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenapiServer).GetAllItems(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openapi_GetSingleItem_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenapiServer).GetSingleItem(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/sanity.Openapi/GetSingleItem", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenapiServer).GetSingleItem(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openapi_GetSingleItemLevel2_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenapiServer).GetSingleItemLevel2(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/sanity.Openapi/GetSingleItemLevel2", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenapiServer).GetSingleItemLevel2(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openapi_GetVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenapiServer).GetVersion(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/sanity.Openapi/GetVersion", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenapiServer).GetVersion(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +// Openapi_ServiceDesc is the grpc.ServiceDesc for Openapi service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var Openapi_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "sanity.Openapi", + HandlerType: (*OpenapiServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "SetConfig", + Handler: _Openapi_SetConfig_Handler, + }, + { + MethodName: "UpdateConfiguration", + Handler: _Openapi_UpdateConfiguration_Handler, + }, + { + MethodName: "GetConfig", + Handler: _Openapi_GetConfig_Handler, + }, + { + MethodName: "GetMetrics", + Handler: _Openapi_GetMetrics_Handler, + }, + { + MethodName: "GetWarnings", + Handler: _Openapi_GetWarnings_Handler, + }, + { + MethodName: "ClearWarnings", + Handler: _Openapi_ClearWarnings_Handler, + }, + { + MethodName: "GetRootResponse", + Handler: _Openapi_GetRootResponse_Handler, + }, + { + MethodName: "DummyResponseTest", + Handler: _Openapi_DummyResponseTest_Handler, + }, + { + MethodName: "PostRootResponse", + Handler: _Openapi_PostRootResponse_Handler, + }, + { + MethodName: "GetAllItems", + Handler: _Openapi_GetAllItems_Handler, + }, + { + MethodName: "GetSingleItem", + Handler: _Openapi_GetSingleItem_Handler, + }, + { + MethodName: "GetSingleItemLevel2", + Handler: _Openapi_GetSingleItemLevel2_Handler, + }, + { + MethodName: "GetVersion", + Handler: _Openapi_GetVersion_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "sanity.proto", +} diff --git a/artifacts/sanity/__pycache__/__init__.cpython-310.pyc b/artifacts/sanity/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9e8079e96b1e34817fa3a1b98d03bc417aac5ea2 GIT binary patch literal 2492 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 Zi~Oy}Z&%>ABZc9@xV*ou>Gg|8{|_(?8+QNz literal 0 HcmV?d00001 diff --git a/artifacts/sanity/__pycache__/sanity_pb2.cpython-310.pyc b/artifacts/sanity/__pycache__/sanity_pb2.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..db291d800a902dc3cdbb7c28c2b67cc389b579b3 GIT binary patch literal 18969 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 '3.6' grpcio~=1.54.2 ; python_version > '3.6' -PyYAML -requests -protobuf~=3.15.0 ; python_version <= '3.6' +grpcio-tools~=1.54.2 ; python_version > '3.6' +grpcio-tools~=1.35.0 ; python_version <= '3.6' protobuf~=4.23.3 ; python_version > '3.6' +protobuf~=3.15.0 ; python_version <= '3.6' +requests +PyYAML urllib3 semantic_version From bb09c7f8ac388a574139bea350401cd286ac9a1a Mon Sep 17 00:00:00 2001 From: Vibaswan Date: Mon, 11 Sep 2023 12:25:03 +0000 Subject: [PATCH 06/27] adding git ignore --- .github/workflows/build.yml | 5 +++++ .gitignore | 1 + 2 files changed, 6 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 11255066..04d6ebe4 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -68,6 +68,11 @@ jobs: - name: Trigger dev workflow run: | python do.py build + - name: show artifacts + run: | + ls artifacts + ls artifacts/sanity + ls artifacts/openapiart_go - name: Commit packages run: | git config user.name "Github Actions Bot" diff --git a/.gitignore b/.gitignore index ee0385ac..0bdd00e5 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,7 @@ __pycache__ /cov_report /**/art /**/art_go +/artifacts/sanity/__pycache__ .local /pkg/coverage.txt /pkg/coverage.out From b649a8e9ae39f24bfd1158d25601401d05ad921d Mon Sep 17 00:00:00 2001 From: Github Actions Bot Date: Mon, 11 Sep 2023 12:28:05 +0000 Subject: [PATCH 07/27] Update auto generated go code --- .../__pycache__/__init__.cpython-310.pyc | Bin 2492 -> 2492 bytes .../sanity/__pycache__/sanity.cpython-310.pyc | Bin 150956 -> 150956 bytes .../__pycache__/sanity_pb2.cpython-310.pyc | Bin 18969 -> 18969 bytes .../sanity_pb2_grpc.cpython-310.pyc | Bin 9089 -> 9089 bytes artifacts/sanity/requirements.txt | 8 ++++---- 5 files changed, 4 insertions(+), 4 deletions(-) diff --git a/artifacts/sanity/__pycache__/__init__.cpython-310.pyc b/artifacts/sanity/__pycache__/__init__.cpython-310.pyc index 9e8079e96b1e34817fa3a1b98d03bc417aac5ea2..e057e32bf9a886b011cbd27b58a5e09fcf6e0dc7 100644 GIT binary patch delta 19 ZcmdlZyhoTTpO=@50SHRjH*#&_1OP0Q1TFvo delta 19 ZcmdlZyhoTTpO=@50SLO8H*#&_1OP1r1V8`) diff --git a/artifacts/sanity/__pycache__/sanity.cpython-310.pyc b/artifacts/sanity/__pycache__/sanity.cpython-310.pyc index 5f9a894c95a09c99da47b6263fe96e0a145569c1..b21643b9e8c0913ef2d822588cc81ef4b0fe0334 100644 GIT binary patch delta 27 hcmZ28n{&-b8s9b8=x1)^YUN_w%Eh$E7XV|g2Aco? diff --git a/artifacts/sanity/__pycache__/sanity_pb2.cpython-310.pyc b/artifacts/sanity/__pycache__/sanity_pb2.cpython-310.pyc index db291d800a902dc3cdbb7c28c2b67cc389b579b3..051964cb82508f86b07ded7d2592b992bbd3df34 100644 GIT binary patch delta 21 bcmbO^g>mK-My`BbUM>b8C}rQs#qR|GJ8=Yx delta 21 bcmbO^g>mK-My`BbUM>b8=w{x?#qR|GJK+SJ diff --git a/artifacts/sanity/__pycache__/sanity_pb2_grpc.cpython-310.pyc b/artifacts/sanity/__pycache__/sanity_pb2_grpc.cpython-310.pyc index d5219d3800a6bac48dd3364b79ac7c37fd0cf2c4..27f3b853ec33fd916a63074047523638beb517fb 100644 GIT binary patch delta 19 YcmZp4Z*=F%=jG*M0D@BXja=o*04mf2{{R30 delta 19 YcmZp4Z*=F%=jG*M0D^Ajja=o*04qcU5dZ)H diff --git a/artifacts/sanity/requirements.txt b/artifacts/sanity/requirements.txt index fc7499f0..bc9b175a 100644 --- a/artifacts/sanity/requirements.txt +++ b/artifacts/sanity/requirements.txt @@ -1,11 +1,11 @@ --prefer-binary grpcio~=1.35.0 ; python_version <= '3.6' grpcio~=1.54.2 ; python_version > '3.6' -grpcio-tools~=1.54.2 ; python_version > '3.6' grpcio-tools~=1.35.0 ; python_version <= '3.6' -protobuf~=4.23.3 ; python_version > '3.6' -protobuf~=3.15.0 ; python_version <= '3.6' +grpcio-tools~=1.54.2 ; python_version > '3.6' requests +protobuf~=3.15.0 ; python_version <= '3.6' +protobuf~=4.23.3 ; python_version > '3.6' PyYAML -urllib3 semantic_version +urllib3 From e83d86b8d69f1c3816e1dabf4ff31db81a135904 Mon Sep 17 00:00:00 2001 From: Vibaswan Date: Mon, 11 Sep 2023 12:44:53 +0000 Subject: [PATCH 08/27] move gen go files --- .gitignore | 1 - .../__pycache__/__init__.cpython-310.pyc | Bin 2492 -> 0 bytes .../sanity/__pycache__/sanity.cpython-310.pyc | Bin 150956 -> 0 bytes .../__pycache__/sanity_pb2.cpython-310.pyc | Bin 18969 -> 0 bytes .../sanity_pb2_grpc.cpython-310.pyc | Bin 9089 -> 0 bytes do.py | 4 ++++ 6 files changed, 4 insertions(+), 1 deletion(-) delete mode 100644 artifacts/sanity/__pycache__/__init__.cpython-310.pyc delete mode 100644 artifacts/sanity/__pycache__/sanity.cpython-310.pyc delete mode 100644 artifacts/sanity/__pycache__/sanity_pb2.cpython-310.pyc delete mode 100644 artifacts/sanity/__pycache__/sanity_pb2_grpc.cpython-310.pyc diff --git a/.gitignore b/.gitignore index 0bdd00e5..ee0385ac 100644 --- a/.gitignore +++ b/.gitignore @@ -14,7 +14,6 @@ __pycache__ /cov_report /**/art /**/art_go -/artifacts/sanity/__pycache__ .local /pkg/coverage.txt /pkg/coverage.out diff --git a/artifacts/sanity/__pycache__/__init__.cpython-310.pyc b/artifacts/sanity/__pycache__/__init__.cpython-310.pyc deleted file mode 100644 index 9e8079e96b1e34817fa3a1b98d03bc417aac5ea2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2492 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 Zi~Oy}Z&%>ABZc9@xV*ou>Gg|8{|_(?8+QNz diff --git a/artifacts/sanity/__pycache__/sanity_pb2.cpython-310.pyc b/artifacts/sanity/__pycache__/sanity_pb2.cpython-310.pyc deleted file mode 100644 index db291d800a902dc3cdbb7c28c2b67cc389b579b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18969 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 Date: Mon, 11 Sep 2023 12:46:44 +0000 Subject: [PATCH 09/27] remove pyc files --- .../__pycache__/__init__.cpython-310.pyc | Bin 2492 -> 0 bytes .../sanity/__pycache__/sanity.cpython-310.pyc | Bin 150956 -> 0 bytes .../__pycache__/sanity_pb2.cpython-310.pyc | Bin 18969 -> 0 bytes .../sanity_pb2_grpc.cpython-310.pyc | Bin 9089 -> 0 bytes 4 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 artifacts/sanity/__pycache__/__init__.cpython-310.pyc delete mode 100644 artifacts/sanity/__pycache__/sanity.cpython-310.pyc delete mode 100644 artifacts/sanity/__pycache__/sanity_pb2.cpython-310.pyc delete mode 100644 artifacts/sanity/__pycache__/sanity_pb2_grpc.cpython-310.pyc diff --git a/artifacts/sanity/__pycache__/__init__.cpython-310.pyc b/artifacts/sanity/__pycache__/__init__.cpython-310.pyc deleted file mode 100644 index e057e32bf9a886b011cbd27b58a5e09fcf6e0dc7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2492 zcmc)L*;XS}6b9gg0GUI8FwZk#NSJ5nMr;%Xo7JGb++MJ%lLM5URK-&jXuR}oe5Jl} zEw6k9Z}i_gMJg!jr3^pcIs4SEqE2O%olM38_^O8gDE<@)1b*c~<5v>~FY)XA0u=+r zU@1@zQZUGFf}5yG9D+j>5;w!m)GTg+Tc}0c3b#_LI1Gm=ERMhtiio3dl%nDo9HW>x z4#z1jPQVFDh?8)VlHwGcqLjD|ZlgAF8ctJM+zz)>ySM}Hpbl{-+)16{44k2ixC`#0 zE^#;9P2J)ixQBYgy>Kt}iu>R`>J#_F{nRfWfCp$mJO~fcpm+!#q9O4xJWRvl5qN|~ z#G~*ijf%(MF&Yz(!{anAo`5H4LOcmi(xi9_o}wx7G(1hy;u&~`X2i4bEX|6uaF(*- zIe3od#Pjex&5IY{1zHdonSKt*|5wF6lv?^YM z*Jw?=4zJU?cmv*`4e=(tNt@y=c#F2g+weARi+A81+7a)e~EpWLwwf4aVVDuit&I3NG{5=Vx`sJ)XEq^P(^OipR&wm-R~c zw9d$>x>Kdsmcp?$U*6krOy)0dwc<)tM#pwlPH|>fMZ@L!_(|n%?c8v2ZVSV1j}5a- zRED0f9NAT?cHP`*>IQ?51(4j){*7h!J(i(}`uc56e7QvS%h(AaUwzW3|?$g8K`8rm|gn@^Q%m?Z~2 zx{mB}*|y#&r(#=&#}O<$dTj7b1ZQzbF6Tza;$Nzb8K*Ia%^#IbL?>J za_n*Ja~vRk4(OL`j^Dq_-`ZuB*Hz0>I)88L_j$XbEZky4yZ=BJyY1w2IsU;a^V%q2 oT-%NO)s=}|xw^_#9zI6)%673@QV0B=aDGH20*T=N@tqF-2@d;?-T(jq diff --git a/artifacts/sanity/__pycache__/sanity.cpython-310.pyc b/artifacts/sanity/__pycache__/sanity.cpython-310.pyc deleted file mode 100644 index b21643b9e8c0913ef2d822588cc81ef4b0fe0334..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150956 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 diff --git a/artifacts/sanity/__pycache__/sanity_pb2_grpc.cpython-310.pyc b/artifacts/sanity/__pycache__/sanity_pb2_grpc.cpython-310.pyc deleted file mode 100644 index 27f3b853ec33fd916a63074047523638beb517fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9089 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 u*vougj*zq Date: Mon, 11 Sep 2023 12:49:58 +0000 Subject: [PATCH 10/27] Update auto generated go code --- artifacts/openapiart_go/go.mod | 13 + artifacts/openapiart_go/go.sum | 1763 ++ artifacts/openapiart_go/openapiart.go | 24144 ++++++++++++++++ .../__pycache__/__init__.cpython-310.pyc | Bin 0 -> 2492 bytes .../sanity/__pycache__/sanity.cpython-310.pyc | Bin 0 -> 150956 bytes .../__pycache__/sanity_pb2.cpython-310.pyc | Bin 0 -> 18969 bytes .../sanity_pb2_grpc.cpython-310.pyc | Bin 0 -> 9089 bytes artifacts/sanity/requirements.txt | 6 +- 8 files changed, 25923 insertions(+), 3 deletions(-) create mode 100644 artifacts/openapiart_go/go.mod create mode 100644 artifacts/openapiart_go/go.sum create mode 100644 artifacts/openapiart_go/openapiart.go create mode 100644 artifacts/sanity/__pycache__/__init__.cpython-310.pyc create mode 100644 artifacts/sanity/__pycache__/sanity.cpython-310.pyc create mode 100644 artifacts/sanity/__pycache__/sanity_pb2.cpython-310.pyc create mode 100644 artifacts/sanity/__pycache__/sanity_pb2_grpc.cpython-310.pyc diff --git a/artifacts/openapiart_go/go.mod b/artifacts/openapiart_go/go.mod new file mode 100644 index 00000000..bc1502e8 --- /dev/null +++ b/artifacts/openapiart_go/go.mod @@ -0,0 +1,13 @@ +module github.com/open-traffic-generator/openapiart/pkg + +go 1.16 + +require ( + github.com/Masterminds/semver/v3 v3.2.1 + github.com/ghodss/yaml v1.0.0 + github.com/golang/protobuf v1.5.3 + github.com/gorilla/mux v1.8.0 + github.com/stretchr/testify v1.8.4 + google.golang.org/grpc v1.58.0 + google.golang.org/protobuf v1.31.0 +) diff --git a/artifacts/openapiart_go/go.sum b/artifacts/openapiart_go/go.sum new file mode 100644 index 00000000..27a150c1 --- /dev/null +++ b/artifacts/openapiart_go/go.sum @@ -0,0 +1,1763 @@ +cloud.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/Masterminds/semver/v3 v3.2.1 h1:RN9w6+7QoMeJVGyfmbcgs28Br8cvmnucEXnY0rYXWg0= +github.com/Masterminds/semver/v3 v3.2.1/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ= +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/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/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/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 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= +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/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= +github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +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 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +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 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/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= +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/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 h1:cfawfvKITfUsFCeJIHJrbSxpeu/E81khclypR0GVT50= +golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= +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 h1:SqMFp9UcQJZa+pmYuAKjd9xq1f0j5rLcDIk0mj4qAsA= +golang.org/x/sys v0.10.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/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 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4= +golang.org/x/text v0.11.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/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.0 h1:32JY8YpPMSR45K+c3o6b8VL73V+rR8k+DeMIr4vRH8o= +google.golang.org/grpc v1.58.0/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 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/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 h1:fvjTMHxHEw/mxHbtzPi3JCcKXQRAnQTBRo6YCJSVHKI= +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= diff --git a/artifacts/openapiart_go/openapiart.go b/artifacts/openapiart_go/openapiart.go new file mode 100644 index 00000000..492c9096 --- /dev/null +++ b/artifacts/openapiart_go/openapiart.go @@ -0,0 +1,24144 @@ +/* OpenAPIArt Test API 0.0.1 + * Demonstrates the features of the OpenAPIArt package + * License: NO-LICENSE-PRESENT */ + +package openapiart + +import ( + "bytes" + "context" + "crypto/tls" + "fmt" + "io" + "net" + "net/http" + "net/url" + "strings" + + "github.com/ghodss/yaml" + sanity "github.com/open-traffic-generator/openapiart/pkg/sanity" + "google.golang.org/grpc" + "google.golang.org/grpc/credentials/insecure" + "google.golang.org/protobuf/encoding/protojson" + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/types/known/emptypb" +) + +type versionMeta struct { + checkVersion bool + localVersion Version + remoteVersion Version + checkError error +} +type openapiartApi struct { + api + grpcClient sanity.OpenapiClient + httpClient httpClient + versionMeta *versionMeta +} + +// grpcConnect builds up a grpc connection +func (api *openapiartApi) grpcConnect() error { + if api.grpcClient == nil { + if api.grpc.clientConnection == nil { + ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.dialTimeout) + defer cancelFunc() + conn, err := grpc.DialContext(ctx, api.grpc.location, grpc.WithTransportCredentials(insecure.NewCredentials())) + if err != nil { + return err + } + api.grpcClient = sanity.NewOpenapiClient(conn) + api.grpc.clientConnection = conn + } else { + api.grpcClient = sanity.NewOpenapiClient(api.grpc.clientConnection) + } + } + return nil +} + +func (api *openapiartApi) grpcClose() error { + if api.grpc != nil { + if api.grpc.clientConnection != nil { + err := api.grpc.clientConnection.Close() + if err != nil { + return err + } + } + } + api.grpcClient = nil + api.grpc = nil + return nil +} + +func (api *openapiartApi) Close() error { + if api.hasGrpcTransport() { + err := api.grpcClose() + return err + } + if api.hasHttpTransport() { + err := api.http.conn.(*net.TCPConn).SetLinger(0) + api.http.conn.Close() + api.http.conn = nil + api.http = nil + api.httpClient.client = nil + return err + } + return nil +} + +// NewApi returns a new instance of the top level interface hierarchy +func NewApi() OpenapiartApi { + api := openapiartApi{} + api.versionMeta = &versionMeta{checkVersion: false} + return &api +} + +// httpConnect builds up a http connection +func (api *openapiartApi) httpConnect() error { + if api.httpClient.client == nil { + tr := http.Transport{ + DialTLSContext: func(ctx context.Context, network, addr string) (net.Conn, error) { + tcpConn, err := (&net.Dialer{}).DialContext(ctx, network, addr) + if err != nil { + return nil, err + } + tlsConn := tls.Client(tcpConn, &tls.Config{InsecureSkipVerify: !api.http.verify}) + err = tlsConn.Handshake() + if err != nil { + return nil, err + } + api.http.conn = tcpConn + return tlsConn, nil + }, + DialContext: func(ctx context.Context, network, addr string) (net.Conn, error) { + tcpConn, err := (&net.Dialer{}).DialContext(ctx, network, addr) + if err != nil { + return nil, err + } + api.http.conn = tcpConn + return tcpConn, nil + }, + } + client := httpClient{ + client: &http.Client{ + Transport: &tr, + }, + ctx: context.Background(), + } + api.httpClient = client + } + return nil +} + +func (api *openapiartApi) httpSendRecv(urlPath string, jsonBody string, method string) (*http.Response, error) { + err := api.httpConnect() + if err != nil { + return nil, err + } + httpClient := api.httpClient + var bodyReader = bytes.NewReader([]byte(jsonBody)) + queryUrl, err := url.Parse(api.http.location) + if err != nil { + return nil, err + } + queryUrl, _ = queryUrl.Parse(urlPath) + req, _ := http.NewRequest(method, queryUrl.String(), bodyReader) + req.Header.Set("Content-Type", "application/json") + req = req.WithContext(httpClient.ctx) + response, err := httpClient.client.Do(req) + return response, err +} + +// OpenapiartApi demonstrates the features of the OpenAPIArt package +type OpenapiartApi interface { + Api + // PrefixConfig is container which retains the configuration + // NewPrefixConfig returns a new instance of PrefixConfig. + NewPrefixConfig() PrefixConfig + // UpdateConfig is under Review: the whole schema is being reviewed + // + // Object to Test required Parameter + // NewUpdateConfig returns a new instance of UpdateConfig. + NewUpdateConfig() UpdateConfig + // MetricsRequest is description is TBD + // NewMetricsRequest returns a new instance of MetricsRequest. + NewMetricsRequest() MetricsRequest + // ApiTestInputBody is description is TBD + // NewApiTestInputBody returns a new instance of ApiTestInputBody. + NewApiTestInputBody() ApiTestInputBody + // SetConfigResponse is description is TBD + // NewSetConfigResponse returns a new instance of SetConfigResponse. + NewSetConfigResponse() SetConfigResponse + // UpdateConfigurationResponse is description is TBD + // NewUpdateConfigurationResponse returns a new instance of UpdateConfigurationResponse. + NewUpdateConfigurationResponse() UpdateConfigurationResponse + // GetConfigResponse is description is TBD + // NewGetConfigResponse returns a new instance of GetConfigResponse. + NewGetConfigResponse() GetConfigResponse + // GetMetricsResponse is description is TBD + // NewGetMetricsResponse returns a new instance of GetMetricsResponse. + NewGetMetricsResponse() GetMetricsResponse + // GetWarningsResponse is description is TBD + // NewGetWarningsResponse returns a new instance of GetWarningsResponse. + NewGetWarningsResponse() GetWarningsResponse + // ClearWarningsResponse is description is TBD + // NewClearWarningsResponse returns a new instance of ClearWarningsResponse. + NewClearWarningsResponse() ClearWarningsResponse + // GetRootResponseResponse is description is TBD + // NewGetRootResponseResponse returns a new instance of GetRootResponseResponse. + NewGetRootResponseResponse() GetRootResponseResponse + // DummyResponseTestResponse is description is TBD + // NewDummyResponseTestResponse returns a new instance of DummyResponseTestResponse. + NewDummyResponseTestResponse() DummyResponseTestResponse + // PostRootResponseResponse is description is TBD + // NewPostRootResponseResponse returns a new instance of PostRootResponseResponse. + NewPostRootResponseResponse() PostRootResponseResponse + // GetAllItemsResponse is description is TBD + // NewGetAllItemsResponse returns a new instance of GetAllItemsResponse. + NewGetAllItemsResponse() GetAllItemsResponse + // GetSingleItemResponse is description is TBD + // NewGetSingleItemResponse returns a new instance of GetSingleItemResponse. + NewGetSingleItemResponse() GetSingleItemResponse + // GetSingleItemLevel2Response is description is TBD + // NewGetSingleItemLevel2Response returns a new instance of GetSingleItemLevel2Response. + NewGetSingleItemLevel2Response() GetSingleItemLevel2Response + // GetVersionResponse is description is TBD + // NewGetVersionResponse returns a new instance of GetVersionResponse. + NewGetVersionResponse() GetVersionResponse + // SetConfig sets configuration resources. + SetConfig(prefixConfig PrefixConfig) ([]byte, error) + // UpdateConfiguration deprecated: please use post instead + // + // Sets configuration resources. + UpdateConfiguration(updateConfig UpdateConfig) (PrefixConfig, error) + // GetConfig gets the configuration resources. + GetConfig() (PrefixConfig, error) + // GetMetrics gets metrics. + GetMetrics(metricsRequest MetricsRequest) (Metrics, error) + // GetWarnings gets warnings. + GetWarnings() (WarningDetails, error) + // ClearWarnings clears warnings. + ClearWarnings() (*string, error) + // GetRootResponse simple GET api with single return type + GetRootResponse() (CommonResponseSuccess, error) + // DummyResponseTest description is TBD + DummyResponseTest() (*string, error) + // PostRootResponse simple POST api with single return type + PostRootResponse(apiTestInputBody ApiTestInputBody) (CommonResponseSuccess, error) + // GetAllItems return list of some items + GetAllItems() (ServiceAbcItemList, error) + // GetSingleItem return single item + GetSingleItem() (ServiceAbcItem, error) + // GetSingleItemLevel2 return single item + GetSingleItemLevel2() (ServiceAbcItem, error) + // GetVersion description is TBD + GetVersion() (Version, error) + // GetLocalVersion provides version details of local client + GetLocalVersion() Version + // GetRemoteVersion provides version details received from remote server + GetRemoteVersion() (Version, error) + // SetVersionCompatibilityCheck allows enabling or disabling automatic version + // compatibility check between client and server API spec version upon API call + SetVersionCompatibilityCheck(bool) + // CheckVersionCompatibility compares API spec version for local client and remote server, + // and returns an error if they are not compatible according to Semantic Versioning 2.0.0 + CheckVersionCompatibility() error +} + +func (api *openapiartApi) NewPrefixConfig() PrefixConfig { + return NewPrefixConfig() +} + +func (api *openapiartApi) NewUpdateConfig() UpdateConfig { + return NewUpdateConfig() +} + +func (api *openapiartApi) NewMetricsRequest() MetricsRequest { + return NewMetricsRequest() +} + +func (api *openapiartApi) NewApiTestInputBody() ApiTestInputBody { + return NewApiTestInputBody() +} + +func (api *openapiartApi) NewSetConfigResponse() SetConfigResponse { + return NewSetConfigResponse() +} + +func (api *openapiartApi) NewUpdateConfigurationResponse() UpdateConfigurationResponse { + return NewUpdateConfigurationResponse() +} + +func (api *openapiartApi) NewGetConfigResponse() GetConfigResponse { + return NewGetConfigResponse() +} + +func (api *openapiartApi) NewGetMetricsResponse() GetMetricsResponse { + return NewGetMetricsResponse() +} + +func (api *openapiartApi) NewGetWarningsResponse() GetWarningsResponse { + return NewGetWarningsResponse() +} + +func (api *openapiartApi) NewClearWarningsResponse() ClearWarningsResponse { + return NewClearWarningsResponse() +} + +func (api *openapiartApi) NewGetRootResponseResponse() GetRootResponseResponse { + return NewGetRootResponseResponse() +} + +func (api *openapiartApi) NewDummyResponseTestResponse() DummyResponseTestResponse { + return NewDummyResponseTestResponse() +} + +func (api *openapiartApi) NewPostRootResponseResponse() PostRootResponseResponse { + return NewPostRootResponseResponse() +} + +func (api *openapiartApi) NewGetAllItemsResponse() GetAllItemsResponse { + return NewGetAllItemsResponse() +} + +func (api *openapiartApi) NewGetSingleItemResponse() GetSingleItemResponse { + return NewGetSingleItemResponse() +} + +func (api *openapiartApi) NewGetSingleItemLevel2Response() GetSingleItemLevel2Response { + return NewGetSingleItemLevel2Response() +} + +func (api *openapiartApi) NewGetVersionResponse() GetVersionResponse { + return NewGetVersionResponse() +} + +func (api *openapiartApi) GetLocalVersion() Version { + if api.versionMeta.localVersion == nil { + api.versionMeta.localVersion = NewVersion().SetApiSpecVersion("0.0.1").SetSdkVersion("0.0.1") + } + + return api.versionMeta.localVersion +} + +func (api *openapiartApi) GetRemoteVersion() (Version, error) { + if api.versionMeta.remoteVersion == nil { + v, err := api.GetVersion() + if err != nil { + return nil, fmt.Errorf("could not fetch remote version: %v", err) + } + + api.versionMeta.remoteVersion = v + } + + return api.versionMeta.remoteVersion, nil +} + +func (api *openapiartApi) SetVersionCompatibilityCheck(v bool) { + api.versionMeta.checkVersion = v +} + +func (api *openapiartApi) checkLocalRemoteVersionCompatibility() (error, error) { + localVer := api.GetLocalVersion() + remoteVer, err := api.GetRemoteVersion() + if err != nil { + return nil, err + } + err = checkClientServerVersionCompatibility(localVer.ApiSpecVersion(), remoteVer.ApiSpecVersion(), "API spec") + if err != nil { + return fmt.Errorf( + "client SDK version '%s' is not compatible with server SDK version '%s': %v", + localVer.SdkVersion(), remoteVer.SdkVersion(), err, + ), nil + } + + return nil, nil +} + +func (api *openapiartApi) checkLocalRemoteVersionCompatibilityOnce() error { + if !api.versionMeta.checkVersion { + return nil + } + + if api.versionMeta.checkError != nil { + return api.versionMeta.checkError + } + + compatErr, apiErr := api.checkLocalRemoteVersionCompatibility() + if compatErr != nil { + api.versionMeta.checkError = compatErr + return compatErr + } + if apiErr != nil { + api.versionMeta.checkError = nil + return apiErr + } + + api.versionMeta.checkVersion = false + api.versionMeta.checkError = nil + return nil +} + +func (api *openapiartApi) CheckVersionCompatibility() error { + compatErr, apiErr := api.checkLocalRemoteVersionCompatibility() + if compatErr != nil { + return fmt.Errorf("version error: %v", compatErr) + } + if apiErr != nil { + return apiErr + } + + return nil +} + +func (api *openapiartApi) SetConfig(prefixConfig PrefixConfig) ([]byte, error) { + + if err := prefixConfig.Validate(); err != nil { + return nil, err + } + + if err := api.checkLocalRemoteVersionCompatibilityOnce(); err != nil { + return nil, err + } + if api.hasHttpTransport() { + return api.httpSetConfig(prefixConfig) + } + if err := api.grpcConnect(); err != nil { + return nil, err + } + request := sanity.SetConfigRequest{PrefixConfig: prefixConfig.Msg()} + ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) + defer cancelFunc() + resp, err := api.grpcClient.SetConfig(ctx, &request) + if err != nil { + if er, ok := api.fromGrpcError(err); ok { + return nil, er + } + return nil, err + } + if resp.ResponseBytes != nil { + return resp.ResponseBytes, nil + } + return nil, nil +} + +func (api *openapiartApi) UpdateConfiguration(updateConfig UpdateConfig) (PrefixConfig, error) { + api.addWarnings("UpdateConfiguration api is deprecated, please use post instead") + + if err := updateConfig.Validate(); err != nil { + return nil, err + } + + if err := api.checkLocalRemoteVersionCompatibilityOnce(); err != nil { + return nil, err + } + if api.hasHttpTransport() { + return api.httpUpdateConfiguration(updateConfig) + } + if err := api.grpcConnect(); err != nil { + return nil, err + } + request := sanity.UpdateConfigurationRequest{UpdateConfig: updateConfig.Msg()} + ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) + defer cancelFunc() + resp, err := api.grpcClient.UpdateConfiguration(ctx, &request) + if err != nil { + if er, ok := api.fromGrpcError(err); ok { + return nil, er + } + return nil, err + } + ret := NewPrefixConfig() + if resp.GetPrefixConfig() != nil { + return ret.SetMsg(resp.GetPrefixConfig()), nil + } + + return ret, nil +} + +func (api *openapiartApi) GetConfig() (PrefixConfig, error) { + + if err := api.checkLocalRemoteVersionCompatibilityOnce(); err != nil { + return nil, err + } + if api.hasHttpTransport() { + return api.httpGetConfig() + } + if err := api.grpcConnect(); err != nil { + return nil, err + } + request := emptypb.Empty{} + ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) + defer cancelFunc() + resp, err := api.grpcClient.GetConfig(ctx, &request) + if err != nil { + if er, ok := api.fromGrpcError(err); ok { + return nil, er + } + return nil, err + } + ret := NewPrefixConfig() + if resp.GetPrefixConfig() != nil { + return ret.SetMsg(resp.GetPrefixConfig()), nil + } + + return ret, nil +} + +func (api *openapiartApi) GetMetrics(metricsRequest MetricsRequest) (Metrics, error) { + + if err := metricsRequest.Validate(); err != nil { + return nil, err + } + + if err := api.checkLocalRemoteVersionCompatibilityOnce(); err != nil { + return nil, err + } + if api.hasHttpTransport() { + return api.httpGetMetrics(metricsRequest) + } + if err := api.grpcConnect(); err != nil { + return nil, err + } + request := sanity.GetMetricsRequest{MetricsRequest: metricsRequest.Msg()} + ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) + defer cancelFunc() + resp, err := api.grpcClient.GetMetrics(ctx, &request) + if err != nil { + if er, ok := api.fromGrpcError(err); ok { + return nil, er + } + return nil, err + } + ret := NewMetrics() + if resp.GetMetrics() != nil { + return ret.SetMsg(resp.GetMetrics()), nil + } + + return ret, nil +} + +func (api *openapiartApi) GetWarnings() (WarningDetails, error) { + + if err := api.checkLocalRemoteVersionCompatibilityOnce(); err != nil { + return nil, err + } + if api.hasHttpTransport() { + return api.httpGetWarnings() + } + if err := api.grpcConnect(); err != nil { + return nil, err + } + request := emptypb.Empty{} + ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) + defer cancelFunc() + resp, err := api.grpcClient.GetWarnings(ctx, &request) + if err != nil { + if er, ok := api.fromGrpcError(err); ok { + return nil, er + } + return nil, err + } + ret := NewWarningDetails() + if resp.GetWarningDetails() != nil { + return ret.SetMsg(resp.GetWarningDetails()), nil + } + + return ret, nil +} + +func (api *openapiartApi) ClearWarnings() (*string, error) { + + if err := api.checkLocalRemoteVersionCompatibilityOnce(); err != nil { + return nil, err + } + if api.hasHttpTransport() { + return api.httpClearWarnings() + } + if err := api.grpcConnect(); err != nil { + return nil, err + } + request := emptypb.Empty{} + ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) + defer cancelFunc() + resp, err := api.grpcClient.ClearWarnings(ctx, &request) + if err != nil { + if er, ok := api.fromGrpcError(err); ok { + return nil, er + } + return nil, err + } + if resp.GetString_() != "" { + status_code_value := resp.GetString_() + return &status_code_value, nil + } + return nil, nil +} + +func (api *openapiartApi) GetRootResponse() (CommonResponseSuccess, error) { + + if err := api.checkLocalRemoteVersionCompatibilityOnce(); err != nil { + return nil, err + } + if api.hasHttpTransport() { + return api.httpGetRootResponse() + } + if err := api.grpcConnect(); err != nil { + return nil, err + } + request := emptypb.Empty{} + ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) + defer cancelFunc() + resp, err := api.grpcClient.GetRootResponse(ctx, &request) + if err != nil { + if er, ok := api.fromGrpcError(err); ok { + return nil, er + } + return nil, err + } + ret := NewCommonResponseSuccess() + if resp.GetCommonResponseSuccess() != nil { + return ret.SetMsg(resp.GetCommonResponseSuccess()), nil + } + + return ret, nil +} + +func (api *openapiartApi) DummyResponseTest() (*string, error) { + + if err := api.checkLocalRemoteVersionCompatibilityOnce(); err != nil { + return nil, err + } + if api.hasHttpTransport() { + return api.httpDummyResponseTest() + } + if err := api.grpcConnect(); err != nil { + return nil, err + } + request := emptypb.Empty{} + ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) + defer cancelFunc() + resp, err := api.grpcClient.DummyResponseTest(ctx, &request) + if err != nil { + if er, ok := api.fromGrpcError(err); ok { + return nil, er + } + return nil, err + } + if resp.GetString_() != "" { + status_code_value := resp.GetString_() + return &status_code_value, nil + } + return nil, nil +} + +func (api *openapiartApi) PostRootResponse(apiTestInputBody ApiTestInputBody) (CommonResponseSuccess, error) { + + if err := apiTestInputBody.Validate(); err != nil { + return nil, err + } + + if err := api.checkLocalRemoteVersionCompatibilityOnce(); err != nil { + return nil, err + } + if api.hasHttpTransport() { + return api.httpPostRootResponse(apiTestInputBody) + } + if err := api.grpcConnect(); err != nil { + return nil, err + } + request := sanity.PostRootResponseRequest{ApiTestInputBody: apiTestInputBody.Msg()} + ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) + defer cancelFunc() + resp, err := api.grpcClient.PostRootResponse(ctx, &request) + if err != nil { + if er, ok := api.fromGrpcError(err); ok { + return nil, er + } + return nil, err + } + ret := NewCommonResponseSuccess() + if resp.GetCommonResponseSuccess() != nil { + return ret.SetMsg(resp.GetCommonResponseSuccess()), nil + } + + return ret, nil +} + +func (api *openapiartApi) GetAllItems() (ServiceAbcItemList, error) { + + if err := api.checkLocalRemoteVersionCompatibilityOnce(); err != nil { + return nil, err + } + if api.hasHttpTransport() { + return api.httpGetAllItems() + } + if err := api.grpcConnect(); err != nil { + return nil, err + } + request := emptypb.Empty{} + ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) + defer cancelFunc() + resp, err := api.grpcClient.GetAllItems(ctx, &request) + if err != nil { + if er, ok := api.fromGrpcError(err); ok { + return nil, er + } + return nil, err + } + ret := NewServiceAbcItemList() + if resp.GetServiceAbcItemList() != nil { + return ret.SetMsg(resp.GetServiceAbcItemList()), nil + } + + return ret, nil +} + +func (api *openapiartApi) GetSingleItem() (ServiceAbcItem, error) { + + if err := api.checkLocalRemoteVersionCompatibilityOnce(); err != nil { + return nil, err + } + if api.hasHttpTransport() { + return api.httpGetSingleItem() + } + if err := api.grpcConnect(); err != nil { + return nil, err + } + request := emptypb.Empty{} + ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) + defer cancelFunc() + resp, err := api.grpcClient.GetSingleItem(ctx, &request) + if err != nil { + if er, ok := api.fromGrpcError(err); ok { + return nil, er + } + return nil, err + } + ret := NewServiceAbcItem() + if resp.GetServiceAbcItem() != nil { + return ret.SetMsg(resp.GetServiceAbcItem()), nil + } + + return ret, nil +} + +func (api *openapiartApi) GetSingleItemLevel2() (ServiceAbcItem, error) { + + if err := api.checkLocalRemoteVersionCompatibilityOnce(); err != nil { + return nil, err + } + if api.hasHttpTransport() { + return api.httpGetSingleItemLevel2() + } + if err := api.grpcConnect(); err != nil { + return nil, err + } + request := emptypb.Empty{} + ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) + defer cancelFunc() + resp, err := api.grpcClient.GetSingleItemLevel2(ctx, &request) + if err != nil { + if er, ok := api.fromGrpcError(err); ok { + return nil, er + } + return nil, err + } + ret := NewServiceAbcItem() + if resp.GetServiceAbcItem() != nil { + return ret.SetMsg(resp.GetServiceAbcItem()), nil + } + + return ret, nil +} + +func (api *openapiartApi) GetVersion() (Version, error) { + + if api.hasHttpTransport() { + return api.httpGetVersion() + } + if err := api.grpcConnect(); err != nil { + return nil, err + } + request := emptypb.Empty{} + ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) + defer cancelFunc() + resp, err := api.grpcClient.GetVersion(ctx, &request) + if err != nil { + if er, ok := api.fromGrpcError(err); ok { + return nil, er + } + return nil, err + } + ret := NewVersion() + if resp.GetVersion() != nil { + return ret.SetMsg(resp.GetVersion()), nil + } + + return ret, nil +} + +func (api *openapiartApi) httpSetConfig(prefixConfig PrefixConfig) ([]byte, error) { + prefixConfigJson, err := prefixConfig.ToJson() + if err != nil { + return nil, err + } + resp, err := api.httpSendRecv("api/config", prefixConfigJson, "POST") + + if err != nil { + return nil, err + } + bodyBytes, err := io.ReadAll(resp.Body) + defer resp.Body.Close() + if err != nil { + return nil, err + } + if resp.StatusCode == 200 { + return bodyBytes, nil + } else { + return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + } +} + +func (api *openapiartApi) httpUpdateConfiguration(updateConfig UpdateConfig) (PrefixConfig, error) { + updateConfigJson, err := updateConfig.ToJson() + if err != nil { + return nil, err + } + resp, err := api.httpSendRecv("api/config", updateConfigJson, "PATCH") + + if err != nil { + return nil, err + } + bodyBytes, err := io.ReadAll(resp.Body) + defer resp.Body.Close() + if err != nil { + return nil, err + } + if resp.StatusCode == 200 { + obj := api.NewUpdateConfigurationResponse().PrefixConfig() + if err := obj.FromJson(string(bodyBytes)); err != nil { + return nil, err + } + return obj, nil + } else { + return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + } +} + +func (api *openapiartApi) httpGetConfig() (PrefixConfig, error) { + resp, err := api.httpSendRecv("api/config", "", "GET") + if err != nil { + return nil, err + } + bodyBytes, err := io.ReadAll(resp.Body) + defer resp.Body.Close() + if err != nil { + return nil, err + } + if resp.StatusCode == 200 { + obj := api.NewGetConfigResponse().PrefixConfig() + if err := obj.FromJson(string(bodyBytes)); err != nil { + return nil, err + } + return obj, nil + } else { + return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + } +} + +func (api *openapiartApi) httpGetMetrics(metricsRequest MetricsRequest) (Metrics, error) { + metricsRequestJson, err := metricsRequest.ToJson() + if err != nil { + return nil, err + } + resp, err := api.httpSendRecv("api/metrics", metricsRequestJson, "GET") + + if err != nil { + return nil, err + } + bodyBytes, err := io.ReadAll(resp.Body) + defer resp.Body.Close() + if err != nil { + return nil, err + } + if resp.StatusCode == 200 { + obj := api.NewGetMetricsResponse().Metrics() + if err := obj.FromJson(string(bodyBytes)); err != nil { + return nil, err + } + return obj, nil + } else { + return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + } +} + +func (api *openapiartApi) httpGetWarnings() (WarningDetails, error) { + resp, err := api.httpSendRecv("api/warnings", "", "GET") + if err != nil { + return nil, err + } + bodyBytes, err := io.ReadAll(resp.Body) + defer resp.Body.Close() + if err != nil { + return nil, err + } + if resp.StatusCode == 200 { + obj := api.NewGetWarningsResponse().WarningDetails() + if err := obj.FromJson(string(bodyBytes)); err != nil { + return nil, err + } + return obj, nil + } else { + return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + } +} + +func (api *openapiartApi) httpClearWarnings() (*string, error) { + resp, err := api.httpSendRecv("api/warnings", "", "DELETE") + if err != nil { + return nil, err + } + bodyBytes, err := io.ReadAll(resp.Body) + defer resp.Body.Close() + if err != nil { + return nil, err + } + if resp.StatusCode == 200 { + bodyString := string(bodyBytes) + return &bodyString, nil + } else { + return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + } +} + +func (api *openapiartApi) httpGetRootResponse() (CommonResponseSuccess, error) { + resp, err := api.httpSendRecv("api/apitest", "", "GET") + if err != nil { + return nil, err + } + bodyBytes, err := io.ReadAll(resp.Body) + defer resp.Body.Close() + if err != nil { + return nil, err + } + if resp.StatusCode == 200 { + obj := api.NewGetRootResponseResponse().CommonResponseSuccess() + if err := obj.FromJson(string(bodyBytes)); err != nil { + return nil, err + } + return obj, nil + } else { + return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + } +} + +func (api *openapiartApi) httpDummyResponseTest() (*string, error) { + resp, err := api.httpSendRecv("api/apitest", "", "DELETE") + if err != nil { + return nil, err + } + bodyBytes, err := io.ReadAll(resp.Body) + defer resp.Body.Close() + if err != nil { + return nil, err + } + if resp.StatusCode == 200 { + bodyString := string(bodyBytes) + return &bodyString, nil + } else { + return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + } +} + +func (api *openapiartApi) httpPostRootResponse(apiTestInputBody ApiTestInputBody) (CommonResponseSuccess, error) { + apiTestInputBodyJson, err := apiTestInputBody.ToJson() + if err != nil { + return nil, err + } + resp, err := api.httpSendRecv("api/apitest", apiTestInputBodyJson, "POST") + + if err != nil { + return nil, err + } + bodyBytes, err := io.ReadAll(resp.Body) + defer resp.Body.Close() + if err != nil { + return nil, err + } + if resp.StatusCode == 200 { + obj := api.NewPostRootResponseResponse().CommonResponseSuccess() + if err := obj.FromJson(string(bodyBytes)); err != nil { + return nil, err + } + return obj, nil + } else { + return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + } +} + +func (api *openapiartApi) httpGetAllItems() (ServiceAbcItemList, error) { + resp, err := api.httpSendRecv("api/serviceb", "", "GET") + if err != nil { + return nil, err + } + bodyBytes, err := io.ReadAll(resp.Body) + defer resp.Body.Close() + if err != nil { + return nil, err + } + if resp.StatusCode == 200 { + obj := api.NewGetAllItemsResponse().ServiceAbcItemList() + if err := obj.FromJson(string(bodyBytes)); err != nil { + return nil, err + } + return obj, nil + } else { + return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + } +} + +func (api *openapiartApi) httpGetSingleItem() (ServiceAbcItem, error) { + resp, err := api.httpSendRecv("api/serviceb/{item_id}", "", "GET") + if err != nil { + return nil, err + } + bodyBytes, err := io.ReadAll(resp.Body) + defer resp.Body.Close() + if err != nil { + return nil, err + } + if resp.StatusCode == 200 { + obj := api.NewGetSingleItemResponse().ServiceAbcItem() + if err := obj.FromJson(string(bodyBytes)); err != nil { + return nil, err + } + return obj, nil + } else { + return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + } +} + +func (api *openapiartApi) httpGetSingleItemLevel2() (ServiceAbcItem, error) { + resp, err := api.httpSendRecv("api/serviceb/{item_id}/{level_2}", "", "GET") + if err != nil { + return nil, err + } + bodyBytes, err := io.ReadAll(resp.Body) + defer resp.Body.Close() + if err != nil { + return nil, err + } + if resp.StatusCode == 200 { + obj := api.NewGetSingleItemLevel2Response().ServiceAbcItem() + if err := obj.FromJson(string(bodyBytes)); err != nil { + return nil, err + } + return obj, nil + } else { + return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + } +} + +func (api *openapiartApi) httpGetVersion() (Version, error) { + resp, err := api.httpSendRecv("api/capabilities/version", "", "GET") + if err != nil { + return nil, err + } + bodyBytes, err := io.ReadAll(resp.Body) + defer resp.Body.Close() + if err != nil { + return nil, err + } + if resp.StatusCode == 200 { + obj := api.NewGetVersionResponse().Version() + if err := obj.FromJson(string(bodyBytes)); err != nil { + return nil, err + } + return obj, nil + } else { + return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + } +} + +// ***** PrefixConfig ***** +type prefixConfig struct { + validation + obj *sanity.PrefixConfig + requiredObjectHolder EObject + optionalObjectHolder EObject + eHolder EObject + fHolder FObject + gHolder PrefixConfigGObjectIter + jHolder PrefixConfigJObjectIter + kHolder KObject + lHolder LObject + levelHolder LevelOne + mandatoryHolder Mandate + ipv4PatternHolder Ipv4Pattern + ipv6PatternHolder Ipv6Pattern + macPatternHolder MacPattern + integerPatternHolder IntegerPattern + checksumPatternHolder ChecksumPattern + caseHolder Layer1Ieee802X + mObjectHolder MObject + headerChecksumHolder PatternPrefixConfigHeaderChecksum + autoFieldTestHolder PatternPrefixConfigAutoFieldTest + wListHolder PrefixConfigWObjectIter + xListHolder PrefixConfigZObjectIter + zObjectHolder ZObject + yObjectHolder YObject + choiceObjectHolder PrefixConfigChoiceObjectIter + requiredChoiceObjectHolder RequiredChoiceParent + g1Holder PrefixConfigGObjectIter + g2Holder PrefixConfigGObjectIter +} + +func NewPrefixConfig() PrefixConfig { + obj := prefixConfig{obj: &sanity.PrefixConfig{}} + obj.setDefault() + return &obj +} + +func (obj *prefixConfig) Msg() *sanity.PrefixConfig { + return obj.obj +} + +func (obj *prefixConfig) SetMsg(msg *sanity.PrefixConfig) PrefixConfig { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *prefixConfig) ToProto() (*sanity.PrefixConfig, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *prefixConfig) FromProto(msg *sanity.PrefixConfig) (PrefixConfig, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *prefixConfig) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *prefixConfig) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *prefixConfig) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *prefixConfig) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *prefixConfig) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *prefixConfig) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *prefixConfig) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *prefixConfig) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *prefixConfig) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *prefixConfig) Clone() (PrefixConfig, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewPrefixConfig() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *prefixConfig) setNil() { + obj.requiredObjectHolder = nil + obj.optionalObjectHolder = nil + obj.eHolder = nil + obj.fHolder = nil + obj.gHolder = nil + obj.jHolder = nil + obj.kHolder = nil + obj.lHolder = nil + obj.levelHolder = nil + obj.mandatoryHolder = nil + obj.ipv4PatternHolder = nil + obj.ipv6PatternHolder = nil + obj.macPatternHolder = nil + obj.integerPatternHolder = nil + obj.checksumPatternHolder = nil + obj.caseHolder = nil + obj.mObjectHolder = nil + obj.headerChecksumHolder = nil + obj.autoFieldTestHolder = nil + obj.wListHolder = nil + obj.xListHolder = nil + obj.zObjectHolder = nil + obj.yObjectHolder = nil + obj.choiceObjectHolder = nil + obj.requiredChoiceObjectHolder = nil + obj.g1Holder = nil + obj.g2Holder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// PrefixConfig is container which retains the configuration +type PrefixConfig interface { + Validation + // Msg marshals PrefixConfig to protobuf object *sanity.PrefixConfig + // and doesn't set defaults + Msg() *sanity.PrefixConfig + // SetMsg unmarshals PrefixConfig from protobuf object *sanity.PrefixConfig + // and doesn't set defaults + SetMsg(*sanity.PrefixConfig) PrefixConfig + // ToProto marshals PrefixConfig to protobuf object *sanity.PrefixConfig + ToProto() (*sanity.PrefixConfig, error) + // ToPbText marshals PrefixConfig to protobuf text + ToPbText() (string, error) + // ToYaml marshals PrefixConfig to YAML text + ToYaml() (string, error) + // ToJson marshals PrefixConfig to JSON text + ToJson() (string, error) + // FromProto unmarshals PrefixConfig from protobuf object *sanity.PrefixConfig + FromProto(msg *sanity.PrefixConfig) (PrefixConfig, error) + // FromPbText unmarshals PrefixConfig from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PrefixConfig from YAML text + FromYaml(value string) error + // FromJson unmarshals PrefixConfig from JSON text + FromJson(value string) error + // Validate validates PrefixConfig + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (PrefixConfig, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // RequiredObject returns EObject, set in PrefixConfig. + // EObject is description is TBD + RequiredObject() EObject + // SetRequiredObject assigns EObject provided by user to PrefixConfig. + // EObject is description is TBD + SetRequiredObject(value EObject) PrefixConfig + // OptionalObject returns EObject, set in PrefixConfig. + // EObject is description is TBD + OptionalObject() EObject + // SetOptionalObject assigns EObject provided by user to PrefixConfig. + // EObject is description is TBD + SetOptionalObject(value EObject) PrefixConfig + // HasOptionalObject checks if OptionalObject has been set in PrefixConfig + HasOptionalObject() bool + // Ieee8021Qbb returns bool, set in PrefixConfig. + Ieee8021Qbb() bool + // SetIeee8021Qbb assigns bool provided by user to PrefixConfig + SetIeee8021Qbb(value bool) PrefixConfig + // HasIeee8021Qbb checks if Ieee8021Qbb has been set in PrefixConfig + HasIeee8021Qbb() bool + // Space1 returns int32, set in PrefixConfig. + Space1() int32 + // SetSpace1 assigns int32 provided by user to PrefixConfig + SetSpace1(value int32) PrefixConfig + // HasSpace1 checks if Space1 has been set in PrefixConfig + HasSpace1() bool + // FullDuplex100Mb returns int64, set in PrefixConfig. + FullDuplex100Mb() int64 + // SetFullDuplex100Mb assigns int64 provided by user to PrefixConfig + SetFullDuplex100Mb(value int64) PrefixConfig + // HasFullDuplex100Mb checks if FullDuplex100Mb has been set in PrefixConfig + HasFullDuplex100Mb() bool + // Response returns PrefixConfigResponseEnum, set in PrefixConfig + Response() PrefixConfigResponseEnum + // SetResponse assigns PrefixConfigResponseEnum provided by user to PrefixConfig + SetResponse(value PrefixConfigResponseEnum) PrefixConfig + // HasResponse checks if Response has been set in PrefixConfig + HasResponse() bool + // A returns string, set in PrefixConfig. + A() string + // SetA assigns string provided by user to PrefixConfig + SetA(value string) PrefixConfig + // B returns float32, set in PrefixConfig. + B() float32 + // SetB assigns float32 provided by user to PrefixConfig + SetB(value float32) PrefixConfig + // C returns int32, set in PrefixConfig. + C() int32 + // SetC assigns int32 provided by user to PrefixConfig + SetC(value int32) PrefixConfig + // DValues returns []PrefixConfigDValuesEnum, set in PrefixConfig + DValues() []PrefixConfigDValuesEnum + // SetDValues assigns []PrefixConfigDValuesEnum provided by user to PrefixConfig + SetDValues(value []PrefixConfigDValuesEnum) PrefixConfig + // E returns EObject, set in PrefixConfig. + // EObject is description is TBD + E() EObject + // SetE assigns EObject provided by user to PrefixConfig. + // EObject is description is TBD + SetE(value EObject) PrefixConfig + // HasE checks if E has been set in PrefixConfig + HasE() bool + // F returns FObject, set in PrefixConfig. + // FObject is description is TBD + F() FObject + // SetF assigns FObject provided by user to PrefixConfig. + // FObject is description is TBD + SetF(value FObject) PrefixConfig + // HasF checks if F has been set in PrefixConfig + HasF() bool + // G returns PrefixConfigGObjectIterIter, set in PrefixConfig + G() PrefixConfigGObjectIter + // H returns bool, set in PrefixConfig. + H() bool + // SetH assigns bool provided by user to PrefixConfig + SetH(value bool) PrefixConfig + // HasH checks if H has been set in PrefixConfig + HasH() bool + // I returns []byte, set in PrefixConfig. + I() []byte + // SetI assigns []byte provided by user to PrefixConfig + SetI(value []byte) PrefixConfig + // J returns PrefixConfigJObjectIterIter, set in PrefixConfig + J() PrefixConfigJObjectIter + // K returns KObject, set in PrefixConfig. + // KObject is description is TBD + K() KObject + // SetK assigns KObject provided by user to PrefixConfig. + // KObject is description is TBD + SetK(value KObject) PrefixConfig + // HasK checks if K has been set in PrefixConfig + HasK() bool + // L returns LObject, set in PrefixConfig. + // LObject is format validation object + L() LObject + // SetL assigns LObject provided by user to PrefixConfig. + // LObject is format validation object + SetL(value LObject) PrefixConfig + // HasL checks if L has been set in PrefixConfig + HasL() bool + // ListOfStringValues returns []string, set in PrefixConfig. + ListOfStringValues() []string + // SetListOfStringValues assigns []string provided by user to PrefixConfig + SetListOfStringValues(value []string) PrefixConfig + // ListOfIntegerValues returns []int32, set in PrefixConfig. + ListOfIntegerValues() []int32 + // SetListOfIntegerValues assigns []int32 provided by user to PrefixConfig + SetListOfIntegerValues(value []int32) PrefixConfig + // Level returns LevelOne, set in PrefixConfig. + // LevelOne is to Test Multi level non-primitive types + Level() LevelOne + // SetLevel assigns LevelOne provided by user to PrefixConfig. + // LevelOne is to Test Multi level non-primitive types + SetLevel(value LevelOne) PrefixConfig + // HasLevel checks if Level has been set in PrefixConfig + HasLevel() bool + // Mandatory returns Mandate, set in PrefixConfig. + // Mandate is object to Test required Parameter + Mandatory() Mandate + // SetMandatory assigns Mandate provided by user to PrefixConfig. + // Mandate is object to Test required Parameter + SetMandatory(value Mandate) PrefixConfig + // HasMandatory checks if Mandatory has been set in PrefixConfig + HasMandatory() bool + // Ipv4Pattern returns Ipv4Pattern, set in PrefixConfig. + // Ipv4Pattern is test ipv4 pattern + Ipv4Pattern() Ipv4Pattern + // SetIpv4Pattern assigns Ipv4Pattern provided by user to PrefixConfig. + // Ipv4Pattern is test ipv4 pattern + SetIpv4Pattern(value Ipv4Pattern) PrefixConfig + // HasIpv4Pattern checks if Ipv4Pattern has been set in PrefixConfig + HasIpv4Pattern() bool + // Ipv6Pattern returns Ipv6Pattern, set in PrefixConfig. + // Ipv6Pattern is test ipv6 pattern + Ipv6Pattern() Ipv6Pattern + // SetIpv6Pattern assigns Ipv6Pattern provided by user to PrefixConfig. + // Ipv6Pattern is test ipv6 pattern + SetIpv6Pattern(value Ipv6Pattern) PrefixConfig + // HasIpv6Pattern checks if Ipv6Pattern has been set in PrefixConfig + HasIpv6Pattern() bool + // MacPattern returns MacPattern, set in PrefixConfig. + // MacPattern is test mac pattern + MacPattern() MacPattern + // SetMacPattern assigns MacPattern provided by user to PrefixConfig. + // MacPattern is test mac pattern + SetMacPattern(value MacPattern) PrefixConfig + // HasMacPattern checks if MacPattern has been set in PrefixConfig + HasMacPattern() bool + // IntegerPattern returns IntegerPattern, set in PrefixConfig. + // IntegerPattern is test integer pattern + IntegerPattern() IntegerPattern + // SetIntegerPattern assigns IntegerPattern provided by user to PrefixConfig. + // IntegerPattern is test integer pattern + SetIntegerPattern(value IntegerPattern) PrefixConfig + // HasIntegerPattern checks if IntegerPattern has been set in PrefixConfig + HasIntegerPattern() bool + // ChecksumPattern returns ChecksumPattern, set in PrefixConfig. + // ChecksumPattern is test checksum pattern + ChecksumPattern() ChecksumPattern + // SetChecksumPattern assigns ChecksumPattern provided by user to PrefixConfig. + // ChecksumPattern is test checksum pattern + SetChecksumPattern(value ChecksumPattern) PrefixConfig + // HasChecksumPattern checks if ChecksumPattern has been set in PrefixConfig + HasChecksumPattern() bool + // Case returns Layer1Ieee802X, set in PrefixConfig. + Case() Layer1Ieee802X + // SetCase assigns Layer1Ieee802X provided by user to PrefixConfig. + SetCase(value Layer1Ieee802X) PrefixConfig + // HasCase checks if Case has been set in PrefixConfig + HasCase() bool + // MObject returns MObject, set in PrefixConfig. + // MObject is required format validation object + MObject() MObject + // SetMObject assigns MObject provided by user to PrefixConfig. + // MObject is required format validation object + SetMObject(value MObject) PrefixConfig + // HasMObject checks if MObject has been set in PrefixConfig + HasMObject() bool + // Integer64 returns int64, set in PrefixConfig. + Integer64() int64 + // SetInteger64 assigns int64 provided by user to PrefixConfig + SetInteger64(value int64) PrefixConfig + // HasInteger64 checks if Integer64 has been set in PrefixConfig + HasInteger64() bool + // Integer64List returns []int64, set in PrefixConfig. + Integer64List() []int64 + // SetInteger64List assigns []int64 provided by user to PrefixConfig + SetInteger64List(value []int64) PrefixConfig + // HeaderChecksum returns PatternPrefixConfigHeaderChecksum, set in PrefixConfig. + // PatternPrefixConfigHeaderChecksum is header checksum + HeaderChecksum() PatternPrefixConfigHeaderChecksum + // SetHeaderChecksum assigns PatternPrefixConfigHeaderChecksum provided by user to PrefixConfig. + // PatternPrefixConfigHeaderChecksum is header checksum + SetHeaderChecksum(value PatternPrefixConfigHeaderChecksum) PrefixConfig + // HasHeaderChecksum checks if HeaderChecksum has been set in PrefixConfig + HasHeaderChecksum() bool + // StrLen returns string, set in PrefixConfig. + StrLen() string + // SetStrLen assigns string provided by user to PrefixConfig + SetStrLen(value string) PrefixConfig + // HasStrLen checks if StrLen has been set in PrefixConfig + HasStrLen() bool + // HexSlice returns []string, set in PrefixConfig. + HexSlice() []string + // SetHexSlice assigns []string provided by user to PrefixConfig + SetHexSlice(value []string) PrefixConfig + // AutoFieldTest returns PatternPrefixConfigAutoFieldTest, set in PrefixConfig. + // PatternPrefixConfigAutoFieldTest is tBD + AutoFieldTest() PatternPrefixConfigAutoFieldTest + // SetAutoFieldTest assigns PatternPrefixConfigAutoFieldTest provided by user to PrefixConfig. + // PatternPrefixConfigAutoFieldTest is tBD + SetAutoFieldTest(value PatternPrefixConfigAutoFieldTest) PrefixConfig + // HasAutoFieldTest checks if AutoFieldTest has been set in PrefixConfig + HasAutoFieldTest() bool + // Name returns string, set in PrefixConfig. + Name() string + // SetName assigns string provided by user to PrefixConfig + SetName(value string) PrefixConfig + // HasName checks if Name has been set in PrefixConfig + HasName() bool + // WList returns PrefixConfigWObjectIterIter, set in PrefixConfig + WList() PrefixConfigWObjectIter + // XList returns PrefixConfigZObjectIterIter, set in PrefixConfig + XList() PrefixConfigZObjectIter + // ZObject returns ZObject, set in PrefixConfig. + // ZObject is description is TBD + ZObject() ZObject + // SetZObject assigns ZObject provided by user to PrefixConfig. + // ZObject is description is TBD + SetZObject(value ZObject) PrefixConfig + // HasZObject checks if ZObject has been set in PrefixConfig + HasZObject() bool + // YObject returns YObject, set in PrefixConfig. + // YObject is description is TBD + YObject() YObject + // SetYObject assigns YObject provided by user to PrefixConfig. + // YObject is description is TBD + SetYObject(value YObject) PrefixConfig + // HasYObject checks if YObject has been set in PrefixConfig + HasYObject() bool + // ChoiceObject returns PrefixConfigChoiceObjectIterIter, set in PrefixConfig + ChoiceObject() PrefixConfigChoiceObjectIter + // RequiredChoiceObject returns RequiredChoiceParent, set in PrefixConfig. + // RequiredChoiceParent is description is TBD + RequiredChoiceObject() RequiredChoiceParent + // SetRequiredChoiceObject assigns RequiredChoiceParent provided by user to PrefixConfig. + // RequiredChoiceParent is description is TBD + SetRequiredChoiceObject(value RequiredChoiceParent) PrefixConfig + // HasRequiredChoiceObject checks if RequiredChoiceObject has been set in PrefixConfig + HasRequiredChoiceObject() bool + // G1 returns PrefixConfigGObjectIterIter, set in PrefixConfig + G1() PrefixConfigGObjectIter + // G2 returns PrefixConfigGObjectIterIter, set in PrefixConfig + G2() PrefixConfigGObjectIter + // Int32Param returns int32, set in PrefixConfig. + Int32Param() int32 + // SetInt32Param assigns int32 provided by user to PrefixConfig + SetInt32Param(value int32) PrefixConfig + // HasInt32Param checks if Int32Param has been set in PrefixConfig + HasInt32Param() bool + // Int32ListParam returns []int32, set in PrefixConfig. + Int32ListParam() []int32 + // SetInt32ListParam assigns []int32 provided by user to PrefixConfig + SetInt32ListParam(value []int32) PrefixConfig + // Uint32Param returns uint32, set in PrefixConfig. + Uint32Param() uint32 + // SetUint32Param assigns uint32 provided by user to PrefixConfig + SetUint32Param(value uint32) PrefixConfig + // HasUint32Param checks if Uint32Param has been set in PrefixConfig + HasUint32Param() bool + // Uint32ListParam returns []uint32, set in PrefixConfig. + Uint32ListParam() []uint32 + // SetUint32ListParam assigns []uint32 provided by user to PrefixConfig + SetUint32ListParam(value []uint32) PrefixConfig + // Uint64Param returns uint64, set in PrefixConfig. + Uint64Param() uint64 + // SetUint64Param assigns uint64 provided by user to PrefixConfig + SetUint64Param(value uint64) PrefixConfig + // HasUint64Param checks if Uint64Param has been set in PrefixConfig + HasUint64Param() bool + // Uint64ListParam returns []uint64, set in PrefixConfig. + Uint64ListParam() []uint64 + // SetUint64ListParam assigns []uint64 provided by user to PrefixConfig + SetUint64ListParam(value []uint64) PrefixConfig + // AutoInt32Param returns int32, set in PrefixConfig. + AutoInt32Param() int32 + // SetAutoInt32Param assigns int32 provided by user to PrefixConfig + SetAutoInt32Param(value int32) PrefixConfig + // HasAutoInt32Param checks if AutoInt32Param has been set in PrefixConfig + HasAutoInt32Param() bool + // AutoInt32ListParam returns []int32, set in PrefixConfig. + AutoInt32ListParam() []int32 + // SetAutoInt32ListParam assigns []int32 provided by user to PrefixConfig + SetAutoInt32ListParam(value []int32) PrefixConfig + setNil() +} + +// A required object that MUST be generated as such. +// RequiredObject returns a EObject +func (obj *prefixConfig) RequiredObject() EObject { + if obj.obj.RequiredObject == nil { + obj.obj.RequiredObject = NewEObject().Msg() + } + if obj.requiredObjectHolder == nil { + obj.requiredObjectHolder = &eObject{obj: obj.obj.RequiredObject} + } + return obj.requiredObjectHolder +} + +// A required object that MUST be generated as such. +// SetRequiredObject sets the EObject value in the PrefixConfig object +func (obj *prefixConfig) SetRequiredObject(value EObject) PrefixConfig { + + obj.requiredObjectHolder = nil + obj.obj.RequiredObject = value.Msg() + + return obj +} + +// An optional object that MUST be generated as such. +// OptionalObject returns a EObject +func (obj *prefixConfig) OptionalObject() EObject { + if obj.obj.OptionalObject == nil { + obj.obj.OptionalObject = NewEObject().Msg() + } + if obj.optionalObjectHolder == nil { + obj.optionalObjectHolder = &eObject{obj: obj.obj.OptionalObject} + } + return obj.optionalObjectHolder +} + +// An optional object that MUST be generated as such. +// OptionalObject returns a EObject +func (obj *prefixConfig) HasOptionalObject() bool { + return obj.obj.OptionalObject != nil +} + +// An optional object that MUST be generated as such. +// SetOptionalObject sets the EObject value in the PrefixConfig object +func (obj *prefixConfig) SetOptionalObject(value EObject) PrefixConfig { + + obj.optionalObjectHolder = nil + obj.obj.OptionalObject = value.Msg() + + return obj +} + +// description is TBD +// Ieee8021Qbb returns a bool +func (obj *prefixConfig) Ieee8021Qbb() bool { + + return *obj.obj.Ieee_802_1Qbb + +} + +// description is TBD +// Ieee8021Qbb returns a bool +func (obj *prefixConfig) HasIeee8021Qbb() bool { + return obj.obj.Ieee_802_1Qbb != nil +} + +// description is TBD +// SetIeee8021Qbb sets the bool value in the PrefixConfig object +func (obj *prefixConfig) SetIeee8021Qbb(value bool) PrefixConfig { + + obj.obj.Ieee_802_1Qbb = &value + return obj +} + +// Deprecated: Information TBD +// +// Description TBD +// Space1 returns a int32 +func (obj *prefixConfig) Space1() int32 { + + return *obj.obj.Space_1 + +} + +// Deprecated: Information TBD +// +// Description TBD +// Space1 returns a int32 +func (obj *prefixConfig) HasSpace1() bool { + return obj.obj.Space_1 != nil +} + +// Deprecated: Information TBD +// +// Description TBD +// SetSpace1 sets the int32 value in the PrefixConfig object +func (obj *prefixConfig) SetSpace1(value int32) PrefixConfig { + + obj.obj.Space_1 = &value + return obj +} + +// description is TBD +// FullDuplex100Mb returns a int64 +func (obj *prefixConfig) FullDuplex100Mb() int64 { + + return *obj.obj.FullDuplex_100Mb + +} + +// description is TBD +// FullDuplex100Mb returns a int64 +func (obj *prefixConfig) HasFullDuplex100Mb() bool { + return obj.obj.FullDuplex_100Mb != nil +} + +// description is TBD +// SetFullDuplex100Mb sets the int64 value in the PrefixConfig object +func (obj *prefixConfig) SetFullDuplex100Mb(value int64) PrefixConfig { + + obj.obj.FullDuplex_100Mb = &value + return obj +} + +type PrefixConfigResponseEnum string + +// Enum of Response on PrefixConfig +var PrefixConfigResponse = struct { + STATUS_200 PrefixConfigResponseEnum + STATUS_400 PrefixConfigResponseEnum + STATUS_404 PrefixConfigResponseEnum + STATUS_500 PrefixConfigResponseEnum +}{ + STATUS_200: PrefixConfigResponseEnum("status_200"), + STATUS_400: PrefixConfigResponseEnum("status_400"), + STATUS_404: PrefixConfigResponseEnum("status_404"), + STATUS_500: PrefixConfigResponseEnum("status_500"), +} + +func (obj *prefixConfig) Response() PrefixConfigResponseEnum { + return PrefixConfigResponseEnum(obj.obj.Response.Enum().String()) +} + +// Indicate to the server what response should be returned +// Response returns a string +func (obj *prefixConfig) HasResponse() bool { + return obj.obj.Response != nil +} + +func (obj *prefixConfig) SetResponse(value PrefixConfigResponseEnum) PrefixConfig { + intValue, ok := sanity.PrefixConfig_Response_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on PrefixConfigResponseEnum", string(value))) + return obj + } + enumValue := sanity.PrefixConfig_Response_Enum(intValue) + obj.obj.Response = &enumValue + + return obj +} + +// Under Review: Information TBD +// +// Small single line description +// A returns a string +func (obj *prefixConfig) A() string { + + return obj.obj.A +} + +// Under Review: Information TBD +// +// Small single line description +// SetA sets the string value in the PrefixConfig object +func (obj *prefixConfig) SetA(value string) PrefixConfig { + + obj.obj.A = value + return obj +} + +// Longer multi-line description +// Second line is here +// Third line +// B returns a float32 +func (obj *prefixConfig) B() float32 { + + return obj.obj.B +} + +// Longer multi-line description +// Second line is here +// Third line +// SetB sets the float32 value in the PrefixConfig object +func (obj *prefixConfig) SetB(value float32) PrefixConfig { + + obj.obj.B = value + return obj +} + +// description is TBD +// C returns a int32 +func (obj *prefixConfig) C() int32 { + + return obj.obj.C +} + +// description is TBD +// SetC sets the int32 value in the PrefixConfig object +func (obj *prefixConfig) SetC(value int32) PrefixConfig { + + obj.obj.C = value + return obj +} + +type PrefixConfigDValuesEnum string + +// Enum of DValues on PrefixConfig +var PrefixConfigDValues = struct { + A PrefixConfigDValuesEnum + B PrefixConfigDValuesEnum + C PrefixConfigDValuesEnum +}{ + A: PrefixConfigDValuesEnum("a"), + B: PrefixConfigDValuesEnum("b"), + C: PrefixConfigDValuesEnum("c"), +} + +func (obj *prefixConfig) DValues() []PrefixConfigDValuesEnum { + items := []PrefixConfigDValuesEnum{} + for _, item := range obj.obj.DValues { + items = append(items, PrefixConfigDValuesEnum(item.String())) + } + return items +} + +// Deprecated: Information TBD +// +// A list of enum values +// SetDValues sets the []string value in the PrefixConfig object +func (obj *prefixConfig) SetDValues(value []PrefixConfigDValuesEnum) PrefixConfig { + + items := []sanity.PrefixConfig_DValues_Enum{} + for _, item := range value { + intValue := sanity.PrefixConfig_DValues_Enum_value[string(item)] + items = append(items, sanity.PrefixConfig_DValues_Enum(intValue)) + } + obj.obj.DValues = items + return obj +} + +// Deprecated: Information TBD +// +// A child object +// E returns a EObject +func (obj *prefixConfig) E() EObject { + if obj.obj.E == nil { + obj.obj.E = NewEObject().Msg() + } + if obj.eHolder == nil { + obj.eHolder = &eObject{obj: obj.obj.E} + } + return obj.eHolder +} + +// Deprecated: Information TBD +// +// A child object +// E returns a EObject +func (obj *prefixConfig) HasE() bool { + return obj.obj.E != nil +} + +// Deprecated: Information TBD +// +// A child object +// SetE sets the EObject value in the PrefixConfig object +func (obj *prefixConfig) SetE(value EObject) PrefixConfig { + + obj.eHolder = nil + obj.obj.E = value.Msg() + + return obj +} + +// An object with only choice(s) +// F returns a FObject +func (obj *prefixConfig) F() FObject { + if obj.obj.F == nil { + obj.obj.F = NewFObject().Msg() + } + if obj.fHolder == nil { + obj.fHolder = &fObject{obj: obj.obj.F} + } + return obj.fHolder +} + +// An object with only choice(s) +// F returns a FObject +func (obj *prefixConfig) HasF() bool { + return obj.obj.F != nil +} + +// An object with only choice(s) +// SetF sets the FObject value in the PrefixConfig object +func (obj *prefixConfig) SetF(value FObject) PrefixConfig { + + obj.fHolder = nil + obj.obj.F = value.Msg() + + return obj +} + +// A list of objects with choice and properties +// G returns a []GObject +func (obj *prefixConfig) G() PrefixConfigGObjectIter { + if len(obj.obj.G) == 0 { + obj.obj.G = []*sanity.GObject{} + } + if obj.gHolder == nil { + obj.gHolder = newPrefixConfigGObjectIter(&obj.obj.G).setMsg(obj) + } + return obj.gHolder +} + +type prefixConfigGObjectIter struct { + obj *prefixConfig + gObjectSlice []GObject + fieldPtr *[]*sanity.GObject +} + +func newPrefixConfigGObjectIter(ptr *[]*sanity.GObject) PrefixConfigGObjectIter { + return &prefixConfigGObjectIter{fieldPtr: ptr} +} + +type PrefixConfigGObjectIter interface { + setMsg(*prefixConfig) PrefixConfigGObjectIter + Items() []GObject + Add() GObject + Append(items ...GObject) PrefixConfigGObjectIter + Set(index int, newObj GObject) PrefixConfigGObjectIter + Clear() PrefixConfigGObjectIter + clearHolderSlice() PrefixConfigGObjectIter + appendHolderSlice(item GObject) PrefixConfigGObjectIter +} + +func (obj *prefixConfigGObjectIter) setMsg(msg *prefixConfig) PrefixConfigGObjectIter { + obj.clearHolderSlice() + for _, val := range *obj.fieldPtr { + obj.appendHolderSlice(&gObject{obj: val}) + } + obj.obj = msg + return obj +} + +func (obj *prefixConfigGObjectIter) Items() []GObject { + return obj.gObjectSlice +} + +func (obj *prefixConfigGObjectIter) Add() GObject { + newObj := &sanity.GObject{} + *obj.fieldPtr = append(*obj.fieldPtr, newObj) + newLibObj := &gObject{obj: newObj} + newLibObj.setDefault() + obj.gObjectSlice = append(obj.gObjectSlice, newLibObj) + return newLibObj +} + +func (obj *prefixConfigGObjectIter) Append(items ...GObject) PrefixConfigGObjectIter { + for _, item := range items { + newObj := item.Msg() + *obj.fieldPtr = append(*obj.fieldPtr, newObj) + obj.gObjectSlice = append(obj.gObjectSlice, item) + } + return obj +} + +func (obj *prefixConfigGObjectIter) Set(index int, newObj GObject) PrefixConfigGObjectIter { + (*obj.fieldPtr)[index] = newObj.Msg() + obj.gObjectSlice[index] = newObj + return obj +} +func (obj *prefixConfigGObjectIter) Clear() PrefixConfigGObjectIter { + if len(*obj.fieldPtr) > 0 { + *obj.fieldPtr = []*sanity.GObject{} + obj.gObjectSlice = []GObject{} + } + return obj +} +func (obj *prefixConfigGObjectIter) clearHolderSlice() PrefixConfigGObjectIter { + if len(obj.gObjectSlice) > 0 { + obj.gObjectSlice = []GObject{} + } + return obj +} +func (obj *prefixConfigGObjectIter) appendHolderSlice(item GObject) PrefixConfigGObjectIter { + obj.gObjectSlice = append(obj.gObjectSlice, item) + return obj +} + +// A boolean value +// H returns a bool +func (obj *prefixConfig) H() bool { + + return *obj.obj.H + +} + +// A boolean value +// H returns a bool +func (obj *prefixConfig) HasH() bool { + return obj.obj.H != nil +} + +// A boolean value +// SetH sets the bool value in the PrefixConfig object +func (obj *prefixConfig) SetH(value bool) PrefixConfig { + + obj.obj.H = &value + return obj +} + +// A byte string +// I returns a []byte +func (obj *prefixConfig) I() []byte { + + return obj.obj.I +} + +// A byte string +// SetI sets the []byte value in the PrefixConfig object +func (obj *prefixConfig) SetI(value []byte) PrefixConfig { + + obj.obj.I = value + return obj +} + +// A list of objects with only choice +// J returns a []JObject +func (obj *prefixConfig) J() PrefixConfigJObjectIter { + if len(obj.obj.J) == 0 { + obj.obj.J = []*sanity.JObject{} + } + if obj.jHolder == nil { + obj.jHolder = newPrefixConfigJObjectIter(&obj.obj.J).setMsg(obj) + } + return obj.jHolder +} + +type prefixConfigJObjectIter struct { + obj *prefixConfig + jObjectSlice []JObject + fieldPtr *[]*sanity.JObject +} + +func newPrefixConfigJObjectIter(ptr *[]*sanity.JObject) PrefixConfigJObjectIter { + return &prefixConfigJObjectIter{fieldPtr: ptr} +} + +type PrefixConfigJObjectIter interface { + setMsg(*prefixConfig) PrefixConfigJObjectIter + Items() []JObject + Add() JObject + Append(items ...JObject) PrefixConfigJObjectIter + Set(index int, newObj JObject) PrefixConfigJObjectIter + Clear() PrefixConfigJObjectIter + clearHolderSlice() PrefixConfigJObjectIter + appendHolderSlice(item JObject) PrefixConfigJObjectIter +} + +func (obj *prefixConfigJObjectIter) setMsg(msg *prefixConfig) PrefixConfigJObjectIter { + obj.clearHolderSlice() + for _, val := range *obj.fieldPtr { + obj.appendHolderSlice(&jObject{obj: val}) + } + obj.obj = msg + return obj +} + +func (obj *prefixConfigJObjectIter) Items() []JObject { + return obj.jObjectSlice +} + +func (obj *prefixConfigJObjectIter) Add() JObject { + newObj := &sanity.JObject{} + *obj.fieldPtr = append(*obj.fieldPtr, newObj) + newLibObj := &jObject{obj: newObj} + newLibObj.setDefault() + obj.jObjectSlice = append(obj.jObjectSlice, newLibObj) + return newLibObj +} + +func (obj *prefixConfigJObjectIter) Append(items ...JObject) PrefixConfigJObjectIter { + for _, item := range items { + newObj := item.Msg() + *obj.fieldPtr = append(*obj.fieldPtr, newObj) + obj.jObjectSlice = append(obj.jObjectSlice, item) + } + return obj +} + +func (obj *prefixConfigJObjectIter) Set(index int, newObj JObject) PrefixConfigJObjectIter { + (*obj.fieldPtr)[index] = newObj.Msg() + obj.jObjectSlice[index] = newObj + return obj +} +func (obj *prefixConfigJObjectIter) Clear() PrefixConfigJObjectIter { + if len(*obj.fieldPtr) > 0 { + *obj.fieldPtr = []*sanity.JObject{} + obj.jObjectSlice = []JObject{} + } + return obj +} +func (obj *prefixConfigJObjectIter) clearHolderSlice() PrefixConfigJObjectIter { + if len(obj.jObjectSlice) > 0 { + obj.jObjectSlice = []JObject{} + } + return obj +} +func (obj *prefixConfigJObjectIter) appendHolderSlice(item JObject) PrefixConfigJObjectIter { + obj.jObjectSlice = append(obj.jObjectSlice, item) + return obj +} + +// A nested object with only one property which is a choice object +// K returns a KObject +func (obj *prefixConfig) K() KObject { + if obj.obj.K == nil { + obj.obj.K = NewKObject().Msg() + } + if obj.kHolder == nil { + obj.kHolder = &kObject{obj: obj.obj.K} + } + return obj.kHolder +} + +// A nested object with only one property which is a choice object +// K returns a KObject +func (obj *prefixConfig) HasK() bool { + return obj.obj.K != nil +} + +// A nested object with only one property which is a choice object +// SetK sets the KObject value in the PrefixConfig object +func (obj *prefixConfig) SetK(value KObject) PrefixConfig { + + obj.kHolder = nil + obj.obj.K = value.Msg() + + return obj +} + +// description is TBD +// L returns a LObject +func (obj *prefixConfig) L() LObject { + if obj.obj.L == nil { + obj.obj.L = NewLObject().Msg() + } + if obj.lHolder == nil { + obj.lHolder = &lObject{obj: obj.obj.L} + } + return obj.lHolder +} + +// description is TBD +// L returns a LObject +func (obj *prefixConfig) HasL() bool { + return obj.obj.L != nil +} + +// description is TBD +// SetL sets the LObject value in the PrefixConfig object +func (obj *prefixConfig) SetL(value LObject) PrefixConfig { + + obj.lHolder = nil + obj.obj.L = value.Msg() + + return obj +} + +// A list of string values +// ListOfStringValues returns a []string +func (obj *prefixConfig) ListOfStringValues() []string { + if obj.obj.ListOfStringValues == nil { + obj.obj.ListOfStringValues = make([]string, 0) + } + return obj.obj.ListOfStringValues +} + +// A list of string values +// SetListOfStringValues sets the []string value in the PrefixConfig object +func (obj *prefixConfig) SetListOfStringValues(value []string) PrefixConfig { + + if obj.obj.ListOfStringValues == nil { + obj.obj.ListOfStringValues = make([]string, 0) + } + obj.obj.ListOfStringValues = value + + return obj +} + +// A list of integer values +// ListOfIntegerValues returns a []int32 +func (obj *prefixConfig) ListOfIntegerValues() []int32 { + if obj.obj.ListOfIntegerValues == nil { + obj.obj.ListOfIntegerValues = make([]int32, 0) + } + return obj.obj.ListOfIntegerValues +} + +// A list of integer values +// SetListOfIntegerValues sets the []int32 value in the PrefixConfig object +func (obj *prefixConfig) SetListOfIntegerValues(value []int32) PrefixConfig { + + if obj.obj.ListOfIntegerValues == nil { + obj.obj.ListOfIntegerValues = make([]int32, 0) + } + obj.obj.ListOfIntegerValues = value + + return obj +} + +// description is TBD +// Level returns a LevelOne +func (obj *prefixConfig) Level() LevelOne { + if obj.obj.Level == nil { + obj.obj.Level = NewLevelOne().Msg() + } + if obj.levelHolder == nil { + obj.levelHolder = &levelOne{obj: obj.obj.Level} + } + return obj.levelHolder +} + +// description is TBD +// Level returns a LevelOne +func (obj *prefixConfig) HasLevel() bool { + return obj.obj.Level != nil +} + +// description is TBD +// SetLevel sets the LevelOne value in the PrefixConfig object +func (obj *prefixConfig) SetLevel(value LevelOne) PrefixConfig { + + obj.levelHolder = nil + obj.obj.Level = value.Msg() + + return obj +} + +// description is TBD +// Mandatory returns a Mandate +func (obj *prefixConfig) Mandatory() Mandate { + if obj.obj.Mandatory == nil { + obj.obj.Mandatory = NewMandate().Msg() + } + if obj.mandatoryHolder == nil { + obj.mandatoryHolder = &mandate{obj: obj.obj.Mandatory} + } + return obj.mandatoryHolder +} + +// description is TBD +// Mandatory returns a Mandate +func (obj *prefixConfig) HasMandatory() bool { + return obj.obj.Mandatory != nil +} + +// description is TBD +// SetMandatory sets the Mandate value in the PrefixConfig object +func (obj *prefixConfig) SetMandatory(value Mandate) PrefixConfig { + + obj.mandatoryHolder = nil + obj.obj.Mandatory = value.Msg() + + return obj +} + +// description is TBD +// Ipv4Pattern returns a Ipv4Pattern +func (obj *prefixConfig) Ipv4Pattern() Ipv4Pattern { + if obj.obj.Ipv4Pattern == nil { + obj.obj.Ipv4Pattern = NewIpv4Pattern().Msg() + } + if obj.ipv4PatternHolder == nil { + obj.ipv4PatternHolder = &ipv4Pattern{obj: obj.obj.Ipv4Pattern} + } + return obj.ipv4PatternHolder +} + +// description is TBD +// Ipv4Pattern returns a Ipv4Pattern +func (obj *prefixConfig) HasIpv4Pattern() bool { + return obj.obj.Ipv4Pattern != nil +} + +// description is TBD +// SetIpv4Pattern sets the Ipv4Pattern value in the PrefixConfig object +func (obj *prefixConfig) SetIpv4Pattern(value Ipv4Pattern) PrefixConfig { + + obj.ipv4PatternHolder = nil + obj.obj.Ipv4Pattern = value.Msg() + + return obj +} + +// description is TBD +// Ipv6Pattern returns a Ipv6Pattern +func (obj *prefixConfig) Ipv6Pattern() Ipv6Pattern { + if obj.obj.Ipv6Pattern == nil { + obj.obj.Ipv6Pattern = NewIpv6Pattern().Msg() + } + if obj.ipv6PatternHolder == nil { + obj.ipv6PatternHolder = &ipv6Pattern{obj: obj.obj.Ipv6Pattern} + } + return obj.ipv6PatternHolder +} + +// description is TBD +// Ipv6Pattern returns a Ipv6Pattern +func (obj *prefixConfig) HasIpv6Pattern() bool { + return obj.obj.Ipv6Pattern != nil +} + +// description is TBD +// SetIpv6Pattern sets the Ipv6Pattern value in the PrefixConfig object +func (obj *prefixConfig) SetIpv6Pattern(value Ipv6Pattern) PrefixConfig { + + obj.ipv6PatternHolder = nil + obj.obj.Ipv6Pattern = value.Msg() + + return obj +} + +// description is TBD +// MacPattern returns a MacPattern +func (obj *prefixConfig) MacPattern() MacPattern { + if obj.obj.MacPattern == nil { + obj.obj.MacPattern = NewMacPattern().Msg() + } + if obj.macPatternHolder == nil { + obj.macPatternHolder = &macPattern{obj: obj.obj.MacPattern} + } + return obj.macPatternHolder +} + +// description is TBD +// MacPattern returns a MacPattern +func (obj *prefixConfig) HasMacPattern() bool { + return obj.obj.MacPattern != nil +} + +// description is TBD +// SetMacPattern sets the MacPattern value in the PrefixConfig object +func (obj *prefixConfig) SetMacPattern(value MacPattern) PrefixConfig { + + obj.macPatternHolder = nil + obj.obj.MacPattern = value.Msg() + + return obj +} + +// description is TBD +// IntegerPattern returns a IntegerPattern +func (obj *prefixConfig) IntegerPattern() IntegerPattern { + if obj.obj.IntegerPattern == nil { + obj.obj.IntegerPattern = NewIntegerPattern().Msg() + } + if obj.integerPatternHolder == nil { + obj.integerPatternHolder = &integerPattern{obj: obj.obj.IntegerPattern} + } + return obj.integerPatternHolder +} + +// description is TBD +// IntegerPattern returns a IntegerPattern +func (obj *prefixConfig) HasIntegerPattern() bool { + return obj.obj.IntegerPattern != nil +} + +// description is TBD +// SetIntegerPattern sets the IntegerPattern value in the PrefixConfig object +func (obj *prefixConfig) SetIntegerPattern(value IntegerPattern) PrefixConfig { + + obj.integerPatternHolder = nil + obj.obj.IntegerPattern = value.Msg() + + return obj +} + +// description is TBD +// ChecksumPattern returns a ChecksumPattern +func (obj *prefixConfig) ChecksumPattern() ChecksumPattern { + if obj.obj.ChecksumPattern == nil { + obj.obj.ChecksumPattern = NewChecksumPattern().Msg() + } + if obj.checksumPatternHolder == nil { + obj.checksumPatternHolder = &checksumPattern{obj: obj.obj.ChecksumPattern} + } + return obj.checksumPatternHolder +} + +// description is TBD +// ChecksumPattern returns a ChecksumPattern +func (obj *prefixConfig) HasChecksumPattern() bool { + return obj.obj.ChecksumPattern != nil +} + +// description is TBD +// SetChecksumPattern sets the ChecksumPattern value in the PrefixConfig object +func (obj *prefixConfig) SetChecksumPattern(value ChecksumPattern) PrefixConfig { + + obj.checksumPatternHolder = nil + obj.obj.ChecksumPattern = value.Msg() + + return obj +} + +// description is TBD +// Case returns a Layer1Ieee802X +func (obj *prefixConfig) Case() Layer1Ieee802X { + if obj.obj.Case == nil { + obj.obj.Case = NewLayer1Ieee802X().Msg() + } + if obj.caseHolder == nil { + obj.caseHolder = &layer1Ieee802X{obj: obj.obj.Case} + } + return obj.caseHolder +} + +// description is TBD +// Case returns a Layer1Ieee802X +func (obj *prefixConfig) HasCase() bool { + return obj.obj.Case != nil +} + +// description is TBD +// SetCase sets the Layer1Ieee802X value in the PrefixConfig object +func (obj *prefixConfig) SetCase(value Layer1Ieee802X) PrefixConfig { + + obj.caseHolder = nil + obj.obj.Case = value.Msg() + + return obj +} + +// description is TBD +// MObject returns a MObject +func (obj *prefixConfig) MObject() MObject { + if obj.obj.MObject == nil { + obj.obj.MObject = NewMObject().Msg() + } + if obj.mObjectHolder == nil { + obj.mObjectHolder = &mObject{obj: obj.obj.MObject} + } + return obj.mObjectHolder +} + +// description is TBD +// MObject returns a MObject +func (obj *prefixConfig) HasMObject() bool { + return obj.obj.MObject != nil +} + +// description is TBD +// SetMObject sets the MObject value in the PrefixConfig object +func (obj *prefixConfig) SetMObject(value MObject) PrefixConfig { + + obj.mObjectHolder = nil + obj.obj.MObject = value.Msg() + + return obj +} + +// int64 type +// Integer64 returns a int64 +func (obj *prefixConfig) Integer64() int64 { + + return *obj.obj.Integer64 + +} + +// int64 type +// Integer64 returns a int64 +func (obj *prefixConfig) HasInteger64() bool { + return obj.obj.Integer64 != nil +} + +// int64 type +// SetInteger64 sets the int64 value in the PrefixConfig object +func (obj *prefixConfig) SetInteger64(value int64) PrefixConfig { + + obj.obj.Integer64 = &value + return obj +} + +// int64 type list +// Integer64List returns a []int64 +func (obj *prefixConfig) Integer64List() []int64 { + if obj.obj.Integer64List == nil { + obj.obj.Integer64List = make([]int64, 0) + } + return obj.obj.Integer64List +} + +// int64 type list +// SetInteger64List sets the []int64 value in the PrefixConfig object +func (obj *prefixConfig) SetInteger64List(value []int64) PrefixConfig { + + if obj.obj.Integer64List == nil { + obj.obj.Integer64List = make([]int64, 0) + } + obj.obj.Integer64List = value + + return obj +} + +// description is TBD +// HeaderChecksum returns a PatternPrefixConfigHeaderChecksum +func (obj *prefixConfig) HeaderChecksum() PatternPrefixConfigHeaderChecksum { + if obj.obj.HeaderChecksum == nil { + obj.obj.HeaderChecksum = NewPatternPrefixConfigHeaderChecksum().Msg() + } + if obj.headerChecksumHolder == nil { + obj.headerChecksumHolder = &patternPrefixConfigHeaderChecksum{obj: obj.obj.HeaderChecksum} + } + return obj.headerChecksumHolder +} + +// description is TBD +// HeaderChecksum returns a PatternPrefixConfigHeaderChecksum +func (obj *prefixConfig) HasHeaderChecksum() bool { + return obj.obj.HeaderChecksum != nil +} + +// description is TBD +// SetHeaderChecksum sets the PatternPrefixConfigHeaderChecksum value in the PrefixConfig object +func (obj *prefixConfig) SetHeaderChecksum(value PatternPrefixConfigHeaderChecksum) PrefixConfig { + + obj.headerChecksumHolder = nil + obj.obj.HeaderChecksum = value.Msg() + + return obj +} + +// Under Review: Information TBD +// +// string minimum&maximum Length +// StrLen returns a string +func (obj *prefixConfig) StrLen() string { + + return *obj.obj.StrLen + +} + +// Under Review: Information TBD +// +// string minimum&maximum Length +// StrLen returns a string +func (obj *prefixConfig) HasStrLen() bool { + return obj.obj.StrLen != nil +} + +// Under Review: Information TBD +// +// string minimum&maximum Length +// SetStrLen sets the string value in the PrefixConfig object +func (obj *prefixConfig) SetStrLen(value string) PrefixConfig { + + obj.obj.StrLen = &value + return obj +} + +// Under Review: Information TBD +// +// Array of Hex +// HexSlice returns a []string +func (obj *prefixConfig) HexSlice() []string { + if obj.obj.HexSlice == nil { + obj.obj.HexSlice = make([]string, 0) + } + return obj.obj.HexSlice +} + +// Under Review: Information TBD +// +// Array of Hex +// SetHexSlice sets the []string value in the PrefixConfig object +func (obj *prefixConfig) SetHexSlice(value []string) PrefixConfig { + + if obj.obj.HexSlice == nil { + obj.obj.HexSlice = make([]string, 0) + } + obj.obj.HexSlice = value + + return obj +} + +// description is TBD +// AutoFieldTest returns a PatternPrefixConfigAutoFieldTest +func (obj *prefixConfig) AutoFieldTest() PatternPrefixConfigAutoFieldTest { + if obj.obj.AutoFieldTest == nil { + obj.obj.AutoFieldTest = NewPatternPrefixConfigAutoFieldTest().Msg() + } + if obj.autoFieldTestHolder == nil { + obj.autoFieldTestHolder = &patternPrefixConfigAutoFieldTest{obj: obj.obj.AutoFieldTest} + } + return obj.autoFieldTestHolder +} + +// description is TBD +// AutoFieldTest returns a PatternPrefixConfigAutoFieldTest +func (obj *prefixConfig) HasAutoFieldTest() bool { + return obj.obj.AutoFieldTest != nil +} + +// description is TBD +// SetAutoFieldTest sets the PatternPrefixConfigAutoFieldTest value in the PrefixConfig object +func (obj *prefixConfig) SetAutoFieldTest(value PatternPrefixConfigAutoFieldTest) PrefixConfig { + + obj.autoFieldTestHolder = nil + obj.obj.AutoFieldTest = value.Msg() + + return obj +} + +// description is TBD +// Name returns a string +func (obj *prefixConfig) Name() string { + + return *obj.obj.Name + +} + +// description is TBD +// Name returns a string +func (obj *prefixConfig) HasName() bool { + return obj.obj.Name != nil +} + +// description is TBD +// SetName sets the string value in the PrefixConfig object +func (obj *prefixConfig) SetName(value string) PrefixConfig { + + obj.obj.Name = &value + return obj +} + +// description is TBD +// WList returns a []WObject +func (obj *prefixConfig) WList() PrefixConfigWObjectIter { + if len(obj.obj.WList) == 0 { + obj.obj.WList = []*sanity.WObject{} + } + if obj.wListHolder == nil { + obj.wListHolder = newPrefixConfigWObjectIter(&obj.obj.WList).setMsg(obj) + } + return obj.wListHolder +} + +type prefixConfigWObjectIter struct { + obj *prefixConfig + wObjectSlice []WObject + fieldPtr *[]*sanity.WObject +} + +func newPrefixConfigWObjectIter(ptr *[]*sanity.WObject) PrefixConfigWObjectIter { + return &prefixConfigWObjectIter{fieldPtr: ptr} +} + +type PrefixConfigWObjectIter interface { + setMsg(*prefixConfig) PrefixConfigWObjectIter + Items() []WObject + Add() WObject + Append(items ...WObject) PrefixConfigWObjectIter + Set(index int, newObj WObject) PrefixConfigWObjectIter + Clear() PrefixConfigWObjectIter + clearHolderSlice() PrefixConfigWObjectIter + appendHolderSlice(item WObject) PrefixConfigWObjectIter +} + +func (obj *prefixConfigWObjectIter) setMsg(msg *prefixConfig) PrefixConfigWObjectIter { + obj.clearHolderSlice() + for _, val := range *obj.fieldPtr { + obj.appendHolderSlice(&wObject{obj: val}) + } + obj.obj = msg + return obj +} + +func (obj *prefixConfigWObjectIter) Items() []WObject { + return obj.wObjectSlice +} + +func (obj *prefixConfigWObjectIter) Add() WObject { + newObj := &sanity.WObject{} + *obj.fieldPtr = append(*obj.fieldPtr, newObj) + newLibObj := &wObject{obj: newObj} + newLibObj.setDefault() + obj.wObjectSlice = append(obj.wObjectSlice, newLibObj) + return newLibObj +} + +func (obj *prefixConfigWObjectIter) Append(items ...WObject) PrefixConfigWObjectIter { + for _, item := range items { + newObj := item.Msg() + *obj.fieldPtr = append(*obj.fieldPtr, newObj) + obj.wObjectSlice = append(obj.wObjectSlice, item) + } + return obj +} + +func (obj *prefixConfigWObjectIter) Set(index int, newObj WObject) PrefixConfigWObjectIter { + (*obj.fieldPtr)[index] = newObj.Msg() + obj.wObjectSlice[index] = newObj + return obj +} +func (obj *prefixConfigWObjectIter) Clear() PrefixConfigWObjectIter { + if len(*obj.fieldPtr) > 0 { + *obj.fieldPtr = []*sanity.WObject{} + obj.wObjectSlice = []WObject{} + } + return obj +} +func (obj *prefixConfigWObjectIter) clearHolderSlice() PrefixConfigWObjectIter { + if len(obj.wObjectSlice) > 0 { + obj.wObjectSlice = []WObject{} + } + return obj +} +func (obj *prefixConfigWObjectIter) appendHolderSlice(item WObject) PrefixConfigWObjectIter { + obj.wObjectSlice = append(obj.wObjectSlice, item) + return obj +} + +// description is TBD +// XList returns a []ZObject +func (obj *prefixConfig) XList() PrefixConfigZObjectIter { + if len(obj.obj.XList) == 0 { + obj.obj.XList = []*sanity.ZObject{} + } + if obj.xListHolder == nil { + obj.xListHolder = newPrefixConfigZObjectIter(&obj.obj.XList).setMsg(obj) + } + return obj.xListHolder +} + +type prefixConfigZObjectIter struct { + obj *prefixConfig + zObjectSlice []ZObject + fieldPtr *[]*sanity.ZObject +} + +func newPrefixConfigZObjectIter(ptr *[]*sanity.ZObject) PrefixConfigZObjectIter { + return &prefixConfigZObjectIter{fieldPtr: ptr} +} + +type PrefixConfigZObjectIter interface { + setMsg(*prefixConfig) PrefixConfigZObjectIter + Items() []ZObject + Add() ZObject + Append(items ...ZObject) PrefixConfigZObjectIter + Set(index int, newObj ZObject) PrefixConfigZObjectIter + Clear() PrefixConfigZObjectIter + clearHolderSlice() PrefixConfigZObjectIter + appendHolderSlice(item ZObject) PrefixConfigZObjectIter +} + +func (obj *prefixConfigZObjectIter) setMsg(msg *prefixConfig) PrefixConfigZObjectIter { + obj.clearHolderSlice() + for _, val := range *obj.fieldPtr { + obj.appendHolderSlice(&zObject{obj: val}) + } + obj.obj = msg + return obj +} + +func (obj *prefixConfigZObjectIter) Items() []ZObject { + return obj.zObjectSlice +} + +func (obj *prefixConfigZObjectIter) Add() ZObject { + newObj := &sanity.ZObject{} + *obj.fieldPtr = append(*obj.fieldPtr, newObj) + newLibObj := &zObject{obj: newObj} + newLibObj.setDefault() + obj.zObjectSlice = append(obj.zObjectSlice, newLibObj) + return newLibObj +} + +func (obj *prefixConfigZObjectIter) Append(items ...ZObject) PrefixConfigZObjectIter { + for _, item := range items { + newObj := item.Msg() + *obj.fieldPtr = append(*obj.fieldPtr, newObj) + obj.zObjectSlice = append(obj.zObjectSlice, item) + } + return obj +} + +func (obj *prefixConfigZObjectIter) Set(index int, newObj ZObject) PrefixConfigZObjectIter { + (*obj.fieldPtr)[index] = newObj.Msg() + obj.zObjectSlice[index] = newObj + return obj +} +func (obj *prefixConfigZObjectIter) Clear() PrefixConfigZObjectIter { + if len(*obj.fieldPtr) > 0 { + *obj.fieldPtr = []*sanity.ZObject{} + obj.zObjectSlice = []ZObject{} + } + return obj +} +func (obj *prefixConfigZObjectIter) clearHolderSlice() PrefixConfigZObjectIter { + if len(obj.zObjectSlice) > 0 { + obj.zObjectSlice = []ZObject{} + } + return obj +} +func (obj *prefixConfigZObjectIter) appendHolderSlice(item ZObject) PrefixConfigZObjectIter { + obj.zObjectSlice = append(obj.zObjectSlice, item) + return obj +} + +// description is TBD +// ZObject returns a ZObject +func (obj *prefixConfig) ZObject() ZObject { + if obj.obj.ZObject == nil { + obj.obj.ZObject = NewZObject().Msg() + } + if obj.zObjectHolder == nil { + obj.zObjectHolder = &zObject{obj: obj.obj.ZObject} + } + return obj.zObjectHolder +} + +// description is TBD +// ZObject returns a ZObject +func (obj *prefixConfig) HasZObject() bool { + return obj.obj.ZObject != nil +} + +// description is TBD +// SetZObject sets the ZObject value in the PrefixConfig object +func (obj *prefixConfig) SetZObject(value ZObject) PrefixConfig { + + obj.zObjectHolder = nil + obj.obj.ZObject = value.Msg() + + return obj +} + +// description is TBD +// YObject returns a YObject +func (obj *prefixConfig) YObject() YObject { + if obj.obj.YObject == nil { + obj.obj.YObject = NewYObject().Msg() + } + if obj.yObjectHolder == nil { + obj.yObjectHolder = &yObject{obj: obj.obj.YObject} + } + return obj.yObjectHolder +} + +// description is TBD +// YObject returns a YObject +func (obj *prefixConfig) HasYObject() bool { + return obj.obj.YObject != nil +} + +// description is TBD +// SetYObject sets the YObject value in the PrefixConfig object +func (obj *prefixConfig) SetYObject(value YObject) PrefixConfig { + + obj.yObjectHolder = nil + obj.obj.YObject = value.Msg() + + return obj +} + +// A list of objects with choice with and without properties +// ChoiceObject returns a []ChoiceObject +func (obj *prefixConfig) ChoiceObject() PrefixConfigChoiceObjectIter { + if len(obj.obj.ChoiceObject) == 0 { + obj.obj.ChoiceObject = []*sanity.ChoiceObject{} + } + if obj.choiceObjectHolder == nil { + obj.choiceObjectHolder = newPrefixConfigChoiceObjectIter(&obj.obj.ChoiceObject).setMsg(obj) + } + return obj.choiceObjectHolder +} + +type prefixConfigChoiceObjectIter struct { + obj *prefixConfig + choiceObjectSlice []ChoiceObject + fieldPtr *[]*sanity.ChoiceObject +} + +func newPrefixConfigChoiceObjectIter(ptr *[]*sanity.ChoiceObject) PrefixConfigChoiceObjectIter { + return &prefixConfigChoiceObjectIter{fieldPtr: ptr} +} + +type PrefixConfigChoiceObjectIter interface { + setMsg(*prefixConfig) PrefixConfigChoiceObjectIter + Items() []ChoiceObject + Add() ChoiceObject + Append(items ...ChoiceObject) PrefixConfigChoiceObjectIter + Set(index int, newObj ChoiceObject) PrefixConfigChoiceObjectIter + Clear() PrefixConfigChoiceObjectIter + clearHolderSlice() PrefixConfigChoiceObjectIter + appendHolderSlice(item ChoiceObject) PrefixConfigChoiceObjectIter +} + +func (obj *prefixConfigChoiceObjectIter) setMsg(msg *prefixConfig) PrefixConfigChoiceObjectIter { + obj.clearHolderSlice() + for _, val := range *obj.fieldPtr { + obj.appendHolderSlice(&choiceObject{obj: val}) + } + obj.obj = msg + return obj +} + +func (obj *prefixConfigChoiceObjectIter) Items() []ChoiceObject { + return obj.choiceObjectSlice +} + +func (obj *prefixConfigChoiceObjectIter) Add() ChoiceObject { + newObj := &sanity.ChoiceObject{} + *obj.fieldPtr = append(*obj.fieldPtr, newObj) + newLibObj := &choiceObject{obj: newObj} + newLibObj.setDefault() + obj.choiceObjectSlice = append(obj.choiceObjectSlice, newLibObj) + return newLibObj +} + +func (obj *prefixConfigChoiceObjectIter) Append(items ...ChoiceObject) PrefixConfigChoiceObjectIter { + for _, item := range items { + newObj := item.Msg() + *obj.fieldPtr = append(*obj.fieldPtr, newObj) + obj.choiceObjectSlice = append(obj.choiceObjectSlice, item) + } + return obj +} + +func (obj *prefixConfigChoiceObjectIter) Set(index int, newObj ChoiceObject) PrefixConfigChoiceObjectIter { + (*obj.fieldPtr)[index] = newObj.Msg() + obj.choiceObjectSlice[index] = newObj + return obj +} +func (obj *prefixConfigChoiceObjectIter) Clear() PrefixConfigChoiceObjectIter { + if len(*obj.fieldPtr) > 0 { + *obj.fieldPtr = []*sanity.ChoiceObject{} + obj.choiceObjectSlice = []ChoiceObject{} + } + return obj +} +func (obj *prefixConfigChoiceObjectIter) clearHolderSlice() PrefixConfigChoiceObjectIter { + if len(obj.choiceObjectSlice) > 0 { + obj.choiceObjectSlice = []ChoiceObject{} + } + return obj +} +func (obj *prefixConfigChoiceObjectIter) appendHolderSlice(item ChoiceObject) PrefixConfigChoiceObjectIter { + obj.choiceObjectSlice = append(obj.choiceObjectSlice, item) + return obj +} + +// description is TBD +// RequiredChoiceObject returns a RequiredChoiceParent +func (obj *prefixConfig) RequiredChoiceObject() RequiredChoiceParent { + if obj.obj.RequiredChoiceObject == nil { + obj.obj.RequiredChoiceObject = NewRequiredChoiceParent().Msg() + } + if obj.requiredChoiceObjectHolder == nil { + obj.requiredChoiceObjectHolder = &requiredChoiceParent{obj: obj.obj.RequiredChoiceObject} + } + return obj.requiredChoiceObjectHolder +} + +// description is TBD +// RequiredChoiceObject returns a RequiredChoiceParent +func (obj *prefixConfig) HasRequiredChoiceObject() bool { + return obj.obj.RequiredChoiceObject != nil +} + +// description is TBD +// SetRequiredChoiceObject sets the RequiredChoiceParent value in the PrefixConfig object +func (obj *prefixConfig) SetRequiredChoiceObject(value RequiredChoiceParent) PrefixConfig { + + obj.requiredChoiceObjectHolder = nil + obj.obj.RequiredChoiceObject = value.Msg() + + return obj +} + +// A list of objects with choice and properties +// G1 returns a []GObject +func (obj *prefixConfig) G1() PrefixConfigGObjectIter { + if len(obj.obj.G1) == 0 { + obj.obj.G1 = []*sanity.GObject{} + } + if obj.g1Holder == nil { + obj.g1Holder = newPrefixConfigGObjectIter(&obj.obj.G1).setMsg(obj) + } + return obj.g1Holder +} + +// A list of objects with choice and properties +// G2 returns a []GObject +func (obj *prefixConfig) G2() PrefixConfigGObjectIter { + if len(obj.obj.G2) == 0 { + obj.obj.G2 = []*sanity.GObject{} + } + if obj.g2Holder == nil { + obj.g2Holder = newPrefixConfigGObjectIter(&obj.obj.G2).setMsg(obj) + } + return obj.g2Holder +} + +// int32 type +// Int32Param returns a int32 +func (obj *prefixConfig) Int32Param() int32 { + + return *obj.obj.Int32Param + +} + +// int32 type +// Int32Param returns a int32 +func (obj *prefixConfig) HasInt32Param() bool { + return obj.obj.Int32Param != nil +} + +// int32 type +// SetInt32Param sets the int32 value in the PrefixConfig object +func (obj *prefixConfig) SetInt32Param(value int32) PrefixConfig { + + obj.obj.Int32Param = &value + return obj +} + +// int32 type list +// Int32ListParam returns a []int32 +func (obj *prefixConfig) Int32ListParam() []int32 { + if obj.obj.Int32ListParam == nil { + obj.obj.Int32ListParam = make([]int32, 0) + } + return obj.obj.Int32ListParam +} + +// int32 type list +// SetInt32ListParam sets the []int32 value in the PrefixConfig object +func (obj *prefixConfig) SetInt32ListParam(value []int32) PrefixConfig { + + if obj.obj.Int32ListParam == nil { + obj.obj.Int32ListParam = make([]int32, 0) + } + obj.obj.Int32ListParam = value + + return obj +} + +// uint32 type +// Uint32Param returns a uint32 +func (obj *prefixConfig) Uint32Param() uint32 { + + return *obj.obj.Uint32Param + +} + +// uint32 type +// Uint32Param returns a uint32 +func (obj *prefixConfig) HasUint32Param() bool { + return obj.obj.Uint32Param != nil +} + +// uint32 type +// SetUint32Param sets the uint32 value in the PrefixConfig object +func (obj *prefixConfig) SetUint32Param(value uint32) PrefixConfig { + + obj.obj.Uint32Param = &value + return obj +} + +// uint32 type list +// Uint32ListParam returns a []uint32 +func (obj *prefixConfig) Uint32ListParam() []uint32 { + if obj.obj.Uint32ListParam == nil { + obj.obj.Uint32ListParam = make([]uint32, 0) + } + return obj.obj.Uint32ListParam +} + +// uint32 type list +// SetUint32ListParam sets the []uint32 value in the PrefixConfig object +func (obj *prefixConfig) SetUint32ListParam(value []uint32) PrefixConfig { + + if obj.obj.Uint32ListParam == nil { + obj.obj.Uint32ListParam = make([]uint32, 0) + } + obj.obj.Uint32ListParam = value + + return obj +} + +// uint64 type +// Uint64Param returns a uint64 +func (obj *prefixConfig) Uint64Param() uint64 { + + return *obj.obj.Uint64Param + +} + +// uint64 type +// Uint64Param returns a uint64 +func (obj *prefixConfig) HasUint64Param() bool { + return obj.obj.Uint64Param != nil +} + +// uint64 type +// SetUint64Param sets the uint64 value in the PrefixConfig object +func (obj *prefixConfig) SetUint64Param(value uint64) PrefixConfig { + + obj.obj.Uint64Param = &value + return obj +} + +// uint64 type list +// Uint64ListParam returns a []uint64 +func (obj *prefixConfig) Uint64ListParam() []uint64 { + if obj.obj.Uint64ListParam == nil { + obj.obj.Uint64ListParam = make([]uint64, 0) + } + return obj.obj.Uint64ListParam +} + +// uint64 type list +// SetUint64ListParam sets the []uint64 value in the PrefixConfig object +func (obj *prefixConfig) SetUint64ListParam(value []uint64) PrefixConfig { + + if obj.obj.Uint64ListParam == nil { + obj.obj.Uint64ListParam = make([]uint64, 0) + } + obj.obj.Uint64ListParam = value + + return obj +} + +// should automatically set type to int32 +// AutoInt32Param returns a int32 +func (obj *prefixConfig) AutoInt32Param() int32 { + + return *obj.obj.AutoInt32Param + +} + +// should automatically set type to int32 +// AutoInt32Param returns a int32 +func (obj *prefixConfig) HasAutoInt32Param() bool { + return obj.obj.AutoInt32Param != nil +} + +// should automatically set type to int32 +// SetAutoInt32Param sets the int32 value in the PrefixConfig object +func (obj *prefixConfig) SetAutoInt32Param(value int32) PrefixConfig { + + obj.obj.AutoInt32Param = &value + return obj +} + +// should automatically set type to []int32 +// AutoInt32ListParam returns a []int32 +func (obj *prefixConfig) AutoInt32ListParam() []int32 { + if obj.obj.AutoInt32ListParam == nil { + obj.obj.AutoInt32ListParam = make([]int32, 0) + } + return obj.obj.AutoInt32ListParam +} + +// should automatically set type to []int32 +// SetAutoInt32ListParam sets the []int32 value in the PrefixConfig object +func (obj *prefixConfig) SetAutoInt32ListParam(value []int32) PrefixConfig { + + if obj.obj.AutoInt32ListParam == nil { + obj.obj.AutoInt32ListParam = make([]int32, 0) + } + obj.obj.AutoInt32ListParam = value + + return obj +} + +func (obj *prefixConfig) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + // RequiredObject is required + if obj.obj.RequiredObject == nil { + vObj.validationErrors = append(vObj.validationErrors, "RequiredObject is required field on interface PrefixConfig") + } + + if obj.obj.RequiredObject != nil { + + obj.RequiredObject().validateObj(vObj, set_default) + } + + if obj.obj.OptionalObject != nil { + + obj.OptionalObject().validateObj(vObj, set_default) + } + + // Space_1 is deprecated + if obj.obj.Space_1 != nil { + obj.addWarnings("Space_1 property in schema PrefixConfig is deprecated, Information TBD") + } + + if obj.obj.FullDuplex_100Mb != nil { + + if *obj.obj.FullDuplex_100Mb < -10 || *obj.obj.FullDuplex_100Mb > 4261412864 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("-10 <= PrefixConfig.FullDuplex_100Mb <= 4261412864 but Got %d", *obj.obj.FullDuplex_100Mb)) + } + + } + + if obj.obj.Response.Number() == 3 { + obj.addWarnings("STATUS_404 enum in property Response is deprecated, new code will be coming soon") + } + + if obj.obj.Response.Number() == 4 { + obj.addWarnings("STATUS_500 enum in property Response is under review, 500 can change to other values") + } + + // A is required + if obj.obj.A == "" { + vObj.validationErrors = append(vObj.validationErrors, "A is required field on interface PrefixConfig") + } + + // A is under_review + if obj.obj.A != "" { + obj.addWarnings("A property in schema PrefixConfig is under review, Information TBD") + } + + // DValues is deprecated + if obj.obj.DValues != nil { + obj.addWarnings("DValues property in schema PrefixConfig is deprecated, Information TBD") + } + + if obj.obj.E != nil { + obj.addWarnings("E property in schema PrefixConfig is deprecated, Information TBD") + obj.E().validateObj(vObj, set_default) + } + + if obj.obj.F != nil { + + obj.F().validateObj(vObj, set_default) + } + + if len(obj.obj.G) != 0 { + + if set_default { + obj.G().clearHolderSlice() + for _, item := range obj.obj.G { + obj.G().appendHolderSlice(&gObject{obj: item}) + } + } + for _, item := range obj.G().Items() { + item.validateObj(vObj, set_default) + } + + } + + if len(obj.obj.J) != 0 { + + if set_default { + obj.J().clearHolderSlice() + for _, item := range obj.obj.J { + obj.J().appendHolderSlice(&jObject{obj: item}) + } + } + for _, item := range obj.J().Items() { + item.validateObj(vObj, set_default) + } + + } + + if obj.obj.K != nil { + + obj.K().validateObj(vObj, set_default) + } + + if obj.obj.L != nil { + + obj.L().validateObj(vObj, set_default) + } + + if obj.obj.Level != nil { + + obj.Level().validateObj(vObj, set_default) + } + + if obj.obj.Mandatory != nil { + + obj.Mandatory().validateObj(vObj, set_default) + } + + if obj.obj.Ipv4Pattern != nil { + + obj.Ipv4Pattern().validateObj(vObj, set_default) + } + + if obj.obj.Ipv6Pattern != nil { + + obj.Ipv6Pattern().validateObj(vObj, set_default) + } + + if obj.obj.MacPattern != nil { + + obj.MacPattern().validateObj(vObj, set_default) + } + + if obj.obj.IntegerPattern != nil { + + obj.IntegerPattern().validateObj(vObj, set_default) + } + + if obj.obj.ChecksumPattern != nil { + + obj.ChecksumPattern().validateObj(vObj, set_default) + } + + if obj.obj.Case != nil { + + obj.Case().validateObj(vObj, set_default) + } + + if obj.obj.MObject != nil { + + obj.MObject().validateObj(vObj, set_default) + } + + if obj.obj.Integer64List != nil { + + for _, item := range obj.obj.Integer64List { + if item < -12 || item > 4261412864 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("-12 <= PrefixConfig.Integer64List <= 4261412864 but Got %d", item)) + } + + } + + } + + if obj.obj.HeaderChecksum != nil { + + obj.HeaderChecksum().validateObj(vObj, set_default) + } + + if obj.obj.StrLen != nil { + obj.addWarnings("StrLen property in schema PrefixConfig is under review, Information TBD") + if len(*obj.obj.StrLen) < 3 || len(*obj.obj.StrLen) > 6 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf( + "3 <= length of PrefixConfig.StrLen <= 6 but Got %d", + len(*obj.obj.StrLen))) + } + + } + + if obj.obj.HexSlice != nil { + obj.addWarnings("HexSlice property in schema PrefixConfig is under review, Information TBD") + + err := obj.validateHexSlice(obj.HexSlice()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PrefixConfig.HexSlice")) + } + + } + + if obj.obj.AutoFieldTest != nil { + + obj.AutoFieldTest().validateObj(vObj, set_default) + } + + if len(obj.obj.WList) != 0 { + + if set_default { + obj.WList().clearHolderSlice() + for _, item := range obj.obj.WList { + obj.WList().appendHolderSlice(&wObject{obj: item}) + } + } + for _, item := range obj.WList().Items() { + item.validateObj(vObj, set_default) + } + + } + + if len(obj.obj.XList) != 0 { + + if set_default { + obj.XList().clearHolderSlice() + for _, item := range obj.obj.XList { + obj.XList().appendHolderSlice(&zObject{obj: item}) + } + } + for _, item := range obj.XList().Items() { + item.validateObj(vObj, set_default) + } + + } + + if obj.obj.ZObject != nil { + + obj.ZObject().validateObj(vObj, set_default) + } + + if obj.obj.YObject != nil { + + obj.YObject().validateObj(vObj, set_default) + } + + if len(obj.obj.ChoiceObject) != 0 { + + if set_default { + obj.ChoiceObject().clearHolderSlice() + for _, item := range obj.obj.ChoiceObject { + obj.ChoiceObject().appendHolderSlice(&choiceObject{obj: item}) + } + } + for _, item := range obj.ChoiceObject().Items() { + item.validateObj(vObj, set_default) + } + + } + + if obj.obj.RequiredChoiceObject != nil { + + obj.RequiredChoiceObject().validateObj(vObj, set_default) + } + + if len(obj.obj.G1) != 0 { + + if set_default { + obj.G1().clearHolderSlice() + for _, item := range obj.obj.G1 { + obj.G1().appendHolderSlice(&gObject{obj: item}) + } + } + for _, item := range obj.G1().Items() { + item.validateObj(vObj, set_default) + } + + } + + if len(obj.obj.G2) != 0 { + + if set_default { + obj.G2().clearHolderSlice() + for _, item := range obj.obj.G2 { + obj.G2().appendHolderSlice(&gObject{obj: item}) + } + } + for _, item := range obj.G2().Items() { + item.validateObj(vObj, set_default) + } + + } + + if obj.obj.Int32ListParam != nil { + + for _, item := range obj.obj.Int32ListParam { + if item < -23456 || item > 23456 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("-23456 <= PrefixConfig.Int32ListParam <= 23456 but Got %d", item)) + } + + } + + } + + if obj.obj.Uint32ListParam != nil { + + for _, item := range obj.obj.Uint32ListParam { + if item > 4294967293 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("0 <= PrefixConfig.Uint32ListParam <= 4294967293 but Got %d", item)) + } + + } + + } + + if obj.obj.AutoInt32Param != nil { + + if *obj.obj.AutoInt32Param < 64 || *obj.obj.AutoInt32Param > 9000 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("64 <= PrefixConfig.AutoInt32Param <= 9000 but Got %d", *obj.obj.AutoInt32Param)) + } + + } + + if obj.obj.AutoInt32ListParam != nil { + + for _, item := range obj.obj.AutoInt32ListParam { + if item < 64 || item > 9000 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("64 <= PrefixConfig.AutoInt32ListParam <= 9000 but Got %d", item)) + } + + } + + } + +} + +func (obj *prefixConfig) setDefault() { + if obj.obj.Response == nil { + obj.SetResponse(PrefixConfigResponse.STATUS_200) + + } + if obj.obj.H == nil { + obj.SetH(true) + } + +} + +// ***** UpdateConfig ***** +type updateConfig struct { + validation + obj *sanity.UpdateConfig + gHolder UpdateConfigGObjectIter +} + +func NewUpdateConfig() UpdateConfig { + obj := updateConfig{obj: &sanity.UpdateConfig{}} + obj.setDefault() + return &obj +} + +func (obj *updateConfig) Msg() *sanity.UpdateConfig { + return obj.obj +} + +func (obj *updateConfig) SetMsg(msg *sanity.UpdateConfig) UpdateConfig { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *updateConfig) ToProto() (*sanity.UpdateConfig, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *updateConfig) FromProto(msg *sanity.UpdateConfig) (UpdateConfig, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *updateConfig) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *updateConfig) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *updateConfig) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *updateConfig) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *updateConfig) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *updateConfig) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *updateConfig) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *updateConfig) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *updateConfig) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *updateConfig) Clone() (UpdateConfig, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewUpdateConfig() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *updateConfig) setNil() { + obj.gHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// UpdateConfig is under Review: the whole schema is being reviewed +// +// Object to Test required Parameter +type UpdateConfig interface { + Validation + // Msg marshals UpdateConfig to protobuf object *sanity.UpdateConfig + // and doesn't set defaults + Msg() *sanity.UpdateConfig + // SetMsg unmarshals UpdateConfig from protobuf object *sanity.UpdateConfig + // and doesn't set defaults + SetMsg(*sanity.UpdateConfig) UpdateConfig + // ToProto marshals UpdateConfig to protobuf object *sanity.UpdateConfig + ToProto() (*sanity.UpdateConfig, error) + // ToPbText marshals UpdateConfig to protobuf text + ToPbText() (string, error) + // ToYaml marshals UpdateConfig to YAML text + ToYaml() (string, error) + // ToJson marshals UpdateConfig to JSON text + ToJson() (string, error) + // FromProto unmarshals UpdateConfig from protobuf object *sanity.UpdateConfig + FromProto(msg *sanity.UpdateConfig) (UpdateConfig, error) + // FromPbText unmarshals UpdateConfig from protobuf text + FromPbText(value string) error + // FromYaml unmarshals UpdateConfig from YAML text + FromYaml(value string) error + // FromJson unmarshals UpdateConfig from JSON text + FromJson(value string) error + // Validate validates UpdateConfig + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (UpdateConfig, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // G returns UpdateConfigGObjectIterIter, set in UpdateConfig + G() UpdateConfigGObjectIter + setNil() +} + +// A list of objects with choice and properties +// G returns a []GObject +func (obj *updateConfig) G() UpdateConfigGObjectIter { + if len(obj.obj.G) == 0 { + obj.obj.G = []*sanity.GObject{} + } + if obj.gHolder == nil { + obj.gHolder = newUpdateConfigGObjectIter(&obj.obj.G).setMsg(obj) + } + return obj.gHolder +} + +type updateConfigGObjectIter struct { + obj *updateConfig + gObjectSlice []GObject + fieldPtr *[]*sanity.GObject +} + +func newUpdateConfigGObjectIter(ptr *[]*sanity.GObject) UpdateConfigGObjectIter { + return &updateConfigGObjectIter{fieldPtr: ptr} +} + +type UpdateConfigGObjectIter interface { + setMsg(*updateConfig) UpdateConfigGObjectIter + Items() []GObject + Add() GObject + Append(items ...GObject) UpdateConfigGObjectIter + Set(index int, newObj GObject) UpdateConfigGObjectIter + Clear() UpdateConfigGObjectIter + clearHolderSlice() UpdateConfigGObjectIter + appendHolderSlice(item GObject) UpdateConfigGObjectIter +} + +func (obj *updateConfigGObjectIter) setMsg(msg *updateConfig) UpdateConfigGObjectIter { + obj.clearHolderSlice() + for _, val := range *obj.fieldPtr { + obj.appendHolderSlice(&gObject{obj: val}) + } + obj.obj = msg + return obj +} + +func (obj *updateConfigGObjectIter) Items() []GObject { + return obj.gObjectSlice +} + +func (obj *updateConfigGObjectIter) Add() GObject { + newObj := &sanity.GObject{} + *obj.fieldPtr = append(*obj.fieldPtr, newObj) + newLibObj := &gObject{obj: newObj} + newLibObj.setDefault() + obj.gObjectSlice = append(obj.gObjectSlice, newLibObj) + return newLibObj +} + +func (obj *updateConfigGObjectIter) Append(items ...GObject) UpdateConfigGObjectIter { + for _, item := range items { + newObj := item.Msg() + *obj.fieldPtr = append(*obj.fieldPtr, newObj) + obj.gObjectSlice = append(obj.gObjectSlice, item) + } + return obj +} + +func (obj *updateConfigGObjectIter) Set(index int, newObj GObject) UpdateConfigGObjectIter { + (*obj.fieldPtr)[index] = newObj.Msg() + obj.gObjectSlice[index] = newObj + return obj +} +func (obj *updateConfigGObjectIter) Clear() UpdateConfigGObjectIter { + if len(*obj.fieldPtr) > 0 { + *obj.fieldPtr = []*sanity.GObject{} + obj.gObjectSlice = []GObject{} + } + return obj +} +func (obj *updateConfigGObjectIter) clearHolderSlice() UpdateConfigGObjectIter { + if len(obj.gObjectSlice) > 0 { + obj.gObjectSlice = []GObject{} + } + return obj +} +func (obj *updateConfigGObjectIter) appendHolderSlice(item GObject) UpdateConfigGObjectIter { + obj.gObjectSlice = append(obj.gObjectSlice, item) + return obj +} + +func (obj *updateConfig) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + obj.addWarnings("UpdateConfig is under review, the whole schema is being reviewed") + + if len(obj.obj.G) != 0 { + + if set_default { + obj.G().clearHolderSlice() + for _, item := range obj.obj.G { + obj.G().appendHolderSlice(&gObject{obj: item}) + } + } + for _, item := range obj.G().Items() { + item.validateObj(vObj, set_default) + } + + } + +} + +func (obj *updateConfig) setDefault() { + +} + +// ***** MetricsRequest ***** +type metricsRequest struct { + validation + obj *sanity.MetricsRequest +} + +func NewMetricsRequest() MetricsRequest { + obj := metricsRequest{obj: &sanity.MetricsRequest{}} + obj.setDefault() + return &obj +} + +func (obj *metricsRequest) Msg() *sanity.MetricsRequest { + return obj.obj +} + +func (obj *metricsRequest) SetMsg(msg *sanity.MetricsRequest) MetricsRequest { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *metricsRequest) ToProto() (*sanity.MetricsRequest, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *metricsRequest) FromProto(msg *sanity.MetricsRequest) (MetricsRequest, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *metricsRequest) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *metricsRequest) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *metricsRequest) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *metricsRequest) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *metricsRequest) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *metricsRequest) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *metricsRequest) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *metricsRequest) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *metricsRequest) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *metricsRequest) Clone() (MetricsRequest, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewMetricsRequest() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// MetricsRequest is description is TBD +type MetricsRequest interface { + Validation + // Msg marshals MetricsRequest to protobuf object *sanity.MetricsRequest + // and doesn't set defaults + Msg() *sanity.MetricsRequest + // SetMsg unmarshals MetricsRequest from protobuf object *sanity.MetricsRequest + // and doesn't set defaults + SetMsg(*sanity.MetricsRequest) MetricsRequest + // ToProto marshals MetricsRequest to protobuf object *sanity.MetricsRequest + ToProto() (*sanity.MetricsRequest, error) + // ToPbText marshals MetricsRequest to protobuf text + ToPbText() (string, error) + // ToYaml marshals MetricsRequest to YAML text + ToYaml() (string, error) + // ToJson marshals MetricsRequest to JSON text + ToJson() (string, error) + // FromProto unmarshals MetricsRequest from protobuf object *sanity.MetricsRequest + FromProto(msg *sanity.MetricsRequest) (MetricsRequest, error) + // FromPbText unmarshals MetricsRequest from protobuf text + FromPbText(value string) error + // FromYaml unmarshals MetricsRequest from YAML text + FromYaml(value string) error + // FromJson unmarshals MetricsRequest from JSON text + FromJson(value string) error + // Validate validates MetricsRequest + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (MetricsRequest, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Choice returns MetricsRequestChoiceEnum, set in MetricsRequest + Choice() MetricsRequestChoiceEnum + // SetChoice assigns MetricsRequestChoiceEnum provided by user to MetricsRequest + SetChoice(value MetricsRequestChoiceEnum) MetricsRequest + // HasChoice checks if Choice has been set in MetricsRequest + HasChoice() bool + // Port returns string, set in MetricsRequest. + Port() string + // SetPort assigns string provided by user to MetricsRequest + SetPort(value string) MetricsRequest + // HasPort checks if Port has been set in MetricsRequest + HasPort() bool + // Flow returns string, set in MetricsRequest. + Flow() string + // SetFlow assigns string provided by user to MetricsRequest + SetFlow(value string) MetricsRequest + // HasFlow checks if Flow has been set in MetricsRequest + HasFlow() bool +} + +type MetricsRequestChoiceEnum string + +// Enum of Choice on MetricsRequest +var MetricsRequestChoice = struct { + PORT MetricsRequestChoiceEnum + FLOW MetricsRequestChoiceEnum +}{ + PORT: MetricsRequestChoiceEnum("port"), + FLOW: MetricsRequestChoiceEnum("flow"), +} + +func (obj *metricsRequest) Choice() MetricsRequestChoiceEnum { + return MetricsRequestChoiceEnum(obj.obj.Choice.Enum().String()) +} + +// description is TBD +// Choice returns a string +func (obj *metricsRequest) HasChoice() bool { + return obj.obj.Choice != nil +} + +func (obj *metricsRequest) SetChoice(value MetricsRequestChoiceEnum) MetricsRequest { + intValue, ok := sanity.MetricsRequest_Choice_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on MetricsRequestChoiceEnum", string(value))) + return obj + } + enumValue := sanity.MetricsRequest_Choice_Enum(intValue) + obj.obj.Choice = &enumValue + obj.obj.Flow = nil + obj.obj.Port = nil + return obj +} + +// description is TBD +// Port returns a string +func (obj *metricsRequest) Port() string { + + if obj.obj.Port == nil { + obj.SetChoice(MetricsRequestChoice.PORT) + } + + return *obj.obj.Port + +} + +// description is TBD +// Port returns a string +func (obj *metricsRequest) HasPort() bool { + return obj.obj.Port != nil +} + +// description is TBD +// SetPort sets the string value in the MetricsRequest object +func (obj *metricsRequest) SetPort(value string) MetricsRequest { + obj.SetChoice(MetricsRequestChoice.PORT) + obj.obj.Port = &value + return obj +} + +// description is TBD +// Flow returns a string +func (obj *metricsRequest) Flow() string { + + if obj.obj.Flow == nil { + obj.SetChoice(MetricsRequestChoice.FLOW) + } + + return *obj.obj.Flow + +} + +// description is TBD +// Flow returns a string +func (obj *metricsRequest) HasFlow() bool { + return obj.obj.Flow != nil +} + +// description is TBD +// SetFlow sets the string value in the MetricsRequest object +func (obj *metricsRequest) SetFlow(value string) MetricsRequest { + obj.SetChoice(MetricsRequestChoice.FLOW) + obj.obj.Flow = &value + return obj +} + +func (obj *metricsRequest) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + +} + +func (obj *metricsRequest) setDefault() { + if obj.obj.Choice == nil { + obj.SetChoice(MetricsRequestChoice.PORT) + + } + +} + +// ***** ApiTestInputBody ***** +type apiTestInputBody struct { + validation + obj *sanity.ApiTestInputBody +} + +func NewApiTestInputBody() ApiTestInputBody { + obj := apiTestInputBody{obj: &sanity.ApiTestInputBody{}} + obj.setDefault() + return &obj +} + +func (obj *apiTestInputBody) Msg() *sanity.ApiTestInputBody { + return obj.obj +} + +func (obj *apiTestInputBody) SetMsg(msg *sanity.ApiTestInputBody) ApiTestInputBody { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *apiTestInputBody) ToProto() (*sanity.ApiTestInputBody, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *apiTestInputBody) FromProto(msg *sanity.ApiTestInputBody) (ApiTestInputBody, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *apiTestInputBody) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *apiTestInputBody) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *apiTestInputBody) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *apiTestInputBody) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *apiTestInputBody) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *apiTestInputBody) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *apiTestInputBody) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *apiTestInputBody) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *apiTestInputBody) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *apiTestInputBody) Clone() (ApiTestInputBody, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewApiTestInputBody() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// ApiTestInputBody is description is TBD +type ApiTestInputBody interface { + Validation + // Msg marshals ApiTestInputBody to protobuf object *sanity.ApiTestInputBody + // and doesn't set defaults + Msg() *sanity.ApiTestInputBody + // SetMsg unmarshals ApiTestInputBody from protobuf object *sanity.ApiTestInputBody + // and doesn't set defaults + SetMsg(*sanity.ApiTestInputBody) ApiTestInputBody + // ToProto marshals ApiTestInputBody to protobuf object *sanity.ApiTestInputBody + ToProto() (*sanity.ApiTestInputBody, error) + // ToPbText marshals ApiTestInputBody to protobuf text + ToPbText() (string, error) + // ToYaml marshals ApiTestInputBody to YAML text + ToYaml() (string, error) + // ToJson marshals ApiTestInputBody to JSON text + ToJson() (string, error) + // FromProto unmarshals ApiTestInputBody from protobuf object *sanity.ApiTestInputBody + FromProto(msg *sanity.ApiTestInputBody) (ApiTestInputBody, error) + // FromPbText unmarshals ApiTestInputBody from protobuf text + FromPbText(value string) error + // FromYaml unmarshals ApiTestInputBody from YAML text + FromYaml(value string) error + // FromJson unmarshals ApiTestInputBody from JSON text + FromJson(value string) error + // Validate validates ApiTestInputBody + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (ApiTestInputBody, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // SomeString returns string, set in ApiTestInputBody. + SomeString() string + // SetSomeString assigns string provided by user to ApiTestInputBody + SetSomeString(value string) ApiTestInputBody + // HasSomeString checks if SomeString has been set in ApiTestInputBody + HasSomeString() bool +} + +// description is TBD +// SomeString returns a string +func (obj *apiTestInputBody) SomeString() string { + + return *obj.obj.SomeString + +} + +// description is TBD +// SomeString returns a string +func (obj *apiTestInputBody) HasSomeString() bool { + return obj.obj.SomeString != nil +} + +// description is TBD +// SetSomeString sets the string value in the ApiTestInputBody object +func (obj *apiTestInputBody) SetSomeString(value string) ApiTestInputBody { + + obj.obj.SomeString = &value + return obj +} + +func (obj *apiTestInputBody) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + +} + +func (obj *apiTestInputBody) setDefault() { + +} + +// ***** SetConfigResponse ***** +type setConfigResponse struct { + validation + obj *sanity.SetConfigResponse +} + +func NewSetConfigResponse() SetConfigResponse { + obj := setConfigResponse{obj: &sanity.SetConfigResponse{}} + obj.setDefault() + return &obj +} + +func (obj *setConfigResponse) Msg() *sanity.SetConfigResponse { + return obj.obj +} + +func (obj *setConfigResponse) SetMsg(msg *sanity.SetConfigResponse) SetConfigResponse { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *setConfigResponse) ToProto() (*sanity.SetConfigResponse, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *setConfigResponse) FromProto(msg *sanity.SetConfigResponse) (SetConfigResponse, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *setConfigResponse) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *setConfigResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *setConfigResponse) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *setConfigResponse) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *setConfigResponse) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *setConfigResponse) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *setConfigResponse) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *setConfigResponse) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *setConfigResponse) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *setConfigResponse) Clone() (SetConfigResponse, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewSetConfigResponse() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// SetConfigResponse is description is TBD +type SetConfigResponse interface { + Validation + // Msg marshals SetConfigResponse to protobuf object *sanity.SetConfigResponse + // and doesn't set defaults + Msg() *sanity.SetConfigResponse + // SetMsg unmarshals SetConfigResponse from protobuf object *sanity.SetConfigResponse + // and doesn't set defaults + SetMsg(*sanity.SetConfigResponse) SetConfigResponse + // ToProto marshals SetConfigResponse to protobuf object *sanity.SetConfigResponse + ToProto() (*sanity.SetConfigResponse, error) + // ToPbText marshals SetConfigResponse to protobuf text + ToPbText() (string, error) + // ToYaml marshals SetConfigResponse to YAML text + ToYaml() (string, error) + // ToJson marshals SetConfigResponse to JSON text + ToJson() (string, error) + // FromProto unmarshals SetConfigResponse from protobuf object *sanity.SetConfigResponse + FromProto(msg *sanity.SetConfigResponse) (SetConfigResponse, error) + // FromPbText unmarshals SetConfigResponse from protobuf text + FromPbText(value string) error + // FromYaml unmarshals SetConfigResponse from YAML text + FromYaml(value string) error + // FromJson unmarshals SetConfigResponse from JSON text + FromJson(value string) error + // Validate validates SetConfigResponse + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (SetConfigResponse, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // ResponseBytes returns []byte, set in SetConfigResponse. + ResponseBytes() []byte + // SetResponseBytes assigns []byte provided by user to SetConfigResponse + SetResponseBytes(value []byte) SetConfigResponse + // HasResponseBytes checks if ResponseBytes has been set in SetConfigResponse + HasResponseBytes() bool +} + +// description is TBD +// ResponseBytes returns a []byte +func (obj *setConfigResponse) ResponseBytes() []byte { + + return obj.obj.ResponseBytes +} + +// description is TBD +// ResponseBytes returns a []byte +func (obj *setConfigResponse) HasResponseBytes() bool { + return obj.obj.ResponseBytes != nil +} + +// description is TBD +// SetResponseBytes sets the []byte value in the SetConfigResponse object +func (obj *setConfigResponse) SetResponseBytes(value []byte) SetConfigResponse { + + obj.obj.ResponseBytes = value + return obj +} + +func (obj *setConfigResponse) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + +} + +func (obj *setConfigResponse) setDefault() { + +} + +// ***** UpdateConfigurationResponse ***** +type updateConfigurationResponse struct { + validation + obj *sanity.UpdateConfigurationResponse + prefixConfigHolder PrefixConfig +} + +func NewUpdateConfigurationResponse() UpdateConfigurationResponse { + obj := updateConfigurationResponse{obj: &sanity.UpdateConfigurationResponse{}} + obj.setDefault() + return &obj +} + +func (obj *updateConfigurationResponse) Msg() *sanity.UpdateConfigurationResponse { + return obj.obj +} + +func (obj *updateConfigurationResponse) SetMsg(msg *sanity.UpdateConfigurationResponse) UpdateConfigurationResponse { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *updateConfigurationResponse) ToProto() (*sanity.UpdateConfigurationResponse, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *updateConfigurationResponse) FromProto(msg *sanity.UpdateConfigurationResponse) (UpdateConfigurationResponse, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *updateConfigurationResponse) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *updateConfigurationResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *updateConfigurationResponse) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *updateConfigurationResponse) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *updateConfigurationResponse) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *updateConfigurationResponse) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *updateConfigurationResponse) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *updateConfigurationResponse) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *updateConfigurationResponse) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *updateConfigurationResponse) Clone() (UpdateConfigurationResponse, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewUpdateConfigurationResponse() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *updateConfigurationResponse) setNil() { + obj.prefixConfigHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// UpdateConfigurationResponse is description is TBD +type UpdateConfigurationResponse interface { + Validation + // Msg marshals UpdateConfigurationResponse to protobuf object *sanity.UpdateConfigurationResponse + // and doesn't set defaults + Msg() *sanity.UpdateConfigurationResponse + // SetMsg unmarshals UpdateConfigurationResponse from protobuf object *sanity.UpdateConfigurationResponse + // and doesn't set defaults + SetMsg(*sanity.UpdateConfigurationResponse) UpdateConfigurationResponse + // ToProto marshals UpdateConfigurationResponse to protobuf object *sanity.UpdateConfigurationResponse + ToProto() (*sanity.UpdateConfigurationResponse, error) + // ToPbText marshals UpdateConfigurationResponse to protobuf text + ToPbText() (string, error) + // ToYaml marshals UpdateConfigurationResponse to YAML text + ToYaml() (string, error) + // ToJson marshals UpdateConfigurationResponse to JSON text + ToJson() (string, error) + // FromProto unmarshals UpdateConfigurationResponse from protobuf object *sanity.UpdateConfigurationResponse + FromProto(msg *sanity.UpdateConfigurationResponse) (UpdateConfigurationResponse, error) + // FromPbText unmarshals UpdateConfigurationResponse from protobuf text + FromPbText(value string) error + // FromYaml unmarshals UpdateConfigurationResponse from YAML text + FromYaml(value string) error + // FromJson unmarshals UpdateConfigurationResponse from JSON text + FromJson(value string) error + // Validate validates UpdateConfigurationResponse + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (UpdateConfigurationResponse, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // PrefixConfig returns PrefixConfig, set in UpdateConfigurationResponse. + // PrefixConfig is container which retains the configuration + PrefixConfig() PrefixConfig + // SetPrefixConfig assigns PrefixConfig provided by user to UpdateConfigurationResponse. + // PrefixConfig is container which retains the configuration + SetPrefixConfig(value PrefixConfig) UpdateConfigurationResponse + // HasPrefixConfig checks if PrefixConfig has been set in UpdateConfigurationResponse + HasPrefixConfig() bool + setNil() +} + +// description is TBD +// PrefixConfig returns a PrefixConfig +func (obj *updateConfigurationResponse) PrefixConfig() PrefixConfig { + if obj.obj.PrefixConfig == nil { + obj.obj.PrefixConfig = NewPrefixConfig().Msg() + } + if obj.prefixConfigHolder == nil { + obj.prefixConfigHolder = &prefixConfig{obj: obj.obj.PrefixConfig} + } + return obj.prefixConfigHolder +} + +// description is TBD +// PrefixConfig returns a PrefixConfig +func (obj *updateConfigurationResponse) HasPrefixConfig() bool { + return obj.obj.PrefixConfig != nil +} + +// description is TBD +// SetPrefixConfig sets the PrefixConfig value in the UpdateConfigurationResponse object +func (obj *updateConfigurationResponse) SetPrefixConfig(value PrefixConfig) UpdateConfigurationResponse { + + obj.prefixConfigHolder = nil + obj.obj.PrefixConfig = value.Msg() + + return obj +} + +func (obj *updateConfigurationResponse) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.PrefixConfig != nil { + + obj.PrefixConfig().validateObj(vObj, set_default) + } + +} + +func (obj *updateConfigurationResponse) setDefault() { + +} + +// ***** GetConfigResponse ***** +type getConfigResponse struct { + validation + obj *sanity.GetConfigResponse + prefixConfigHolder PrefixConfig +} + +func NewGetConfigResponse() GetConfigResponse { + obj := getConfigResponse{obj: &sanity.GetConfigResponse{}} + obj.setDefault() + return &obj +} + +func (obj *getConfigResponse) Msg() *sanity.GetConfigResponse { + return obj.obj +} + +func (obj *getConfigResponse) SetMsg(msg *sanity.GetConfigResponse) GetConfigResponse { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *getConfigResponse) ToProto() (*sanity.GetConfigResponse, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *getConfigResponse) FromProto(msg *sanity.GetConfigResponse) (GetConfigResponse, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *getConfigResponse) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *getConfigResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *getConfigResponse) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *getConfigResponse) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *getConfigResponse) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *getConfigResponse) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *getConfigResponse) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *getConfigResponse) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *getConfigResponse) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *getConfigResponse) Clone() (GetConfigResponse, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewGetConfigResponse() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *getConfigResponse) setNil() { + obj.prefixConfigHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// GetConfigResponse is description is TBD +type GetConfigResponse interface { + Validation + // Msg marshals GetConfigResponse to protobuf object *sanity.GetConfigResponse + // and doesn't set defaults + Msg() *sanity.GetConfigResponse + // SetMsg unmarshals GetConfigResponse from protobuf object *sanity.GetConfigResponse + // and doesn't set defaults + SetMsg(*sanity.GetConfigResponse) GetConfigResponse + // ToProto marshals GetConfigResponse to protobuf object *sanity.GetConfigResponse + ToProto() (*sanity.GetConfigResponse, error) + // ToPbText marshals GetConfigResponse to protobuf text + ToPbText() (string, error) + // ToYaml marshals GetConfigResponse to YAML text + ToYaml() (string, error) + // ToJson marshals GetConfigResponse to JSON text + ToJson() (string, error) + // FromProto unmarshals GetConfigResponse from protobuf object *sanity.GetConfigResponse + FromProto(msg *sanity.GetConfigResponse) (GetConfigResponse, error) + // FromPbText unmarshals GetConfigResponse from protobuf text + FromPbText(value string) error + // FromYaml unmarshals GetConfigResponse from YAML text + FromYaml(value string) error + // FromJson unmarshals GetConfigResponse from JSON text + FromJson(value string) error + // Validate validates GetConfigResponse + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (GetConfigResponse, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // PrefixConfig returns PrefixConfig, set in GetConfigResponse. + // PrefixConfig is container which retains the configuration + PrefixConfig() PrefixConfig + // SetPrefixConfig assigns PrefixConfig provided by user to GetConfigResponse. + // PrefixConfig is container which retains the configuration + SetPrefixConfig(value PrefixConfig) GetConfigResponse + // HasPrefixConfig checks if PrefixConfig has been set in GetConfigResponse + HasPrefixConfig() bool + setNil() +} + +// description is TBD +// PrefixConfig returns a PrefixConfig +func (obj *getConfigResponse) PrefixConfig() PrefixConfig { + if obj.obj.PrefixConfig == nil { + obj.obj.PrefixConfig = NewPrefixConfig().Msg() + } + if obj.prefixConfigHolder == nil { + obj.prefixConfigHolder = &prefixConfig{obj: obj.obj.PrefixConfig} + } + return obj.prefixConfigHolder +} + +// description is TBD +// PrefixConfig returns a PrefixConfig +func (obj *getConfigResponse) HasPrefixConfig() bool { + return obj.obj.PrefixConfig != nil +} + +// description is TBD +// SetPrefixConfig sets the PrefixConfig value in the GetConfigResponse object +func (obj *getConfigResponse) SetPrefixConfig(value PrefixConfig) GetConfigResponse { + + obj.prefixConfigHolder = nil + obj.obj.PrefixConfig = value.Msg() + + return obj +} + +func (obj *getConfigResponse) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.PrefixConfig != nil { + + obj.PrefixConfig().validateObj(vObj, set_default) + } + +} + +func (obj *getConfigResponse) setDefault() { + +} + +// ***** GetMetricsResponse ***** +type getMetricsResponse struct { + validation + obj *sanity.GetMetricsResponse + metricsHolder Metrics +} + +func NewGetMetricsResponse() GetMetricsResponse { + obj := getMetricsResponse{obj: &sanity.GetMetricsResponse{}} + obj.setDefault() + return &obj +} + +func (obj *getMetricsResponse) Msg() *sanity.GetMetricsResponse { + return obj.obj +} + +func (obj *getMetricsResponse) SetMsg(msg *sanity.GetMetricsResponse) GetMetricsResponse { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *getMetricsResponse) ToProto() (*sanity.GetMetricsResponse, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *getMetricsResponse) FromProto(msg *sanity.GetMetricsResponse) (GetMetricsResponse, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *getMetricsResponse) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *getMetricsResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *getMetricsResponse) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *getMetricsResponse) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *getMetricsResponse) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *getMetricsResponse) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *getMetricsResponse) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *getMetricsResponse) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *getMetricsResponse) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *getMetricsResponse) Clone() (GetMetricsResponse, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewGetMetricsResponse() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *getMetricsResponse) setNil() { + obj.metricsHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// GetMetricsResponse is description is TBD +type GetMetricsResponse interface { + Validation + // Msg marshals GetMetricsResponse to protobuf object *sanity.GetMetricsResponse + // and doesn't set defaults + Msg() *sanity.GetMetricsResponse + // SetMsg unmarshals GetMetricsResponse from protobuf object *sanity.GetMetricsResponse + // and doesn't set defaults + SetMsg(*sanity.GetMetricsResponse) GetMetricsResponse + // ToProto marshals GetMetricsResponse to protobuf object *sanity.GetMetricsResponse + ToProto() (*sanity.GetMetricsResponse, error) + // ToPbText marshals GetMetricsResponse to protobuf text + ToPbText() (string, error) + // ToYaml marshals GetMetricsResponse to YAML text + ToYaml() (string, error) + // ToJson marshals GetMetricsResponse to JSON text + ToJson() (string, error) + // FromProto unmarshals GetMetricsResponse from protobuf object *sanity.GetMetricsResponse + FromProto(msg *sanity.GetMetricsResponse) (GetMetricsResponse, error) + // FromPbText unmarshals GetMetricsResponse from protobuf text + FromPbText(value string) error + // FromYaml unmarshals GetMetricsResponse from YAML text + FromYaml(value string) error + // FromJson unmarshals GetMetricsResponse from JSON text + FromJson(value string) error + // Validate validates GetMetricsResponse + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (GetMetricsResponse, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Metrics returns Metrics, set in GetMetricsResponse. + // Metrics is description is TBD + Metrics() Metrics + // SetMetrics assigns Metrics provided by user to GetMetricsResponse. + // Metrics is description is TBD + SetMetrics(value Metrics) GetMetricsResponse + // HasMetrics checks if Metrics has been set in GetMetricsResponse + HasMetrics() bool + setNil() +} + +// description is TBD +// Metrics returns a Metrics +func (obj *getMetricsResponse) Metrics() Metrics { + if obj.obj.Metrics == nil { + obj.obj.Metrics = NewMetrics().Msg() + } + if obj.metricsHolder == nil { + obj.metricsHolder = &metrics{obj: obj.obj.Metrics} + } + return obj.metricsHolder +} + +// description is TBD +// Metrics returns a Metrics +func (obj *getMetricsResponse) HasMetrics() bool { + return obj.obj.Metrics != nil +} + +// description is TBD +// SetMetrics sets the Metrics value in the GetMetricsResponse object +func (obj *getMetricsResponse) SetMetrics(value Metrics) GetMetricsResponse { + + obj.metricsHolder = nil + obj.obj.Metrics = value.Msg() + + return obj +} + +func (obj *getMetricsResponse) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Metrics != nil { + + obj.Metrics().validateObj(vObj, set_default) + } + +} + +func (obj *getMetricsResponse) setDefault() { + +} + +// ***** GetWarningsResponse ***** +type getWarningsResponse struct { + validation + obj *sanity.GetWarningsResponse + warningDetailsHolder WarningDetails +} + +func NewGetWarningsResponse() GetWarningsResponse { + obj := getWarningsResponse{obj: &sanity.GetWarningsResponse{}} + obj.setDefault() + return &obj +} + +func (obj *getWarningsResponse) Msg() *sanity.GetWarningsResponse { + return obj.obj +} + +func (obj *getWarningsResponse) SetMsg(msg *sanity.GetWarningsResponse) GetWarningsResponse { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *getWarningsResponse) ToProto() (*sanity.GetWarningsResponse, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *getWarningsResponse) FromProto(msg *sanity.GetWarningsResponse) (GetWarningsResponse, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *getWarningsResponse) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *getWarningsResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *getWarningsResponse) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *getWarningsResponse) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *getWarningsResponse) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *getWarningsResponse) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *getWarningsResponse) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *getWarningsResponse) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *getWarningsResponse) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *getWarningsResponse) Clone() (GetWarningsResponse, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewGetWarningsResponse() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *getWarningsResponse) setNil() { + obj.warningDetailsHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// GetWarningsResponse is description is TBD +type GetWarningsResponse interface { + Validation + // Msg marshals GetWarningsResponse to protobuf object *sanity.GetWarningsResponse + // and doesn't set defaults + Msg() *sanity.GetWarningsResponse + // SetMsg unmarshals GetWarningsResponse from protobuf object *sanity.GetWarningsResponse + // and doesn't set defaults + SetMsg(*sanity.GetWarningsResponse) GetWarningsResponse + // ToProto marshals GetWarningsResponse to protobuf object *sanity.GetWarningsResponse + ToProto() (*sanity.GetWarningsResponse, error) + // ToPbText marshals GetWarningsResponse to protobuf text + ToPbText() (string, error) + // ToYaml marshals GetWarningsResponse to YAML text + ToYaml() (string, error) + // ToJson marshals GetWarningsResponse to JSON text + ToJson() (string, error) + // FromProto unmarshals GetWarningsResponse from protobuf object *sanity.GetWarningsResponse + FromProto(msg *sanity.GetWarningsResponse) (GetWarningsResponse, error) + // FromPbText unmarshals GetWarningsResponse from protobuf text + FromPbText(value string) error + // FromYaml unmarshals GetWarningsResponse from YAML text + FromYaml(value string) error + // FromJson unmarshals GetWarningsResponse from JSON text + FromJson(value string) error + // Validate validates GetWarningsResponse + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (GetWarningsResponse, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // WarningDetails returns WarningDetails, set in GetWarningsResponse. + // WarningDetails is description is TBD + WarningDetails() WarningDetails + // SetWarningDetails assigns WarningDetails provided by user to GetWarningsResponse. + // WarningDetails is description is TBD + SetWarningDetails(value WarningDetails) GetWarningsResponse + // HasWarningDetails checks if WarningDetails has been set in GetWarningsResponse + HasWarningDetails() bool + setNil() +} + +// description is TBD +// WarningDetails returns a WarningDetails +func (obj *getWarningsResponse) WarningDetails() WarningDetails { + if obj.obj.WarningDetails == nil { + obj.obj.WarningDetails = NewWarningDetails().Msg() + } + if obj.warningDetailsHolder == nil { + obj.warningDetailsHolder = &warningDetails{obj: obj.obj.WarningDetails} + } + return obj.warningDetailsHolder +} + +// description is TBD +// WarningDetails returns a WarningDetails +func (obj *getWarningsResponse) HasWarningDetails() bool { + return obj.obj.WarningDetails != nil +} + +// description is TBD +// SetWarningDetails sets the WarningDetails value in the GetWarningsResponse object +func (obj *getWarningsResponse) SetWarningDetails(value WarningDetails) GetWarningsResponse { + + obj.warningDetailsHolder = nil + obj.obj.WarningDetails = value.Msg() + + return obj +} + +func (obj *getWarningsResponse) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.WarningDetails != nil { + + obj.WarningDetails().validateObj(vObj, set_default) + } + +} + +func (obj *getWarningsResponse) setDefault() { + +} + +// ***** ClearWarningsResponse ***** +type clearWarningsResponse struct { + validation + obj *sanity.ClearWarningsResponse +} + +func NewClearWarningsResponse() ClearWarningsResponse { + obj := clearWarningsResponse{obj: &sanity.ClearWarningsResponse{}} + obj.setDefault() + return &obj +} + +func (obj *clearWarningsResponse) Msg() *sanity.ClearWarningsResponse { + return obj.obj +} + +func (obj *clearWarningsResponse) SetMsg(msg *sanity.ClearWarningsResponse) ClearWarningsResponse { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *clearWarningsResponse) ToProto() (*sanity.ClearWarningsResponse, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *clearWarningsResponse) FromProto(msg *sanity.ClearWarningsResponse) (ClearWarningsResponse, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *clearWarningsResponse) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *clearWarningsResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *clearWarningsResponse) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *clearWarningsResponse) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *clearWarningsResponse) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *clearWarningsResponse) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *clearWarningsResponse) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *clearWarningsResponse) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *clearWarningsResponse) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *clearWarningsResponse) Clone() (ClearWarningsResponse, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewClearWarningsResponse() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// ClearWarningsResponse is description is TBD +type ClearWarningsResponse interface { + Validation + // Msg marshals ClearWarningsResponse to protobuf object *sanity.ClearWarningsResponse + // and doesn't set defaults + Msg() *sanity.ClearWarningsResponse + // SetMsg unmarshals ClearWarningsResponse from protobuf object *sanity.ClearWarningsResponse + // and doesn't set defaults + SetMsg(*sanity.ClearWarningsResponse) ClearWarningsResponse + // ToProto marshals ClearWarningsResponse to protobuf object *sanity.ClearWarningsResponse + ToProto() (*sanity.ClearWarningsResponse, error) + // ToPbText marshals ClearWarningsResponse to protobuf text + ToPbText() (string, error) + // ToYaml marshals ClearWarningsResponse to YAML text + ToYaml() (string, error) + // ToJson marshals ClearWarningsResponse to JSON text + ToJson() (string, error) + // FromProto unmarshals ClearWarningsResponse from protobuf object *sanity.ClearWarningsResponse + FromProto(msg *sanity.ClearWarningsResponse) (ClearWarningsResponse, error) + // FromPbText unmarshals ClearWarningsResponse from protobuf text + FromPbText(value string) error + // FromYaml unmarshals ClearWarningsResponse from YAML text + FromYaml(value string) error + // FromJson unmarshals ClearWarningsResponse from JSON text + FromJson(value string) error + // Validate validates ClearWarningsResponse + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (ClearWarningsResponse, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // ResponseString returns string, set in ClearWarningsResponse. + ResponseString() string + // SetResponseString assigns string provided by user to ClearWarningsResponse + SetResponseString(value string) ClearWarningsResponse + // HasResponseString checks if ResponseString has been set in ClearWarningsResponse + HasResponseString() bool +} + +// description is TBD +// ResponseString returns a string +func (obj *clearWarningsResponse) ResponseString() string { + return obj.obj.String_ +} + +// description is TBD +// ResponseString returns a string +func (obj *clearWarningsResponse) HasResponseString() bool { + return obj.obj.String_ != "" +} + +// description is TBD +// SetResponseString sets the string value in the ClearWarningsResponse object +func (obj *clearWarningsResponse) SetResponseString(value string) ClearWarningsResponse { + obj.obj.String_ = value + return obj +} + +func (obj *clearWarningsResponse) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + +} + +func (obj *clearWarningsResponse) setDefault() { + +} + +// ***** GetRootResponseResponse ***** +type getRootResponseResponse struct { + validation + obj *sanity.GetRootResponseResponse + commonResponseSuccessHolder CommonResponseSuccess +} + +func NewGetRootResponseResponse() GetRootResponseResponse { + obj := getRootResponseResponse{obj: &sanity.GetRootResponseResponse{}} + obj.setDefault() + return &obj +} + +func (obj *getRootResponseResponse) Msg() *sanity.GetRootResponseResponse { + return obj.obj +} + +func (obj *getRootResponseResponse) SetMsg(msg *sanity.GetRootResponseResponse) GetRootResponseResponse { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *getRootResponseResponse) ToProto() (*sanity.GetRootResponseResponse, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *getRootResponseResponse) FromProto(msg *sanity.GetRootResponseResponse) (GetRootResponseResponse, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *getRootResponseResponse) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *getRootResponseResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *getRootResponseResponse) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *getRootResponseResponse) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *getRootResponseResponse) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *getRootResponseResponse) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *getRootResponseResponse) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *getRootResponseResponse) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *getRootResponseResponse) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *getRootResponseResponse) Clone() (GetRootResponseResponse, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewGetRootResponseResponse() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *getRootResponseResponse) setNil() { + obj.commonResponseSuccessHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// GetRootResponseResponse is description is TBD +type GetRootResponseResponse interface { + Validation + // Msg marshals GetRootResponseResponse to protobuf object *sanity.GetRootResponseResponse + // and doesn't set defaults + Msg() *sanity.GetRootResponseResponse + // SetMsg unmarshals GetRootResponseResponse from protobuf object *sanity.GetRootResponseResponse + // and doesn't set defaults + SetMsg(*sanity.GetRootResponseResponse) GetRootResponseResponse + // ToProto marshals GetRootResponseResponse to protobuf object *sanity.GetRootResponseResponse + ToProto() (*sanity.GetRootResponseResponse, error) + // ToPbText marshals GetRootResponseResponse to protobuf text + ToPbText() (string, error) + // ToYaml marshals GetRootResponseResponse to YAML text + ToYaml() (string, error) + // ToJson marshals GetRootResponseResponse to JSON text + ToJson() (string, error) + // FromProto unmarshals GetRootResponseResponse from protobuf object *sanity.GetRootResponseResponse + FromProto(msg *sanity.GetRootResponseResponse) (GetRootResponseResponse, error) + // FromPbText unmarshals GetRootResponseResponse from protobuf text + FromPbText(value string) error + // FromYaml unmarshals GetRootResponseResponse from YAML text + FromYaml(value string) error + // FromJson unmarshals GetRootResponseResponse from JSON text + FromJson(value string) error + // Validate validates GetRootResponseResponse + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (GetRootResponseResponse, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // CommonResponseSuccess returns CommonResponseSuccess, set in GetRootResponseResponse. + // CommonResponseSuccess is description is TBD + CommonResponseSuccess() CommonResponseSuccess + // SetCommonResponseSuccess assigns CommonResponseSuccess provided by user to GetRootResponseResponse. + // CommonResponseSuccess is description is TBD + SetCommonResponseSuccess(value CommonResponseSuccess) GetRootResponseResponse + // HasCommonResponseSuccess checks if CommonResponseSuccess has been set in GetRootResponseResponse + HasCommonResponseSuccess() bool + setNil() +} + +// description is TBD +// CommonResponseSuccess returns a CommonResponseSuccess +func (obj *getRootResponseResponse) CommonResponseSuccess() CommonResponseSuccess { + if obj.obj.CommonResponseSuccess == nil { + obj.obj.CommonResponseSuccess = NewCommonResponseSuccess().Msg() + } + if obj.commonResponseSuccessHolder == nil { + obj.commonResponseSuccessHolder = &commonResponseSuccess{obj: obj.obj.CommonResponseSuccess} + } + return obj.commonResponseSuccessHolder +} + +// description is TBD +// CommonResponseSuccess returns a CommonResponseSuccess +func (obj *getRootResponseResponse) HasCommonResponseSuccess() bool { + return obj.obj.CommonResponseSuccess != nil +} + +// description is TBD +// SetCommonResponseSuccess sets the CommonResponseSuccess value in the GetRootResponseResponse object +func (obj *getRootResponseResponse) SetCommonResponseSuccess(value CommonResponseSuccess) GetRootResponseResponse { + + obj.commonResponseSuccessHolder = nil + obj.obj.CommonResponseSuccess = value.Msg() + + return obj +} + +func (obj *getRootResponseResponse) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.CommonResponseSuccess != nil { + + obj.CommonResponseSuccess().validateObj(vObj, set_default) + } + +} + +func (obj *getRootResponseResponse) setDefault() { + +} + +// ***** DummyResponseTestResponse ***** +type dummyResponseTestResponse struct { + validation + obj *sanity.DummyResponseTestResponse +} + +func NewDummyResponseTestResponse() DummyResponseTestResponse { + obj := dummyResponseTestResponse{obj: &sanity.DummyResponseTestResponse{}} + obj.setDefault() + return &obj +} + +func (obj *dummyResponseTestResponse) Msg() *sanity.DummyResponseTestResponse { + return obj.obj +} + +func (obj *dummyResponseTestResponse) SetMsg(msg *sanity.DummyResponseTestResponse) DummyResponseTestResponse { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *dummyResponseTestResponse) ToProto() (*sanity.DummyResponseTestResponse, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *dummyResponseTestResponse) FromProto(msg *sanity.DummyResponseTestResponse) (DummyResponseTestResponse, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *dummyResponseTestResponse) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *dummyResponseTestResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *dummyResponseTestResponse) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *dummyResponseTestResponse) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *dummyResponseTestResponse) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *dummyResponseTestResponse) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *dummyResponseTestResponse) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *dummyResponseTestResponse) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *dummyResponseTestResponse) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *dummyResponseTestResponse) Clone() (DummyResponseTestResponse, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewDummyResponseTestResponse() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// DummyResponseTestResponse is description is TBD +type DummyResponseTestResponse interface { + Validation + // Msg marshals DummyResponseTestResponse to protobuf object *sanity.DummyResponseTestResponse + // and doesn't set defaults + Msg() *sanity.DummyResponseTestResponse + // SetMsg unmarshals DummyResponseTestResponse from protobuf object *sanity.DummyResponseTestResponse + // and doesn't set defaults + SetMsg(*sanity.DummyResponseTestResponse) DummyResponseTestResponse + // ToProto marshals DummyResponseTestResponse to protobuf object *sanity.DummyResponseTestResponse + ToProto() (*sanity.DummyResponseTestResponse, error) + // ToPbText marshals DummyResponseTestResponse to protobuf text + ToPbText() (string, error) + // ToYaml marshals DummyResponseTestResponse to YAML text + ToYaml() (string, error) + // ToJson marshals DummyResponseTestResponse to JSON text + ToJson() (string, error) + // FromProto unmarshals DummyResponseTestResponse from protobuf object *sanity.DummyResponseTestResponse + FromProto(msg *sanity.DummyResponseTestResponse) (DummyResponseTestResponse, error) + // FromPbText unmarshals DummyResponseTestResponse from protobuf text + FromPbText(value string) error + // FromYaml unmarshals DummyResponseTestResponse from YAML text + FromYaml(value string) error + // FromJson unmarshals DummyResponseTestResponse from JSON text + FromJson(value string) error + // Validate validates DummyResponseTestResponse + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (DummyResponseTestResponse, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // ResponseString returns string, set in DummyResponseTestResponse. + ResponseString() string + // SetResponseString assigns string provided by user to DummyResponseTestResponse + SetResponseString(value string) DummyResponseTestResponse + // HasResponseString checks if ResponseString has been set in DummyResponseTestResponse + HasResponseString() bool +} + +// description is TBD +// ResponseString returns a string +func (obj *dummyResponseTestResponse) ResponseString() string { + return obj.obj.String_ +} + +// description is TBD +// ResponseString returns a string +func (obj *dummyResponseTestResponse) HasResponseString() bool { + return obj.obj.String_ != "" +} + +// description is TBD +// SetResponseString sets the string value in the DummyResponseTestResponse object +func (obj *dummyResponseTestResponse) SetResponseString(value string) DummyResponseTestResponse { + obj.obj.String_ = value + return obj +} + +func (obj *dummyResponseTestResponse) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + +} + +func (obj *dummyResponseTestResponse) setDefault() { + +} + +// ***** PostRootResponseResponse ***** +type postRootResponseResponse struct { + validation + obj *sanity.PostRootResponseResponse + commonResponseSuccessHolder CommonResponseSuccess +} + +func NewPostRootResponseResponse() PostRootResponseResponse { + obj := postRootResponseResponse{obj: &sanity.PostRootResponseResponse{}} + obj.setDefault() + return &obj +} + +func (obj *postRootResponseResponse) Msg() *sanity.PostRootResponseResponse { + return obj.obj +} + +func (obj *postRootResponseResponse) SetMsg(msg *sanity.PostRootResponseResponse) PostRootResponseResponse { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *postRootResponseResponse) ToProto() (*sanity.PostRootResponseResponse, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *postRootResponseResponse) FromProto(msg *sanity.PostRootResponseResponse) (PostRootResponseResponse, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *postRootResponseResponse) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *postRootResponseResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *postRootResponseResponse) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *postRootResponseResponse) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *postRootResponseResponse) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *postRootResponseResponse) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *postRootResponseResponse) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *postRootResponseResponse) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *postRootResponseResponse) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *postRootResponseResponse) Clone() (PostRootResponseResponse, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewPostRootResponseResponse() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *postRootResponseResponse) setNil() { + obj.commonResponseSuccessHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// PostRootResponseResponse is description is TBD +type PostRootResponseResponse interface { + Validation + // Msg marshals PostRootResponseResponse to protobuf object *sanity.PostRootResponseResponse + // and doesn't set defaults + Msg() *sanity.PostRootResponseResponse + // SetMsg unmarshals PostRootResponseResponse from protobuf object *sanity.PostRootResponseResponse + // and doesn't set defaults + SetMsg(*sanity.PostRootResponseResponse) PostRootResponseResponse + // ToProto marshals PostRootResponseResponse to protobuf object *sanity.PostRootResponseResponse + ToProto() (*sanity.PostRootResponseResponse, error) + // ToPbText marshals PostRootResponseResponse to protobuf text + ToPbText() (string, error) + // ToYaml marshals PostRootResponseResponse to YAML text + ToYaml() (string, error) + // ToJson marshals PostRootResponseResponse to JSON text + ToJson() (string, error) + // FromProto unmarshals PostRootResponseResponse from protobuf object *sanity.PostRootResponseResponse + FromProto(msg *sanity.PostRootResponseResponse) (PostRootResponseResponse, error) + // FromPbText unmarshals PostRootResponseResponse from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PostRootResponseResponse from YAML text + FromYaml(value string) error + // FromJson unmarshals PostRootResponseResponse from JSON text + FromJson(value string) error + // Validate validates PostRootResponseResponse + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (PostRootResponseResponse, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // CommonResponseSuccess returns CommonResponseSuccess, set in PostRootResponseResponse. + // CommonResponseSuccess is description is TBD + CommonResponseSuccess() CommonResponseSuccess + // SetCommonResponseSuccess assigns CommonResponseSuccess provided by user to PostRootResponseResponse. + // CommonResponseSuccess is description is TBD + SetCommonResponseSuccess(value CommonResponseSuccess) PostRootResponseResponse + // HasCommonResponseSuccess checks if CommonResponseSuccess has been set in PostRootResponseResponse + HasCommonResponseSuccess() bool + setNil() +} + +// description is TBD +// CommonResponseSuccess returns a CommonResponseSuccess +func (obj *postRootResponseResponse) CommonResponseSuccess() CommonResponseSuccess { + if obj.obj.CommonResponseSuccess == nil { + obj.obj.CommonResponseSuccess = NewCommonResponseSuccess().Msg() + } + if obj.commonResponseSuccessHolder == nil { + obj.commonResponseSuccessHolder = &commonResponseSuccess{obj: obj.obj.CommonResponseSuccess} + } + return obj.commonResponseSuccessHolder +} + +// description is TBD +// CommonResponseSuccess returns a CommonResponseSuccess +func (obj *postRootResponseResponse) HasCommonResponseSuccess() bool { + return obj.obj.CommonResponseSuccess != nil +} + +// description is TBD +// SetCommonResponseSuccess sets the CommonResponseSuccess value in the PostRootResponseResponse object +func (obj *postRootResponseResponse) SetCommonResponseSuccess(value CommonResponseSuccess) PostRootResponseResponse { + + obj.commonResponseSuccessHolder = nil + obj.obj.CommonResponseSuccess = value.Msg() + + return obj +} + +func (obj *postRootResponseResponse) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.CommonResponseSuccess != nil { + + obj.CommonResponseSuccess().validateObj(vObj, set_default) + } + +} + +func (obj *postRootResponseResponse) setDefault() { + +} + +// ***** GetAllItemsResponse ***** +type getAllItemsResponse struct { + validation + obj *sanity.GetAllItemsResponse + serviceAbcItemListHolder ServiceAbcItemList +} + +func NewGetAllItemsResponse() GetAllItemsResponse { + obj := getAllItemsResponse{obj: &sanity.GetAllItemsResponse{}} + obj.setDefault() + return &obj +} + +func (obj *getAllItemsResponse) Msg() *sanity.GetAllItemsResponse { + return obj.obj +} + +func (obj *getAllItemsResponse) SetMsg(msg *sanity.GetAllItemsResponse) GetAllItemsResponse { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *getAllItemsResponse) ToProto() (*sanity.GetAllItemsResponse, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *getAllItemsResponse) FromProto(msg *sanity.GetAllItemsResponse) (GetAllItemsResponse, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *getAllItemsResponse) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *getAllItemsResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *getAllItemsResponse) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *getAllItemsResponse) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *getAllItemsResponse) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *getAllItemsResponse) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *getAllItemsResponse) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *getAllItemsResponse) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *getAllItemsResponse) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *getAllItemsResponse) Clone() (GetAllItemsResponse, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewGetAllItemsResponse() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *getAllItemsResponse) setNil() { + obj.serviceAbcItemListHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// GetAllItemsResponse is description is TBD +type GetAllItemsResponse interface { + Validation + // Msg marshals GetAllItemsResponse to protobuf object *sanity.GetAllItemsResponse + // and doesn't set defaults + Msg() *sanity.GetAllItemsResponse + // SetMsg unmarshals GetAllItemsResponse from protobuf object *sanity.GetAllItemsResponse + // and doesn't set defaults + SetMsg(*sanity.GetAllItemsResponse) GetAllItemsResponse + // ToProto marshals GetAllItemsResponse to protobuf object *sanity.GetAllItemsResponse + ToProto() (*sanity.GetAllItemsResponse, error) + // ToPbText marshals GetAllItemsResponse to protobuf text + ToPbText() (string, error) + // ToYaml marshals GetAllItemsResponse to YAML text + ToYaml() (string, error) + // ToJson marshals GetAllItemsResponse to JSON text + ToJson() (string, error) + // FromProto unmarshals GetAllItemsResponse from protobuf object *sanity.GetAllItemsResponse + FromProto(msg *sanity.GetAllItemsResponse) (GetAllItemsResponse, error) + // FromPbText unmarshals GetAllItemsResponse from protobuf text + FromPbText(value string) error + // FromYaml unmarshals GetAllItemsResponse from YAML text + FromYaml(value string) error + // FromJson unmarshals GetAllItemsResponse from JSON text + FromJson(value string) error + // Validate validates GetAllItemsResponse + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (GetAllItemsResponse, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // ServiceAbcItemList returns ServiceAbcItemList, set in GetAllItemsResponse. + // ServiceAbcItemList is description is TBD + ServiceAbcItemList() ServiceAbcItemList + // SetServiceAbcItemList assigns ServiceAbcItemList provided by user to GetAllItemsResponse. + // ServiceAbcItemList is description is TBD + SetServiceAbcItemList(value ServiceAbcItemList) GetAllItemsResponse + // HasServiceAbcItemList checks if ServiceAbcItemList has been set in GetAllItemsResponse + HasServiceAbcItemList() bool + setNil() +} + +// description is TBD +// ServiceAbcItemList returns a ServiceAbcItemList +func (obj *getAllItemsResponse) ServiceAbcItemList() ServiceAbcItemList { + if obj.obj.ServiceAbcItemList == nil { + obj.obj.ServiceAbcItemList = NewServiceAbcItemList().Msg() + } + if obj.serviceAbcItemListHolder == nil { + obj.serviceAbcItemListHolder = &serviceAbcItemList{obj: obj.obj.ServiceAbcItemList} + } + return obj.serviceAbcItemListHolder +} + +// description is TBD +// ServiceAbcItemList returns a ServiceAbcItemList +func (obj *getAllItemsResponse) HasServiceAbcItemList() bool { + return obj.obj.ServiceAbcItemList != nil +} + +// description is TBD +// SetServiceAbcItemList sets the ServiceAbcItemList value in the GetAllItemsResponse object +func (obj *getAllItemsResponse) SetServiceAbcItemList(value ServiceAbcItemList) GetAllItemsResponse { + + obj.serviceAbcItemListHolder = nil + obj.obj.ServiceAbcItemList = value.Msg() + + return obj +} + +func (obj *getAllItemsResponse) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.ServiceAbcItemList != nil { + + obj.ServiceAbcItemList().validateObj(vObj, set_default) + } + +} + +func (obj *getAllItemsResponse) setDefault() { + +} + +// ***** GetSingleItemResponse ***** +type getSingleItemResponse struct { + validation + obj *sanity.GetSingleItemResponse + serviceAbcItemHolder ServiceAbcItem +} + +func NewGetSingleItemResponse() GetSingleItemResponse { + obj := getSingleItemResponse{obj: &sanity.GetSingleItemResponse{}} + obj.setDefault() + return &obj +} + +func (obj *getSingleItemResponse) Msg() *sanity.GetSingleItemResponse { + return obj.obj +} + +func (obj *getSingleItemResponse) SetMsg(msg *sanity.GetSingleItemResponse) GetSingleItemResponse { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *getSingleItemResponse) ToProto() (*sanity.GetSingleItemResponse, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *getSingleItemResponse) FromProto(msg *sanity.GetSingleItemResponse) (GetSingleItemResponse, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *getSingleItemResponse) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *getSingleItemResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *getSingleItemResponse) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *getSingleItemResponse) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *getSingleItemResponse) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *getSingleItemResponse) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *getSingleItemResponse) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *getSingleItemResponse) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *getSingleItemResponse) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *getSingleItemResponse) Clone() (GetSingleItemResponse, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewGetSingleItemResponse() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *getSingleItemResponse) setNil() { + obj.serviceAbcItemHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// GetSingleItemResponse is description is TBD +type GetSingleItemResponse interface { + Validation + // Msg marshals GetSingleItemResponse to protobuf object *sanity.GetSingleItemResponse + // and doesn't set defaults + Msg() *sanity.GetSingleItemResponse + // SetMsg unmarshals GetSingleItemResponse from protobuf object *sanity.GetSingleItemResponse + // and doesn't set defaults + SetMsg(*sanity.GetSingleItemResponse) GetSingleItemResponse + // ToProto marshals GetSingleItemResponse to protobuf object *sanity.GetSingleItemResponse + ToProto() (*sanity.GetSingleItemResponse, error) + // ToPbText marshals GetSingleItemResponse to protobuf text + ToPbText() (string, error) + // ToYaml marshals GetSingleItemResponse to YAML text + ToYaml() (string, error) + // ToJson marshals GetSingleItemResponse to JSON text + ToJson() (string, error) + // FromProto unmarshals GetSingleItemResponse from protobuf object *sanity.GetSingleItemResponse + FromProto(msg *sanity.GetSingleItemResponse) (GetSingleItemResponse, error) + // FromPbText unmarshals GetSingleItemResponse from protobuf text + FromPbText(value string) error + // FromYaml unmarshals GetSingleItemResponse from YAML text + FromYaml(value string) error + // FromJson unmarshals GetSingleItemResponse from JSON text + FromJson(value string) error + // Validate validates GetSingleItemResponse + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (GetSingleItemResponse, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // ServiceAbcItem returns ServiceAbcItem, set in GetSingleItemResponse. + // ServiceAbcItem is description is TBD + ServiceAbcItem() ServiceAbcItem + // SetServiceAbcItem assigns ServiceAbcItem provided by user to GetSingleItemResponse. + // ServiceAbcItem is description is TBD + SetServiceAbcItem(value ServiceAbcItem) GetSingleItemResponse + // HasServiceAbcItem checks if ServiceAbcItem has been set in GetSingleItemResponse + HasServiceAbcItem() bool + setNil() +} + +// description is TBD +// ServiceAbcItem returns a ServiceAbcItem +func (obj *getSingleItemResponse) ServiceAbcItem() ServiceAbcItem { + if obj.obj.ServiceAbcItem == nil { + obj.obj.ServiceAbcItem = NewServiceAbcItem().Msg() + } + if obj.serviceAbcItemHolder == nil { + obj.serviceAbcItemHolder = &serviceAbcItem{obj: obj.obj.ServiceAbcItem} + } + return obj.serviceAbcItemHolder +} + +// description is TBD +// ServiceAbcItem returns a ServiceAbcItem +func (obj *getSingleItemResponse) HasServiceAbcItem() bool { + return obj.obj.ServiceAbcItem != nil +} + +// description is TBD +// SetServiceAbcItem sets the ServiceAbcItem value in the GetSingleItemResponse object +func (obj *getSingleItemResponse) SetServiceAbcItem(value ServiceAbcItem) GetSingleItemResponse { + + obj.serviceAbcItemHolder = nil + obj.obj.ServiceAbcItem = value.Msg() + + return obj +} + +func (obj *getSingleItemResponse) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.ServiceAbcItem != nil { + + obj.ServiceAbcItem().validateObj(vObj, set_default) + } + +} + +func (obj *getSingleItemResponse) setDefault() { + +} + +// ***** GetSingleItemLevel2Response ***** +type getSingleItemLevel2Response struct { + validation + obj *sanity.GetSingleItemLevel2Response + serviceAbcItemHolder ServiceAbcItem +} + +func NewGetSingleItemLevel2Response() GetSingleItemLevel2Response { + obj := getSingleItemLevel2Response{obj: &sanity.GetSingleItemLevel2Response{}} + obj.setDefault() + return &obj +} + +func (obj *getSingleItemLevel2Response) Msg() *sanity.GetSingleItemLevel2Response { + return obj.obj +} + +func (obj *getSingleItemLevel2Response) SetMsg(msg *sanity.GetSingleItemLevel2Response) GetSingleItemLevel2Response { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *getSingleItemLevel2Response) ToProto() (*sanity.GetSingleItemLevel2Response, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *getSingleItemLevel2Response) FromProto(msg *sanity.GetSingleItemLevel2Response) (GetSingleItemLevel2Response, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *getSingleItemLevel2Response) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *getSingleItemLevel2Response) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *getSingleItemLevel2Response) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *getSingleItemLevel2Response) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *getSingleItemLevel2Response) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *getSingleItemLevel2Response) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *getSingleItemLevel2Response) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *getSingleItemLevel2Response) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *getSingleItemLevel2Response) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *getSingleItemLevel2Response) Clone() (GetSingleItemLevel2Response, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewGetSingleItemLevel2Response() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *getSingleItemLevel2Response) setNil() { + obj.serviceAbcItemHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// GetSingleItemLevel2Response is description is TBD +type GetSingleItemLevel2Response interface { + Validation + // Msg marshals GetSingleItemLevel2Response to protobuf object *sanity.GetSingleItemLevel2Response + // and doesn't set defaults + Msg() *sanity.GetSingleItemLevel2Response + // SetMsg unmarshals GetSingleItemLevel2Response from protobuf object *sanity.GetSingleItemLevel2Response + // and doesn't set defaults + SetMsg(*sanity.GetSingleItemLevel2Response) GetSingleItemLevel2Response + // ToProto marshals GetSingleItemLevel2Response to protobuf object *sanity.GetSingleItemLevel2Response + ToProto() (*sanity.GetSingleItemLevel2Response, error) + // ToPbText marshals GetSingleItemLevel2Response to protobuf text + ToPbText() (string, error) + // ToYaml marshals GetSingleItemLevel2Response to YAML text + ToYaml() (string, error) + // ToJson marshals GetSingleItemLevel2Response to JSON text + ToJson() (string, error) + // FromProto unmarshals GetSingleItemLevel2Response from protobuf object *sanity.GetSingleItemLevel2Response + FromProto(msg *sanity.GetSingleItemLevel2Response) (GetSingleItemLevel2Response, error) + // FromPbText unmarshals GetSingleItemLevel2Response from protobuf text + FromPbText(value string) error + // FromYaml unmarshals GetSingleItemLevel2Response from YAML text + FromYaml(value string) error + // FromJson unmarshals GetSingleItemLevel2Response from JSON text + FromJson(value string) error + // Validate validates GetSingleItemLevel2Response + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (GetSingleItemLevel2Response, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // ServiceAbcItem returns ServiceAbcItem, set in GetSingleItemLevel2Response. + // ServiceAbcItem is description is TBD + ServiceAbcItem() ServiceAbcItem + // SetServiceAbcItem assigns ServiceAbcItem provided by user to GetSingleItemLevel2Response. + // ServiceAbcItem is description is TBD + SetServiceAbcItem(value ServiceAbcItem) GetSingleItemLevel2Response + // HasServiceAbcItem checks if ServiceAbcItem has been set in GetSingleItemLevel2Response + HasServiceAbcItem() bool + setNil() +} + +// description is TBD +// ServiceAbcItem returns a ServiceAbcItem +func (obj *getSingleItemLevel2Response) ServiceAbcItem() ServiceAbcItem { + if obj.obj.ServiceAbcItem == nil { + obj.obj.ServiceAbcItem = NewServiceAbcItem().Msg() + } + if obj.serviceAbcItemHolder == nil { + obj.serviceAbcItemHolder = &serviceAbcItem{obj: obj.obj.ServiceAbcItem} + } + return obj.serviceAbcItemHolder +} + +// description is TBD +// ServiceAbcItem returns a ServiceAbcItem +func (obj *getSingleItemLevel2Response) HasServiceAbcItem() bool { + return obj.obj.ServiceAbcItem != nil +} + +// description is TBD +// SetServiceAbcItem sets the ServiceAbcItem value in the GetSingleItemLevel2Response object +func (obj *getSingleItemLevel2Response) SetServiceAbcItem(value ServiceAbcItem) GetSingleItemLevel2Response { + + obj.serviceAbcItemHolder = nil + obj.obj.ServiceAbcItem = value.Msg() + + return obj +} + +func (obj *getSingleItemLevel2Response) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.ServiceAbcItem != nil { + + obj.ServiceAbcItem().validateObj(vObj, set_default) + } + +} + +func (obj *getSingleItemLevel2Response) setDefault() { + +} + +// ***** GetVersionResponse ***** +type getVersionResponse struct { + validation + obj *sanity.GetVersionResponse + versionHolder Version +} + +func NewGetVersionResponse() GetVersionResponse { + obj := getVersionResponse{obj: &sanity.GetVersionResponse{}} + obj.setDefault() + return &obj +} + +func (obj *getVersionResponse) Msg() *sanity.GetVersionResponse { + return obj.obj +} + +func (obj *getVersionResponse) SetMsg(msg *sanity.GetVersionResponse) GetVersionResponse { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *getVersionResponse) ToProto() (*sanity.GetVersionResponse, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *getVersionResponse) FromProto(msg *sanity.GetVersionResponse) (GetVersionResponse, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *getVersionResponse) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *getVersionResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *getVersionResponse) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *getVersionResponse) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *getVersionResponse) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *getVersionResponse) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *getVersionResponse) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *getVersionResponse) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *getVersionResponse) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *getVersionResponse) Clone() (GetVersionResponse, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewGetVersionResponse() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *getVersionResponse) setNil() { + obj.versionHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// GetVersionResponse is description is TBD +type GetVersionResponse interface { + Validation + // Msg marshals GetVersionResponse to protobuf object *sanity.GetVersionResponse + // and doesn't set defaults + Msg() *sanity.GetVersionResponse + // SetMsg unmarshals GetVersionResponse from protobuf object *sanity.GetVersionResponse + // and doesn't set defaults + SetMsg(*sanity.GetVersionResponse) GetVersionResponse + // ToProto marshals GetVersionResponse to protobuf object *sanity.GetVersionResponse + ToProto() (*sanity.GetVersionResponse, error) + // ToPbText marshals GetVersionResponse to protobuf text + ToPbText() (string, error) + // ToYaml marshals GetVersionResponse to YAML text + ToYaml() (string, error) + // ToJson marshals GetVersionResponse to JSON text + ToJson() (string, error) + // FromProto unmarshals GetVersionResponse from protobuf object *sanity.GetVersionResponse + FromProto(msg *sanity.GetVersionResponse) (GetVersionResponse, error) + // FromPbText unmarshals GetVersionResponse from protobuf text + FromPbText(value string) error + // FromYaml unmarshals GetVersionResponse from YAML text + FromYaml(value string) error + // FromJson unmarshals GetVersionResponse from JSON text + FromJson(value string) error + // Validate validates GetVersionResponse + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (GetVersionResponse, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Version returns Version, set in GetVersionResponse. + // Version is version details + Version() Version + // SetVersion assigns Version provided by user to GetVersionResponse. + // Version is version details + SetVersion(value Version) GetVersionResponse + // HasVersion checks if Version has been set in GetVersionResponse + HasVersion() bool + setNil() +} + +// description is TBD +// Version returns a Version +func (obj *getVersionResponse) Version() Version { + if obj.obj.Version == nil { + obj.obj.Version = NewVersion().Msg() + } + if obj.versionHolder == nil { + obj.versionHolder = &version{obj: obj.obj.Version} + } + return obj.versionHolder +} + +// description is TBD +// Version returns a Version +func (obj *getVersionResponse) HasVersion() bool { + return obj.obj.Version != nil +} + +// description is TBD +// SetVersion sets the Version value in the GetVersionResponse object +func (obj *getVersionResponse) SetVersion(value Version) GetVersionResponse { + + obj.versionHolder = nil + obj.obj.Version = value.Msg() + + return obj +} + +func (obj *getVersionResponse) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Version != nil { + + obj.Version().validateObj(vObj, set_default) + } + +} + +func (obj *getVersionResponse) setDefault() { + +} + +// ***** EObject ***** +type eObject struct { + validation + obj *sanity.EObject +} + +func NewEObject() EObject { + obj := eObject{obj: &sanity.EObject{}} + obj.setDefault() + return &obj +} + +func (obj *eObject) Msg() *sanity.EObject { + return obj.obj +} + +func (obj *eObject) SetMsg(msg *sanity.EObject) EObject { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *eObject) ToProto() (*sanity.EObject, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *eObject) FromProto(msg *sanity.EObject) (EObject, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *eObject) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *eObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *eObject) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *eObject) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *eObject) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *eObject) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *eObject) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *eObject) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *eObject) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *eObject) Clone() (EObject, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewEObject() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// EObject is description is TBD +type EObject interface { + Validation + // Msg marshals EObject to protobuf object *sanity.EObject + // and doesn't set defaults + Msg() *sanity.EObject + // SetMsg unmarshals EObject from protobuf object *sanity.EObject + // and doesn't set defaults + SetMsg(*sanity.EObject) EObject + // ToProto marshals EObject to protobuf object *sanity.EObject + ToProto() (*sanity.EObject, error) + // ToPbText marshals EObject to protobuf text + ToPbText() (string, error) + // ToYaml marshals EObject to YAML text + ToYaml() (string, error) + // ToJson marshals EObject to JSON text + ToJson() (string, error) + // FromProto unmarshals EObject from protobuf object *sanity.EObject + FromProto(msg *sanity.EObject) (EObject, error) + // FromPbText unmarshals EObject from protobuf text + FromPbText(value string) error + // FromYaml unmarshals EObject from YAML text + FromYaml(value string) error + // FromJson unmarshals EObject from JSON text + FromJson(value string) error + // Validate validates EObject + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (EObject, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // EA returns float32, set in EObject. + EA() float32 + // SetEA assigns float32 provided by user to EObject + SetEA(value float32) EObject + // EB returns float64, set in EObject. + EB() float64 + // SetEB assigns float64 provided by user to EObject + SetEB(value float64) EObject + // Name returns string, set in EObject. + Name() string + // SetName assigns string provided by user to EObject + SetName(value string) EObject + // HasName checks if Name has been set in EObject + HasName() bool + // MParam1 returns string, set in EObject. + MParam1() string + // SetMParam1 assigns string provided by user to EObject + SetMParam1(value string) EObject + // HasMParam1 checks if MParam1 has been set in EObject + HasMParam1() bool + // MParam2 returns string, set in EObject. + MParam2() string + // SetMParam2 assigns string provided by user to EObject + SetMParam2(value string) EObject + // HasMParam2 checks if MParam2 has been set in EObject + HasMParam2() bool +} + +// description is TBD +// EA returns a float32 +func (obj *eObject) EA() float32 { + + return obj.obj.EA +} + +// description is TBD +// SetEA sets the float32 value in the EObject object +func (obj *eObject) SetEA(value float32) EObject { + + obj.obj.EA = value + return obj +} + +// description is TBD +// EB returns a float64 +func (obj *eObject) EB() float64 { + + return obj.obj.EB +} + +// description is TBD +// SetEB sets the float64 value in the EObject object +func (obj *eObject) SetEB(value float64) EObject { + + obj.obj.EB = value + return obj +} + +// description is TBD +// Name returns a string +func (obj *eObject) Name() string { + + return *obj.obj.Name + +} + +// description is TBD +// Name returns a string +func (obj *eObject) HasName() bool { + return obj.obj.Name != nil +} + +// description is TBD +// SetName sets the string value in the EObject object +func (obj *eObject) SetName(value string) EObject { + + obj.obj.Name = &value + return obj +} + +// description is TBD +// MParam1 returns a string +func (obj *eObject) MParam1() string { + + return *obj.obj.MParam1 + +} + +// description is TBD +// MParam1 returns a string +func (obj *eObject) HasMParam1() bool { + return obj.obj.MParam1 != nil +} + +// description is TBD +// SetMParam1 sets the string value in the EObject object +func (obj *eObject) SetMParam1(value string) EObject { + + obj.obj.MParam1 = &value + return obj +} + +// description is TBD +// MParam2 returns a string +func (obj *eObject) MParam2() string { + + return *obj.obj.MParam2 + +} + +// description is TBD +// MParam2 returns a string +func (obj *eObject) HasMParam2() bool { + return obj.obj.MParam2 != nil +} + +// description is TBD +// SetMParam2 sets the string value in the EObject object +func (obj *eObject) SetMParam2(value string) EObject { + + obj.obj.MParam2 = &value + return obj +} + +func (obj *eObject) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + +} + +func (obj *eObject) setDefault() { + +} + +// ***** FObject ***** +type fObject struct { + validation + obj *sanity.FObject +} + +func NewFObject() FObject { + obj := fObject{obj: &sanity.FObject{}} + obj.setDefault() + return &obj +} + +func (obj *fObject) Msg() *sanity.FObject { + return obj.obj +} + +func (obj *fObject) SetMsg(msg *sanity.FObject) FObject { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *fObject) ToProto() (*sanity.FObject, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *fObject) FromProto(msg *sanity.FObject) (FObject, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *fObject) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *fObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *fObject) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *fObject) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *fObject) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *fObject) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *fObject) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *fObject) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *fObject) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *fObject) Clone() (FObject, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewFObject() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// FObject is description is TBD +type FObject interface { + Validation + // Msg marshals FObject to protobuf object *sanity.FObject + // and doesn't set defaults + Msg() *sanity.FObject + // SetMsg unmarshals FObject from protobuf object *sanity.FObject + // and doesn't set defaults + SetMsg(*sanity.FObject) FObject + // ToProto marshals FObject to protobuf object *sanity.FObject + ToProto() (*sanity.FObject, error) + // ToPbText marshals FObject to protobuf text + ToPbText() (string, error) + // ToYaml marshals FObject to YAML text + ToYaml() (string, error) + // ToJson marshals FObject to JSON text + ToJson() (string, error) + // FromProto unmarshals FObject from protobuf object *sanity.FObject + FromProto(msg *sanity.FObject) (FObject, error) + // FromPbText unmarshals FObject from protobuf text + FromPbText(value string) error + // FromYaml unmarshals FObject from YAML text + FromYaml(value string) error + // FromJson unmarshals FObject from JSON text + FromJson(value string) error + // Validate validates FObject + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (FObject, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Choice returns FObjectChoiceEnum, set in FObject + Choice() FObjectChoiceEnum + // SetChoice assigns FObjectChoiceEnum provided by user to FObject + SetChoice(value FObjectChoiceEnum) FObject + // HasChoice checks if Choice has been set in FObject + HasChoice() bool + // FA returns string, set in FObject. + FA() string + // SetFA assigns string provided by user to FObject + SetFA(value string) FObject + // HasFA checks if FA has been set in FObject + HasFA() bool + // FB returns float64, set in FObject. + FB() float64 + // SetFB assigns float64 provided by user to FObject + SetFB(value float64) FObject + // HasFB checks if FB has been set in FObject + HasFB() bool +} + +type FObjectChoiceEnum string + +// Enum of Choice on FObject +var FObjectChoice = struct { + F_A FObjectChoiceEnum + F_B FObjectChoiceEnum + F_C FObjectChoiceEnum +}{ + F_A: FObjectChoiceEnum("f_a"), + F_B: FObjectChoiceEnum("f_b"), + F_C: FObjectChoiceEnum("f_c"), +} + +func (obj *fObject) Choice() FObjectChoiceEnum { + return FObjectChoiceEnum(obj.obj.Choice.Enum().String()) +} + +// description is TBD +// Choice returns a string +func (obj *fObject) HasChoice() bool { + return obj.obj.Choice != nil +} + +func (obj *fObject) SetChoice(value FObjectChoiceEnum) FObject { + intValue, ok := sanity.FObject_Choice_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on FObjectChoiceEnum", string(value))) + return obj + } + enumValue := sanity.FObject_Choice_Enum(intValue) + obj.obj.Choice = &enumValue + obj.obj.FB = nil + obj.obj.FA = nil + + if value == FObjectChoice.F_A { + defaultValue := "some string" + obj.obj.FA = &defaultValue + } + + if value == FObjectChoice.F_B { + defaultValue := float64(3.0) + obj.obj.FB = &defaultValue + } + + return obj +} + +// description is TBD +// FA returns a string +func (obj *fObject) FA() string { + + if obj.obj.FA == nil { + obj.SetChoice(FObjectChoice.F_A) + } + + return *obj.obj.FA + +} + +// description is TBD +// FA returns a string +func (obj *fObject) HasFA() bool { + return obj.obj.FA != nil +} + +// description is TBD +// SetFA sets the string value in the FObject object +func (obj *fObject) SetFA(value string) FObject { + obj.SetChoice(FObjectChoice.F_A) + obj.obj.FA = &value + return obj +} + +// description is TBD +// FB returns a float64 +func (obj *fObject) FB() float64 { + + if obj.obj.FB == nil { + obj.SetChoice(FObjectChoice.F_B) + } + + return *obj.obj.FB + +} + +// description is TBD +// FB returns a float64 +func (obj *fObject) HasFB() bool { + return obj.obj.FB != nil +} + +// description is TBD +// SetFB sets the float64 value in the FObject object +func (obj *fObject) SetFB(value float64) FObject { + obj.SetChoice(FObjectChoice.F_B) + obj.obj.FB = &value + return obj +} + +func (obj *fObject) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + +} + +func (obj *fObject) setDefault() { + if obj.obj.Choice == nil { + obj.SetChoice(FObjectChoice.F_A) + + } + +} + +// ***** GObject ***** +type gObject struct { + validation + obj *sanity.GObject +} + +func NewGObject() GObject { + obj := gObject{obj: &sanity.GObject{}} + obj.setDefault() + return &obj +} + +func (obj *gObject) Msg() *sanity.GObject { + return obj.obj +} + +func (obj *gObject) SetMsg(msg *sanity.GObject) GObject { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *gObject) ToProto() (*sanity.GObject, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *gObject) FromProto(msg *sanity.GObject) (GObject, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *gObject) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *gObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *gObject) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *gObject) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *gObject) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *gObject) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *gObject) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *gObject) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *gObject) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *gObject) Clone() (GObject, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewGObject() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// GObject is deprecated: new schema Jobject to be used +// +// Description TBD +type GObject interface { + Validation + // Msg marshals GObject to protobuf object *sanity.GObject + // and doesn't set defaults + Msg() *sanity.GObject + // SetMsg unmarshals GObject from protobuf object *sanity.GObject + // and doesn't set defaults + SetMsg(*sanity.GObject) GObject + // ToProto marshals GObject to protobuf object *sanity.GObject + ToProto() (*sanity.GObject, error) + // ToPbText marshals GObject to protobuf text + ToPbText() (string, error) + // ToYaml marshals GObject to YAML text + ToYaml() (string, error) + // ToJson marshals GObject to JSON text + ToJson() (string, error) + // FromProto unmarshals GObject from protobuf object *sanity.GObject + FromProto(msg *sanity.GObject) (GObject, error) + // FromPbText unmarshals GObject from protobuf text + FromPbText(value string) error + // FromYaml unmarshals GObject from YAML text + FromYaml(value string) error + // FromJson unmarshals GObject from JSON text + FromJson(value string) error + // Validate validates GObject + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (GObject, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // GA returns string, set in GObject. + GA() string + // SetGA assigns string provided by user to GObject + SetGA(value string) GObject + // HasGA checks if GA has been set in GObject + HasGA() bool + // GB returns int32, set in GObject. + GB() int32 + // SetGB assigns int32 provided by user to GObject + SetGB(value int32) GObject + // HasGB checks if GB has been set in GObject + HasGB() bool + // GC returns float32, set in GObject. + GC() float32 + // SetGC assigns float32 provided by user to GObject + SetGC(value float32) GObject + // HasGC checks if GC has been set in GObject + HasGC() bool + // Choice returns GObjectChoiceEnum, set in GObject + Choice() GObjectChoiceEnum + // SetChoice assigns GObjectChoiceEnum provided by user to GObject + SetChoice(value GObjectChoiceEnum) GObject + // HasChoice checks if Choice has been set in GObject + HasChoice() bool + // GD returns string, set in GObject. + GD() string + // SetGD assigns string provided by user to GObject + SetGD(value string) GObject + // HasGD checks if GD has been set in GObject + HasGD() bool + // GE returns float64, set in GObject. + GE() float64 + // SetGE assigns float64 provided by user to GObject + SetGE(value float64) GObject + // HasGE checks if GE has been set in GObject + HasGE() bool + // GF returns GObjectGFEnum, set in GObject + GF() GObjectGFEnum + // SetGF assigns GObjectGFEnum provided by user to GObject + SetGF(value GObjectGFEnum) GObject + // HasGF checks if GF has been set in GObject + HasGF() bool + // Name returns string, set in GObject. + Name() string + // SetName assigns string provided by user to GObject + SetName(value string) GObject + // HasName checks if Name has been set in GObject + HasName() bool +} + +// description is TBD +// GA returns a string +func (obj *gObject) GA() string { + + return *obj.obj.GA + +} + +// description is TBD +// GA returns a string +func (obj *gObject) HasGA() bool { + return obj.obj.GA != nil +} + +// description is TBD +// SetGA sets the string value in the GObject object +func (obj *gObject) SetGA(value string) GObject { + + obj.obj.GA = &value + return obj +} + +// description is TBD +// GB returns a int32 +func (obj *gObject) GB() int32 { + + return *obj.obj.GB + +} + +// description is TBD +// GB returns a int32 +func (obj *gObject) HasGB() bool { + return obj.obj.GB != nil +} + +// description is TBD +// SetGB sets the int32 value in the GObject object +func (obj *gObject) SetGB(value int32) GObject { + + obj.obj.GB = &value + return obj +} + +// Deprecated: Information TBD +// +// Description TBD +// GC returns a float32 +func (obj *gObject) GC() float32 { + + return *obj.obj.GC + +} + +// Deprecated: Information TBD +// +// Description TBD +// GC returns a float32 +func (obj *gObject) HasGC() bool { + return obj.obj.GC != nil +} + +// Deprecated: Information TBD +// +// Description TBD +// SetGC sets the float32 value in the GObject object +func (obj *gObject) SetGC(value float32) GObject { + + obj.obj.GC = &value + return obj +} + +type GObjectChoiceEnum string + +// Enum of Choice on GObject +var GObjectChoice = struct { + G_D GObjectChoiceEnum + G_E GObjectChoiceEnum +}{ + G_D: GObjectChoiceEnum("g_d"), + G_E: GObjectChoiceEnum("g_e"), +} + +func (obj *gObject) Choice() GObjectChoiceEnum { + return GObjectChoiceEnum(obj.obj.Choice.Enum().String()) +} + +// description is TBD +// Choice returns a string +func (obj *gObject) HasChoice() bool { + return obj.obj.Choice != nil +} + +func (obj *gObject) SetChoice(value GObjectChoiceEnum) GObject { + intValue, ok := sanity.GObject_Choice_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on GObjectChoiceEnum", string(value))) + return obj + } + enumValue := sanity.GObject_Choice_Enum(intValue) + obj.obj.Choice = &enumValue + obj.obj.GE = nil + obj.obj.GD = nil + + if value == GObjectChoice.G_D { + defaultValue := "some string" + obj.obj.GD = &defaultValue + } + + if value == GObjectChoice.G_E { + defaultValue := float64(3.0) + obj.obj.GE = &defaultValue + } + + return obj +} + +// description is TBD +// GD returns a string +func (obj *gObject) GD() string { + + if obj.obj.GD == nil { + obj.SetChoice(GObjectChoice.G_D) + } + + return *obj.obj.GD + +} + +// description is TBD +// GD returns a string +func (obj *gObject) HasGD() bool { + return obj.obj.GD != nil +} + +// description is TBD +// SetGD sets the string value in the GObject object +func (obj *gObject) SetGD(value string) GObject { + obj.SetChoice(GObjectChoice.G_D) + obj.obj.GD = &value + return obj +} + +// description is TBD +// GE returns a float64 +func (obj *gObject) GE() float64 { + + if obj.obj.GE == nil { + obj.SetChoice(GObjectChoice.G_E) + } + + return *obj.obj.GE + +} + +// description is TBD +// GE returns a float64 +func (obj *gObject) HasGE() bool { + return obj.obj.GE != nil +} + +// description is TBD +// SetGE sets the float64 value in the GObject object +func (obj *gObject) SetGE(value float64) GObject { + obj.SetChoice(GObjectChoice.G_E) + obj.obj.GE = &value + return obj +} + +type GObjectGFEnum string + +// Enum of GF on GObject +var GObjectGF = struct { + A GObjectGFEnum + B GObjectGFEnum + C GObjectGFEnum +}{ + A: GObjectGFEnum("a"), + B: GObjectGFEnum("b"), + C: GObjectGFEnum("c"), +} + +func (obj *gObject) GF() GObjectGFEnum { + return GObjectGFEnum(obj.obj.GF.Enum().String()) +} + +// Another enum to test protbuf enum generation +// GF returns a string +func (obj *gObject) HasGF() bool { + return obj.obj.GF != nil +} + +func (obj *gObject) SetGF(value GObjectGFEnum) GObject { + intValue, ok := sanity.GObject_GF_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on GObjectGFEnum", string(value))) + return obj + } + enumValue := sanity.GObject_GF_Enum(intValue) + obj.obj.GF = &enumValue + + return obj +} + +// description is TBD +// Name returns a string +func (obj *gObject) Name() string { + + return *obj.obj.Name + +} + +// description is TBD +// Name returns a string +func (obj *gObject) HasName() bool { + return obj.obj.Name != nil +} + +// description is TBD +// SetName sets the string value in the GObject object +func (obj *gObject) SetName(value string) GObject { + + obj.obj.Name = &value + return obj +} + +func (obj *gObject) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + obj.addWarnings("GObject is deprecated, new schema Jobject to be used") + + // GC is deprecated + if obj.obj.GC != nil { + obj.addWarnings("GC property in schema GObject is deprecated, Information TBD") + } + +} + +func (obj *gObject) setDefault() { + if obj.obj.Choice == nil { + obj.SetChoice(GObjectChoice.G_D) + + } + if obj.obj.GA == nil { + obj.SetGA("asdf") + } + if obj.obj.GB == nil { + obj.SetGB(6) + } + if obj.obj.GC == nil { + obj.SetGC(77.7) + } + if obj.obj.GF == nil { + obj.SetGF(GObjectGF.A) + + } + +} + +// ***** JObject ***** +type jObject struct { + validation + obj *sanity.JObject + jAHolder EObject + jBHolder FObject +} + +func NewJObject() JObject { + obj := jObject{obj: &sanity.JObject{}} + obj.setDefault() + return &obj +} + +func (obj *jObject) Msg() *sanity.JObject { + return obj.obj +} + +func (obj *jObject) SetMsg(msg *sanity.JObject) JObject { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *jObject) ToProto() (*sanity.JObject, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *jObject) FromProto(msg *sanity.JObject) (JObject, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *jObject) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *jObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *jObject) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *jObject) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *jObject) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *jObject) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *jObject) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *jObject) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *jObject) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *jObject) Clone() (JObject, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewJObject() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *jObject) setNil() { + obj.jAHolder = nil + obj.jBHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// JObject is description is TBD +type JObject interface { + Validation + // Msg marshals JObject to protobuf object *sanity.JObject + // and doesn't set defaults + Msg() *sanity.JObject + // SetMsg unmarshals JObject from protobuf object *sanity.JObject + // and doesn't set defaults + SetMsg(*sanity.JObject) JObject + // ToProto marshals JObject to protobuf object *sanity.JObject + ToProto() (*sanity.JObject, error) + // ToPbText marshals JObject to protobuf text + ToPbText() (string, error) + // ToYaml marshals JObject to YAML text + ToYaml() (string, error) + // ToJson marshals JObject to JSON text + ToJson() (string, error) + // FromProto unmarshals JObject from protobuf object *sanity.JObject + FromProto(msg *sanity.JObject) (JObject, error) + // FromPbText unmarshals JObject from protobuf text + FromPbText(value string) error + // FromYaml unmarshals JObject from YAML text + FromYaml(value string) error + // FromJson unmarshals JObject from JSON text + FromJson(value string) error + // Validate validates JObject + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (JObject, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Choice returns JObjectChoiceEnum, set in JObject + Choice() JObjectChoiceEnum + // SetChoice assigns JObjectChoiceEnum provided by user to JObject + SetChoice(value JObjectChoiceEnum) JObject + // HasChoice checks if Choice has been set in JObject + HasChoice() bool + // JA returns EObject, set in JObject. + // EObject is description is TBD + JA() EObject + // SetJA assigns EObject provided by user to JObject. + // EObject is description is TBD + SetJA(value EObject) JObject + // HasJA checks if JA has been set in JObject + HasJA() bool + // JB returns FObject, set in JObject. + // FObject is description is TBD + JB() FObject + // SetJB assigns FObject provided by user to JObject. + // FObject is description is TBD + SetJB(value FObject) JObject + // HasJB checks if JB has been set in JObject + HasJB() bool + setNil() +} + +type JObjectChoiceEnum string + +// Enum of Choice on JObject +var JObjectChoice = struct { + J_A JObjectChoiceEnum + J_B JObjectChoiceEnum +}{ + J_A: JObjectChoiceEnum("j_a"), + J_B: JObjectChoiceEnum("j_b"), +} + +func (obj *jObject) Choice() JObjectChoiceEnum { + return JObjectChoiceEnum(obj.obj.Choice.Enum().String()) +} + +// description is TBD +// Choice returns a string +func (obj *jObject) HasChoice() bool { + return obj.obj.Choice != nil +} + +func (obj *jObject) SetChoice(value JObjectChoiceEnum) JObject { + intValue, ok := sanity.JObject_Choice_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on JObjectChoiceEnum", string(value))) + return obj + } + enumValue := sanity.JObject_Choice_Enum(intValue) + obj.obj.Choice = &enumValue + obj.obj.JB = nil + obj.jBHolder = nil + obj.obj.JA = nil + obj.jAHolder = nil + + if value == JObjectChoice.J_A { + obj.obj.JA = NewEObject().Msg() + } + + if value == JObjectChoice.J_B { + obj.obj.JB = NewFObject().Msg() + } + + return obj +} + +// description is TBD +// JA returns a EObject +func (obj *jObject) JA() EObject { + if obj.obj.JA == nil { + obj.SetChoice(JObjectChoice.J_A) + } + if obj.jAHolder == nil { + obj.jAHolder = &eObject{obj: obj.obj.JA} + } + return obj.jAHolder +} + +// description is TBD +// JA returns a EObject +func (obj *jObject) HasJA() bool { + return obj.obj.JA != nil +} + +// description is TBD +// SetJA sets the EObject value in the JObject object +func (obj *jObject) SetJA(value EObject) JObject { + obj.SetChoice(JObjectChoice.J_A) + obj.jAHolder = nil + obj.obj.JA = value.Msg() + + return obj +} + +// description is TBD +// JB returns a FObject +func (obj *jObject) JB() FObject { + if obj.obj.JB == nil { + obj.SetChoice(JObjectChoice.J_B) + } + if obj.jBHolder == nil { + obj.jBHolder = &fObject{obj: obj.obj.JB} + } + return obj.jBHolder +} + +// description is TBD +// JB returns a FObject +func (obj *jObject) HasJB() bool { + return obj.obj.JB != nil +} + +// description is TBD +// SetJB sets the FObject value in the JObject object +func (obj *jObject) SetJB(value FObject) JObject { + obj.SetChoice(JObjectChoice.J_B) + obj.jBHolder = nil + obj.obj.JB = value.Msg() + + return obj +} + +func (obj *jObject) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Choice.Number() == 2 { + obj.addWarnings("J_B enum in property Choice is deprecated, use j_a instead") + } + + if obj.obj.JA != nil { + + obj.JA().validateObj(vObj, set_default) + } + + if obj.obj.JB != nil { + + obj.JB().validateObj(vObj, set_default) + } + +} + +func (obj *jObject) setDefault() { + if obj.obj.Choice == nil { + obj.SetChoice(JObjectChoice.J_A) + + } + +} + +// ***** KObject ***** +type kObject struct { + validation + obj *sanity.KObject + eObjectHolder EObject + fObjectHolder FObject +} + +func NewKObject() KObject { + obj := kObject{obj: &sanity.KObject{}} + obj.setDefault() + return &obj +} + +func (obj *kObject) Msg() *sanity.KObject { + return obj.obj +} + +func (obj *kObject) SetMsg(msg *sanity.KObject) KObject { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *kObject) ToProto() (*sanity.KObject, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *kObject) FromProto(msg *sanity.KObject) (KObject, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *kObject) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *kObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *kObject) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *kObject) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *kObject) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *kObject) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *kObject) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *kObject) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *kObject) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *kObject) Clone() (KObject, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewKObject() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *kObject) setNil() { + obj.eObjectHolder = nil + obj.fObjectHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// KObject is description is TBD +type KObject interface { + Validation + // Msg marshals KObject to protobuf object *sanity.KObject + // and doesn't set defaults + Msg() *sanity.KObject + // SetMsg unmarshals KObject from protobuf object *sanity.KObject + // and doesn't set defaults + SetMsg(*sanity.KObject) KObject + // ToProto marshals KObject to protobuf object *sanity.KObject + ToProto() (*sanity.KObject, error) + // ToPbText marshals KObject to protobuf text + ToPbText() (string, error) + // ToYaml marshals KObject to YAML text + ToYaml() (string, error) + // ToJson marshals KObject to JSON text + ToJson() (string, error) + // FromProto unmarshals KObject from protobuf object *sanity.KObject + FromProto(msg *sanity.KObject) (KObject, error) + // FromPbText unmarshals KObject from protobuf text + FromPbText(value string) error + // FromYaml unmarshals KObject from YAML text + FromYaml(value string) error + // FromJson unmarshals KObject from JSON text + FromJson(value string) error + // Validate validates KObject + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (KObject, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // EObject returns EObject, set in KObject. + // EObject is description is TBD + EObject() EObject + // SetEObject assigns EObject provided by user to KObject. + // EObject is description is TBD + SetEObject(value EObject) KObject + // HasEObject checks if EObject has been set in KObject + HasEObject() bool + // FObject returns FObject, set in KObject. + // FObject is description is TBD + FObject() FObject + // SetFObject assigns FObject provided by user to KObject. + // FObject is description is TBD + SetFObject(value FObject) KObject + // HasFObject checks if FObject has been set in KObject + HasFObject() bool + setNil() +} + +// description is TBD +// EObject returns a EObject +func (obj *kObject) EObject() EObject { + if obj.obj.EObject == nil { + obj.obj.EObject = NewEObject().Msg() + } + if obj.eObjectHolder == nil { + obj.eObjectHolder = &eObject{obj: obj.obj.EObject} + } + return obj.eObjectHolder +} + +// description is TBD +// EObject returns a EObject +func (obj *kObject) HasEObject() bool { + return obj.obj.EObject != nil +} + +// description is TBD +// SetEObject sets the EObject value in the KObject object +func (obj *kObject) SetEObject(value EObject) KObject { + + obj.eObjectHolder = nil + obj.obj.EObject = value.Msg() + + return obj +} + +// description is TBD +// FObject returns a FObject +func (obj *kObject) FObject() FObject { + if obj.obj.FObject == nil { + obj.obj.FObject = NewFObject().Msg() + } + if obj.fObjectHolder == nil { + obj.fObjectHolder = &fObject{obj: obj.obj.FObject} + } + return obj.fObjectHolder +} + +// description is TBD +// FObject returns a FObject +func (obj *kObject) HasFObject() bool { + return obj.obj.FObject != nil +} + +// description is TBD +// SetFObject sets the FObject value in the KObject object +func (obj *kObject) SetFObject(value FObject) KObject { + + obj.fObjectHolder = nil + obj.obj.FObject = value.Msg() + + return obj +} + +func (obj *kObject) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.EObject != nil { + + obj.EObject().validateObj(vObj, set_default) + } + + if obj.obj.FObject != nil { + + obj.FObject().validateObj(vObj, set_default) + } + +} + +func (obj *kObject) setDefault() { + +} + +// ***** LObject ***** +type lObject struct { + validation + obj *sanity.LObject +} + +func NewLObject() LObject { + obj := lObject{obj: &sanity.LObject{}} + obj.setDefault() + return &obj +} + +func (obj *lObject) Msg() *sanity.LObject { + return obj.obj +} + +func (obj *lObject) SetMsg(msg *sanity.LObject) LObject { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *lObject) ToProto() (*sanity.LObject, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *lObject) FromProto(msg *sanity.LObject) (LObject, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *lObject) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *lObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *lObject) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *lObject) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *lObject) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *lObject) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *lObject) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *lObject) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *lObject) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *lObject) Clone() (LObject, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewLObject() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// LObject is format validation object +type LObject interface { + Validation + // Msg marshals LObject to protobuf object *sanity.LObject + // and doesn't set defaults + Msg() *sanity.LObject + // SetMsg unmarshals LObject from protobuf object *sanity.LObject + // and doesn't set defaults + SetMsg(*sanity.LObject) LObject + // ToProto marshals LObject to protobuf object *sanity.LObject + ToProto() (*sanity.LObject, error) + // ToPbText marshals LObject to protobuf text + ToPbText() (string, error) + // ToYaml marshals LObject to YAML text + ToYaml() (string, error) + // ToJson marshals LObject to JSON text + ToJson() (string, error) + // FromProto unmarshals LObject from protobuf object *sanity.LObject + FromProto(msg *sanity.LObject) (LObject, error) + // FromPbText unmarshals LObject from protobuf text + FromPbText(value string) error + // FromYaml unmarshals LObject from YAML text + FromYaml(value string) error + // FromJson unmarshals LObject from JSON text + FromJson(value string) error + // Validate validates LObject + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (LObject, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // StringParam returns string, set in LObject. + StringParam() string + // SetStringParam assigns string provided by user to LObject + SetStringParam(value string) LObject + // HasStringParam checks if StringParam has been set in LObject + HasStringParam() bool + // Integer returns int32, set in LObject. + Integer() int32 + // SetInteger assigns int32 provided by user to LObject + SetInteger(value int32) LObject + // HasInteger checks if Integer has been set in LObject + HasInteger() bool + // Float returns float32, set in LObject. + Float() float32 + // SetFloat assigns float32 provided by user to LObject + SetFloat(value float32) LObject + // HasFloat checks if Float has been set in LObject + HasFloat() bool + // Double returns float64, set in LObject. + Double() float64 + // SetDouble assigns float64 provided by user to LObject + SetDouble(value float64) LObject + // HasDouble checks if Double has been set in LObject + HasDouble() bool + // Mac returns string, set in LObject. + Mac() string + // SetMac assigns string provided by user to LObject + SetMac(value string) LObject + // HasMac checks if Mac has been set in LObject + HasMac() bool + // Ipv4 returns string, set in LObject. + Ipv4() string + // SetIpv4 assigns string provided by user to LObject + SetIpv4(value string) LObject + // HasIpv4 checks if Ipv4 has been set in LObject + HasIpv4() bool + // Ipv6 returns string, set in LObject. + Ipv6() string + // SetIpv6 assigns string provided by user to LObject + SetIpv6(value string) LObject + // HasIpv6 checks if Ipv6 has been set in LObject + HasIpv6() bool + // Hex returns string, set in LObject. + Hex() string + // SetHex assigns string provided by user to LObject + SetHex(value string) LObject + // HasHex checks if Hex has been set in LObject + HasHex() bool +} + +// description is TBD +// StringParam returns a string +func (obj *lObject) StringParam() string { + + return *obj.obj.StringParam + +} + +// description is TBD +// StringParam returns a string +func (obj *lObject) HasStringParam() bool { + return obj.obj.StringParam != nil +} + +// description is TBD +// SetStringParam sets the string value in the LObject object +func (obj *lObject) SetStringParam(value string) LObject { + + obj.obj.StringParam = &value + return obj +} + +// description is TBD +// Integer returns a int32 +func (obj *lObject) Integer() int32 { + + return *obj.obj.Integer + +} + +// description is TBD +// Integer returns a int32 +func (obj *lObject) HasInteger() bool { + return obj.obj.Integer != nil +} + +// description is TBD +// SetInteger sets the int32 value in the LObject object +func (obj *lObject) SetInteger(value int32) LObject { + + obj.obj.Integer = &value + return obj +} + +// description is TBD +// Float returns a float32 +func (obj *lObject) Float() float32 { + + return *obj.obj.Float + +} + +// description is TBD +// Float returns a float32 +func (obj *lObject) HasFloat() bool { + return obj.obj.Float != nil +} + +// description is TBD +// SetFloat sets the float32 value in the LObject object +func (obj *lObject) SetFloat(value float32) LObject { + + obj.obj.Float = &value + return obj +} + +// description is TBD +// Double returns a float64 +func (obj *lObject) Double() float64 { + + return *obj.obj.Double + +} + +// description is TBD +// Double returns a float64 +func (obj *lObject) HasDouble() bool { + return obj.obj.Double != nil +} + +// description is TBD +// SetDouble sets the float64 value in the LObject object +func (obj *lObject) SetDouble(value float64) LObject { + + obj.obj.Double = &value + return obj +} + +// description is TBD +// Mac returns a string +func (obj *lObject) Mac() string { + + return *obj.obj.Mac + +} + +// description is TBD +// Mac returns a string +func (obj *lObject) HasMac() bool { + return obj.obj.Mac != nil +} + +// description is TBD +// SetMac sets the string value in the LObject object +func (obj *lObject) SetMac(value string) LObject { + + obj.obj.Mac = &value + return obj +} + +// description is TBD +// Ipv4 returns a string +func (obj *lObject) Ipv4() string { + + return *obj.obj.Ipv4 + +} + +// description is TBD +// Ipv4 returns a string +func (obj *lObject) HasIpv4() bool { + return obj.obj.Ipv4 != nil +} + +// description is TBD +// SetIpv4 sets the string value in the LObject object +func (obj *lObject) SetIpv4(value string) LObject { + + obj.obj.Ipv4 = &value + return obj +} + +// description is TBD +// Ipv6 returns a string +func (obj *lObject) Ipv6() string { + + return *obj.obj.Ipv6 + +} + +// description is TBD +// Ipv6 returns a string +func (obj *lObject) HasIpv6() bool { + return obj.obj.Ipv6 != nil +} + +// description is TBD +// SetIpv6 sets the string value in the LObject object +func (obj *lObject) SetIpv6(value string) LObject { + + obj.obj.Ipv6 = &value + return obj +} + +// description is TBD +// Hex returns a string +func (obj *lObject) Hex() string { + + return *obj.obj.Hex + +} + +// description is TBD +// Hex returns a string +func (obj *lObject) HasHex() bool { + return obj.obj.Hex != nil +} + +// description is TBD +// SetHex sets the string value in the LObject object +func (obj *lObject) SetHex(value string) LObject { + + obj.obj.Hex = &value + return obj +} + +func (obj *lObject) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Integer != nil { + + if *obj.obj.Integer < -10 || *obj.obj.Integer > 90 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("-10 <= LObject.Integer <= 90 but Got %d", *obj.obj.Integer)) + } + + } + + if obj.obj.Mac != nil { + + err := obj.validateMac(obj.Mac()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on LObject.Mac")) + } + + } + + if obj.obj.Ipv4 != nil { + + err := obj.validateIpv4(obj.Ipv4()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on LObject.Ipv4")) + } + + } + + if obj.obj.Ipv6 != nil { + + err := obj.validateIpv6(obj.Ipv6()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on LObject.Ipv6")) + } + + } + + if obj.obj.Hex != nil { + + err := obj.validateHex(obj.Hex()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on LObject.Hex")) + } + + } + +} + +func (obj *lObject) setDefault() { + +} + +// ***** LevelOne ***** +type levelOne struct { + validation + obj *sanity.LevelOne + l1P1Holder LevelTwo + l1P2Holder LevelFour +} + +func NewLevelOne() LevelOne { + obj := levelOne{obj: &sanity.LevelOne{}} + obj.setDefault() + return &obj +} + +func (obj *levelOne) Msg() *sanity.LevelOne { + return obj.obj +} + +func (obj *levelOne) SetMsg(msg *sanity.LevelOne) LevelOne { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *levelOne) ToProto() (*sanity.LevelOne, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *levelOne) FromProto(msg *sanity.LevelOne) (LevelOne, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *levelOne) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *levelOne) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *levelOne) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *levelOne) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *levelOne) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *levelOne) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *levelOne) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *levelOne) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *levelOne) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *levelOne) Clone() (LevelOne, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewLevelOne() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *levelOne) setNil() { + obj.l1P1Holder = nil + obj.l1P2Holder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// LevelOne is to Test Multi level non-primitive types +type LevelOne interface { + Validation + // Msg marshals LevelOne to protobuf object *sanity.LevelOne + // and doesn't set defaults + Msg() *sanity.LevelOne + // SetMsg unmarshals LevelOne from protobuf object *sanity.LevelOne + // and doesn't set defaults + SetMsg(*sanity.LevelOne) LevelOne + // ToProto marshals LevelOne to protobuf object *sanity.LevelOne + ToProto() (*sanity.LevelOne, error) + // ToPbText marshals LevelOne to protobuf text + ToPbText() (string, error) + // ToYaml marshals LevelOne to YAML text + ToYaml() (string, error) + // ToJson marshals LevelOne to JSON text + ToJson() (string, error) + // FromProto unmarshals LevelOne from protobuf object *sanity.LevelOne + FromProto(msg *sanity.LevelOne) (LevelOne, error) + // FromPbText unmarshals LevelOne from protobuf text + FromPbText(value string) error + // FromYaml unmarshals LevelOne from YAML text + FromYaml(value string) error + // FromJson unmarshals LevelOne from JSON text + FromJson(value string) error + // Validate validates LevelOne + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (LevelOne, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // L1P1 returns LevelTwo, set in LevelOne. + // LevelTwo is test Level 2 + L1P1() LevelTwo + // SetL1P1 assigns LevelTwo provided by user to LevelOne. + // LevelTwo is test Level 2 + SetL1P1(value LevelTwo) LevelOne + // HasL1P1 checks if L1P1 has been set in LevelOne + HasL1P1() bool + // L1P2 returns LevelFour, set in LevelOne. + // LevelFour is test level4 redundant junk testing + L1P2() LevelFour + // SetL1P2 assigns LevelFour provided by user to LevelOne. + // LevelFour is test level4 redundant junk testing + SetL1P2(value LevelFour) LevelOne + // HasL1P2 checks if L1P2 has been set in LevelOne + HasL1P2() bool + setNil() +} + +// Level one +// L1P1 returns a LevelTwo +func (obj *levelOne) L1P1() LevelTwo { + if obj.obj.L1P1 == nil { + obj.obj.L1P1 = NewLevelTwo().Msg() + } + if obj.l1P1Holder == nil { + obj.l1P1Holder = &levelTwo{obj: obj.obj.L1P1} + } + return obj.l1P1Holder +} + +// Level one +// L1P1 returns a LevelTwo +func (obj *levelOne) HasL1P1() bool { + return obj.obj.L1P1 != nil +} + +// Level one +// SetL1P1 sets the LevelTwo value in the LevelOne object +func (obj *levelOne) SetL1P1(value LevelTwo) LevelOne { + + obj.l1P1Holder = nil + obj.obj.L1P1 = value.Msg() + + return obj +} + +// Level one to four +// L1P2 returns a LevelFour +func (obj *levelOne) L1P2() LevelFour { + if obj.obj.L1P2 == nil { + obj.obj.L1P2 = NewLevelFour().Msg() + } + if obj.l1P2Holder == nil { + obj.l1P2Holder = &levelFour{obj: obj.obj.L1P2} + } + return obj.l1P2Holder +} + +// Level one to four +// L1P2 returns a LevelFour +func (obj *levelOne) HasL1P2() bool { + return obj.obj.L1P2 != nil +} + +// Level one to four +// SetL1P2 sets the LevelFour value in the LevelOne object +func (obj *levelOne) SetL1P2(value LevelFour) LevelOne { + + obj.l1P2Holder = nil + obj.obj.L1P2 = value.Msg() + + return obj +} + +func (obj *levelOne) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.L1P1 != nil { + + obj.L1P1().validateObj(vObj, set_default) + } + + if obj.obj.L1P2 != nil { + + obj.L1P2().validateObj(vObj, set_default) + } + +} + +func (obj *levelOne) setDefault() { + +} + +// ***** Mandate ***** +type mandate struct { + validation + obj *sanity.Mandate +} + +func NewMandate() Mandate { + obj := mandate{obj: &sanity.Mandate{}} + obj.setDefault() + return &obj +} + +func (obj *mandate) Msg() *sanity.Mandate { + return obj.obj +} + +func (obj *mandate) SetMsg(msg *sanity.Mandate) Mandate { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *mandate) ToProto() (*sanity.Mandate, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *mandate) FromProto(msg *sanity.Mandate) (Mandate, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *mandate) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *mandate) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *mandate) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *mandate) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *mandate) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *mandate) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *mandate) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *mandate) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *mandate) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *mandate) Clone() (Mandate, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewMandate() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// Mandate is object to Test required Parameter +type Mandate interface { + Validation + // Msg marshals Mandate to protobuf object *sanity.Mandate + // and doesn't set defaults + Msg() *sanity.Mandate + // SetMsg unmarshals Mandate from protobuf object *sanity.Mandate + // and doesn't set defaults + SetMsg(*sanity.Mandate) Mandate + // ToProto marshals Mandate to protobuf object *sanity.Mandate + ToProto() (*sanity.Mandate, error) + // ToPbText marshals Mandate to protobuf text + ToPbText() (string, error) + // ToYaml marshals Mandate to YAML text + ToYaml() (string, error) + // ToJson marshals Mandate to JSON text + ToJson() (string, error) + // FromProto unmarshals Mandate from protobuf object *sanity.Mandate + FromProto(msg *sanity.Mandate) (Mandate, error) + // FromPbText unmarshals Mandate from protobuf text + FromPbText(value string) error + // FromYaml unmarshals Mandate from YAML text + FromYaml(value string) error + // FromJson unmarshals Mandate from JSON text + FromJson(value string) error + // Validate validates Mandate + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (Mandate, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // RequiredParam returns string, set in Mandate. + RequiredParam() string + // SetRequiredParam assigns string provided by user to Mandate + SetRequiredParam(value string) Mandate +} + +// description is TBD +// RequiredParam returns a string +func (obj *mandate) RequiredParam() string { + + return obj.obj.RequiredParam +} + +// description is TBD +// SetRequiredParam sets the string value in the Mandate object +func (obj *mandate) SetRequiredParam(value string) Mandate { + + obj.obj.RequiredParam = value + return obj +} + +func (obj *mandate) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + // RequiredParam is required + if obj.obj.RequiredParam == "" { + vObj.validationErrors = append(vObj.validationErrors, "RequiredParam is required field on interface Mandate") + } +} + +func (obj *mandate) setDefault() { + +} + +// ***** Ipv4Pattern ***** +type ipv4Pattern struct { + validation + obj *sanity.Ipv4Pattern + ipv4Holder PatternIpv4PatternIpv4 +} + +func NewIpv4Pattern() Ipv4Pattern { + obj := ipv4Pattern{obj: &sanity.Ipv4Pattern{}} + obj.setDefault() + return &obj +} + +func (obj *ipv4Pattern) Msg() *sanity.Ipv4Pattern { + return obj.obj +} + +func (obj *ipv4Pattern) SetMsg(msg *sanity.Ipv4Pattern) Ipv4Pattern { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *ipv4Pattern) ToProto() (*sanity.Ipv4Pattern, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *ipv4Pattern) FromProto(msg *sanity.Ipv4Pattern) (Ipv4Pattern, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *ipv4Pattern) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *ipv4Pattern) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *ipv4Pattern) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *ipv4Pattern) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *ipv4Pattern) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *ipv4Pattern) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *ipv4Pattern) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *ipv4Pattern) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *ipv4Pattern) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *ipv4Pattern) Clone() (Ipv4Pattern, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewIpv4Pattern() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *ipv4Pattern) setNil() { + obj.ipv4Holder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// Ipv4Pattern is test ipv4 pattern +type Ipv4Pattern interface { + Validation + // Msg marshals Ipv4Pattern to protobuf object *sanity.Ipv4Pattern + // and doesn't set defaults + Msg() *sanity.Ipv4Pattern + // SetMsg unmarshals Ipv4Pattern from protobuf object *sanity.Ipv4Pattern + // and doesn't set defaults + SetMsg(*sanity.Ipv4Pattern) Ipv4Pattern + // ToProto marshals Ipv4Pattern to protobuf object *sanity.Ipv4Pattern + ToProto() (*sanity.Ipv4Pattern, error) + // ToPbText marshals Ipv4Pattern to protobuf text + ToPbText() (string, error) + // ToYaml marshals Ipv4Pattern to YAML text + ToYaml() (string, error) + // ToJson marshals Ipv4Pattern to JSON text + ToJson() (string, error) + // FromProto unmarshals Ipv4Pattern from protobuf object *sanity.Ipv4Pattern + FromProto(msg *sanity.Ipv4Pattern) (Ipv4Pattern, error) + // FromPbText unmarshals Ipv4Pattern from protobuf text + FromPbText(value string) error + // FromYaml unmarshals Ipv4Pattern from YAML text + FromYaml(value string) error + // FromJson unmarshals Ipv4Pattern from JSON text + FromJson(value string) error + // Validate validates Ipv4Pattern + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (Ipv4Pattern, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Ipv4 returns PatternIpv4PatternIpv4, set in Ipv4Pattern. + // PatternIpv4PatternIpv4 is tBD + Ipv4() PatternIpv4PatternIpv4 + // SetIpv4 assigns PatternIpv4PatternIpv4 provided by user to Ipv4Pattern. + // PatternIpv4PatternIpv4 is tBD + SetIpv4(value PatternIpv4PatternIpv4) Ipv4Pattern + // HasIpv4 checks if Ipv4 has been set in Ipv4Pattern + HasIpv4() bool + setNil() +} + +// description is TBD +// Ipv4 returns a PatternIpv4PatternIpv4 +func (obj *ipv4Pattern) Ipv4() PatternIpv4PatternIpv4 { + if obj.obj.Ipv4 == nil { + obj.obj.Ipv4 = NewPatternIpv4PatternIpv4().Msg() + } + if obj.ipv4Holder == nil { + obj.ipv4Holder = &patternIpv4PatternIpv4{obj: obj.obj.Ipv4} + } + return obj.ipv4Holder +} + +// description is TBD +// Ipv4 returns a PatternIpv4PatternIpv4 +func (obj *ipv4Pattern) HasIpv4() bool { + return obj.obj.Ipv4 != nil +} + +// description is TBD +// SetIpv4 sets the PatternIpv4PatternIpv4 value in the Ipv4Pattern object +func (obj *ipv4Pattern) SetIpv4(value PatternIpv4PatternIpv4) Ipv4Pattern { + + obj.ipv4Holder = nil + obj.obj.Ipv4 = value.Msg() + + return obj +} + +func (obj *ipv4Pattern) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Ipv4 != nil { + + obj.Ipv4().validateObj(vObj, set_default) + } + +} + +func (obj *ipv4Pattern) setDefault() { + +} + +// ***** Ipv6Pattern ***** +type ipv6Pattern struct { + validation + obj *sanity.Ipv6Pattern + ipv6Holder PatternIpv6PatternIpv6 +} + +func NewIpv6Pattern() Ipv6Pattern { + obj := ipv6Pattern{obj: &sanity.Ipv6Pattern{}} + obj.setDefault() + return &obj +} + +func (obj *ipv6Pattern) Msg() *sanity.Ipv6Pattern { + return obj.obj +} + +func (obj *ipv6Pattern) SetMsg(msg *sanity.Ipv6Pattern) Ipv6Pattern { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *ipv6Pattern) ToProto() (*sanity.Ipv6Pattern, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *ipv6Pattern) FromProto(msg *sanity.Ipv6Pattern) (Ipv6Pattern, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *ipv6Pattern) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *ipv6Pattern) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *ipv6Pattern) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *ipv6Pattern) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *ipv6Pattern) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *ipv6Pattern) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *ipv6Pattern) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *ipv6Pattern) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *ipv6Pattern) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *ipv6Pattern) Clone() (Ipv6Pattern, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewIpv6Pattern() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *ipv6Pattern) setNil() { + obj.ipv6Holder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// Ipv6Pattern is test ipv6 pattern +type Ipv6Pattern interface { + Validation + // Msg marshals Ipv6Pattern to protobuf object *sanity.Ipv6Pattern + // and doesn't set defaults + Msg() *sanity.Ipv6Pattern + // SetMsg unmarshals Ipv6Pattern from protobuf object *sanity.Ipv6Pattern + // and doesn't set defaults + SetMsg(*sanity.Ipv6Pattern) Ipv6Pattern + // ToProto marshals Ipv6Pattern to protobuf object *sanity.Ipv6Pattern + ToProto() (*sanity.Ipv6Pattern, error) + // ToPbText marshals Ipv6Pattern to protobuf text + ToPbText() (string, error) + // ToYaml marshals Ipv6Pattern to YAML text + ToYaml() (string, error) + // ToJson marshals Ipv6Pattern to JSON text + ToJson() (string, error) + // FromProto unmarshals Ipv6Pattern from protobuf object *sanity.Ipv6Pattern + FromProto(msg *sanity.Ipv6Pattern) (Ipv6Pattern, error) + // FromPbText unmarshals Ipv6Pattern from protobuf text + FromPbText(value string) error + // FromYaml unmarshals Ipv6Pattern from YAML text + FromYaml(value string) error + // FromJson unmarshals Ipv6Pattern from JSON text + FromJson(value string) error + // Validate validates Ipv6Pattern + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (Ipv6Pattern, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Ipv6 returns PatternIpv6PatternIpv6, set in Ipv6Pattern. + // PatternIpv6PatternIpv6 is tBD + Ipv6() PatternIpv6PatternIpv6 + // SetIpv6 assigns PatternIpv6PatternIpv6 provided by user to Ipv6Pattern. + // PatternIpv6PatternIpv6 is tBD + SetIpv6(value PatternIpv6PatternIpv6) Ipv6Pattern + // HasIpv6 checks if Ipv6 has been set in Ipv6Pattern + HasIpv6() bool + setNil() +} + +// description is TBD +// Ipv6 returns a PatternIpv6PatternIpv6 +func (obj *ipv6Pattern) Ipv6() PatternIpv6PatternIpv6 { + if obj.obj.Ipv6 == nil { + obj.obj.Ipv6 = NewPatternIpv6PatternIpv6().Msg() + } + if obj.ipv6Holder == nil { + obj.ipv6Holder = &patternIpv6PatternIpv6{obj: obj.obj.Ipv6} + } + return obj.ipv6Holder +} + +// description is TBD +// Ipv6 returns a PatternIpv6PatternIpv6 +func (obj *ipv6Pattern) HasIpv6() bool { + return obj.obj.Ipv6 != nil +} + +// description is TBD +// SetIpv6 sets the PatternIpv6PatternIpv6 value in the Ipv6Pattern object +func (obj *ipv6Pattern) SetIpv6(value PatternIpv6PatternIpv6) Ipv6Pattern { + + obj.ipv6Holder = nil + obj.obj.Ipv6 = value.Msg() + + return obj +} + +func (obj *ipv6Pattern) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Ipv6 != nil { + + obj.Ipv6().validateObj(vObj, set_default) + } + +} + +func (obj *ipv6Pattern) setDefault() { + +} + +// ***** MacPattern ***** +type macPattern struct { + validation + obj *sanity.MacPattern + macHolder PatternMacPatternMac +} + +func NewMacPattern() MacPattern { + obj := macPattern{obj: &sanity.MacPattern{}} + obj.setDefault() + return &obj +} + +func (obj *macPattern) Msg() *sanity.MacPattern { + return obj.obj +} + +func (obj *macPattern) SetMsg(msg *sanity.MacPattern) MacPattern { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *macPattern) ToProto() (*sanity.MacPattern, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *macPattern) FromProto(msg *sanity.MacPattern) (MacPattern, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *macPattern) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *macPattern) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *macPattern) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *macPattern) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *macPattern) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *macPattern) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *macPattern) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *macPattern) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *macPattern) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *macPattern) Clone() (MacPattern, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewMacPattern() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *macPattern) setNil() { + obj.macHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// MacPattern is test mac pattern +type MacPattern interface { + Validation + // Msg marshals MacPattern to protobuf object *sanity.MacPattern + // and doesn't set defaults + Msg() *sanity.MacPattern + // SetMsg unmarshals MacPattern from protobuf object *sanity.MacPattern + // and doesn't set defaults + SetMsg(*sanity.MacPattern) MacPattern + // ToProto marshals MacPattern to protobuf object *sanity.MacPattern + ToProto() (*sanity.MacPattern, error) + // ToPbText marshals MacPattern to protobuf text + ToPbText() (string, error) + // ToYaml marshals MacPattern to YAML text + ToYaml() (string, error) + // ToJson marshals MacPattern to JSON text + ToJson() (string, error) + // FromProto unmarshals MacPattern from protobuf object *sanity.MacPattern + FromProto(msg *sanity.MacPattern) (MacPattern, error) + // FromPbText unmarshals MacPattern from protobuf text + FromPbText(value string) error + // FromYaml unmarshals MacPattern from YAML text + FromYaml(value string) error + // FromJson unmarshals MacPattern from JSON text + FromJson(value string) error + // Validate validates MacPattern + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (MacPattern, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Mac returns PatternMacPatternMac, set in MacPattern. + // PatternMacPatternMac is tBD + Mac() PatternMacPatternMac + // SetMac assigns PatternMacPatternMac provided by user to MacPattern. + // PatternMacPatternMac is tBD + SetMac(value PatternMacPatternMac) MacPattern + // HasMac checks if Mac has been set in MacPattern + HasMac() bool + setNil() +} + +// description is TBD +// Mac returns a PatternMacPatternMac +func (obj *macPattern) Mac() PatternMacPatternMac { + if obj.obj.Mac == nil { + obj.obj.Mac = NewPatternMacPatternMac().Msg() + } + if obj.macHolder == nil { + obj.macHolder = &patternMacPatternMac{obj: obj.obj.Mac} + } + return obj.macHolder +} + +// description is TBD +// Mac returns a PatternMacPatternMac +func (obj *macPattern) HasMac() bool { + return obj.obj.Mac != nil +} + +// description is TBD +// SetMac sets the PatternMacPatternMac value in the MacPattern object +func (obj *macPattern) SetMac(value PatternMacPatternMac) MacPattern { + + obj.macHolder = nil + obj.obj.Mac = value.Msg() + + return obj +} + +func (obj *macPattern) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Mac != nil { + + obj.Mac().validateObj(vObj, set_default) + } + +} + +func (obj *macPattern) setDefault() { + +} + +// ***** IntegerPattern ***** +type integerPattern struct { + validation + obj *sanity.IntegerPattern + integerHolder PatternIntegerPatternInteger +} + +func NewIntegerPattern() IntegerPattern { + obj := integerPattern{obj: &sanity.IntegerPattern{}} + obj.setDefault() + return &obj +} + +func (obj *integerPattern) Msg() *sanity.IntegerPattern { + return obj.obj +} + +func (obj *integerPattern) SetMsg(msg *sanity.IntegerPattern) IntegerPattern { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *integerPattern) ToProto() (*sanity.IntegerPattern, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *integerPattern) FromProto(msg *sanity.IntegerPattern) (IntegerPattern, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *integerPattern) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *integerPattern) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *integerPattern) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *integerPattern) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *integerPattern) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *integerPattern) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *integerPattern) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *integerPattern) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *integerPattern) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *integerPattern) Clone() (IntegerPattern, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewIntegerPattern() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *integerPattern) setNil() { + obj.integerHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// IntegerPattern is test integer pattern +type IntegerPattern interface { + Validation + // Msg marshals IntegerPattern to protobuf object *sanity.IntegerPattern + // and doesn't set defaults + Msg() *sanity.IntegerPattern + // SetMsg unmarshals IntegerPattern from protobuf object *sanity.IntegerPattern + // and doesn't set defaults + SetMsg(*sanity.IntegerPattern) IntegerPattern + // ToProto marshals IntegerPattern to protobuf object *sanity.IntegerPattern + ToProto() (*sanity.IntegerPattern, error) + // ToPbText marshals IntegerPattern to protobuf text + ToPbText() (string, error) + // ToYaml marshals IntegerPattern to YAML text + ToYaml() (string, error) + // ToJson marshals IntegerPattern to JSON text + ToJson() (string, error) + // FromProto unmarshals IntegerPattern from protobuf object *sanity.IntegerPattern + FromProto(msg *sanity.IntegerPattern) (IntegerPattern, error) + // FromPbText unmarshals IntegerPattern from protobuf text + FromPbText(value string) error + // FromYaml unmarshals IntegerPattern from YAML text + FromYaml(value string) error + // FromJson unmarshals IntegerPattern from JSON text + FromJson(value string) error + // Validate validates IntegerPattern + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (IntegerPattern, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Integer returns PatternIntegerPatternInteger, set in IntegerPattern. + // PatternIntegerPatternInteger is tBD + Integer() PatternIntegerPatternInteger + // SetInteger assigns PatternIntegerPatternInteger provided by user to IntegerPattern. + // PatternIntegerPatternInteger is tBD + SetInteger(value PatternIntegerPatternInteger) IntegerPattern + // HasInteger checks if Integer has been set in IntegerPattern + HasInteger() bool + setNil() +} + +// description is TBD +// Integer returns a PatternIntegerPatternInteger +func (obj *integerPattern) Integer() PatternIntegerPatternInteger { + if obj.obj.Integer == nil { + obj.obj.Integer = NewPatternIntegerPatternInteger().Msg() + } + if obj.integerHolder == nil { + obj.integerHolder = &patternIntegerPatternInteger{obj: obj.obj.Integer} + } + return obj.integerHolder +} + +// description is TBD +// Integer returns a PatternIntegerPatternInteger +func (obj *integerPattern) HasInteger() bool { + return obj.obj.Integer != nil +} + +// description is TBD +// SetInteger sets the PatternIntegerPatternInteger value in the IntegerPattern object +func (obj *integerPattern) SetInteger(value PatternIntegerPatternInteger) IntegerPattern { + + obj.integerHolder = nil + obj.obj.Integer = value.Msg() + + return obj +} + +func (obj *integerPattern) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Integer != nil { + + obj.Integer().validateObj(vObj, set_default) + } + +} + +func (obj *integerPattern) setDefault() { + +} + +// ***** ChecksumPattern ***** +type checksumPattern struct { + validation + obj *sanity.ChecksumPattern + checksumHolder PatternChecksumPatternChecksum +} + +func NewChecksumPattern() ChecksumPattern { + obj := checksumPattern{obj: &sanity.ChecksumPattern{}} + obj.setDefault() + return &obj +} + +func (obj *checksumPattern) Msg() *sanity.ChecksumPattern { + return obj.obj +} + +func (obj *checksumPattern) SetMsg(msg *sanity.ChecksumPattern) ChecksumPattern { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *checksumPattern) ToProto() (*sanity.ChecksumPattern, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *checksumPattern) FromProto(msg *sanity.ChecksumPattern) (ChecksumPattern, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *checksumPattern) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *checksumPattern) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *checksumPattern) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *checksumPattern) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *checksumPattern) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *checksumPattern) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *checksumPattern) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *checksumPattern) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *checksumPattern) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *checksumPattern) Clone() (ChecksumPattern, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewChecksumPattern() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *checksumPattern) setNil() { + obj.checksumHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// ChecksumPattern is test checksum pattern +type ChecksumPattern interface { + Validation + // Msg marshals ChecksumPattern to protobuf object *sanity.ChecksumPattern + // and doesn't set defaults + Msg() *sanity.ChecksumPattern + // SetMsg unmarshals ChecksumPattern from protobuf object *sanity.ChecksumPattern + // and doesn't set defaults + SetMsg(*sanity.ChecksumPattern) ChecksumPattern + // ToProto marshals ChecksumPattern to protobuf object *sanity.ChecksumPattern + ToProto() (*sanity.ChecksumPattern, error) + // ToPbText marshals ChecksumPattern to protobuf text + ToPbText() (string, error) + // ToYaml marshals ChecksumPattern to YAML text + ToYaml() (string, error) + // ToJson marshals ChecksumPattern to JSON text + ToJson() (string, error) + // FromProto unmarshals ChecksumPattern from protobuf object *sanity.ChecksumPattern + FromProto(msg *sanity.ChecksumPattern) (ChecksumPattern, error) + // FromPbText unmarshals ChecksumPattern from protobuf text + FromPbText(value string) error + // FromYaml unmarshals ChecksumPattern from YAML text + FromYaml(value string) error + // FromJson unmarshals ChecksumPattern from JSON text + FromJson(value string) error + // Validate validates ChecksumPattern + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (ChecksumPattern, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Checksum returns PatternChecksumPatternChecksum, set in ChecksumPattern. + // PatternChecksumPatternChecksum is tBD + Checksum() PatternChecksumPatternChecksum + // SetChecksum assigns PatternChecksumPatternChecksum provided by user to ChecksumPattern. + // PatternChecksumPatternChecksum is tBD + SetChecksum(value PatternChecksumPatternChecksum) ChecksumPattern + // HasChecksum checks if Checksum has been set in ChecksumPattern + HasChecksum() bool + setNil() +} + +// description is TBD +// Checksum returns a PatternChecksumPatternChecksum +func (obj *checksumPattern) Checksum() PatternChecksumPatternChecksum { + if obj.obj.Checksum == nil { + obj.obj.Checksum = NewPatternChecksumPatternChecksum().Msg() + } + if obj.checksumHolder == nil { + obj.checksumHolder = &patternChecksumPatternChecksum{obj: obj.obj.Checksum} + } + return obj.checksumHolder +} + +// description is TBD +// Checksum returns a PatternChecksumPatternChecksum +func (obj *checksumPattern) HasChecksum() bool { + return obj.obj.Checksum != nil +} + +// description is TBD +// SetChecksum sets the PatternChecksumPatternChecksum value in the ChecksumPattern object +func (obj *checksumPattern) SetChecksum(value PatternChecksumPatternChecksum) ChecksumPattern { + + obj.checksumHolder = nil + obj.obj.Checksum = value.Msg() + + return obj +} + +func (obj *checksumPattern) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Checksum != nil { + + obj.Checksum().validateObj(vObj, set_default) + } + +} + +func (obj *checksumPattern) setDefault() { + +} + +// ***** Layer1Ieee802X ***** +type layer1Ieee802X struct { + validation + obj *sanity.Layer1Ieee802X +} + +func NewLayer1Ieee802X() Layer1Ieee802X { + obj := layer1Ieee802X{obj: &sanity.Layer1Ieee802X{}} + obj.setDefault() + return &obj +} + +func (obj *layer1Ieee802X) Msg() *sanity.Layer1Ieee802X { + return obj.obj +} + +func (obj *layer1Ieee802X) SetMsg(msg *sanity.Layer1Ieee802X) Layer1Ieee802X { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *layer1Ieee802X) ToProto() (*sanity.Layer1Ieee802X, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *layer1Ieee802X) FromProto(msg *sanity.Layer1Ieee802X) (Layer1Ieee802X, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *layer1Ieee802X) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *layer1Ieee802X) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *layer1Ieee802X) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *layer1Ieee802X) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *layer1Ieee802X) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *layer1Ieee802X) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *layer1Ieee802X) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *layer1Ieee802X) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *layer1Ieee802X) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *layer1Ieee802X) Clone() (Layer1Ieee802X, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewLayer1Ieee802X() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// Layer1Ieee802X is description is TBD +type Layer1Ieee802X interface { + Validation + // Msg marshals Layer1Ieee802X to protobuf object *sanity.Layer1Ieee802X + // and doesn't set defaults + Msg() *sanity.Layer1Ieee802X + // SetMsg unmarshals Layer1Ieee802X from protobuf object *sanity.Layer1Ieee802X + // and doesn't set defaults + SetMsg(*sanity.Layer1Ieee802X) Layer1Ieee802X + // ToProto marshals Layer1Ieee802X to protobuf object *sanity.Layer1Ieee802X + ToProto() (*sanity.Layer1Ieee802X, error) + // ToPbText marshals Layer1Ieee802X to protobuf text + ToPbText() (string, error) + // ToYaml marshals Layer1Ieee802X to YAML text + ToYaml() (string, error) + // ToJson marshals Layer1Ieee802X to JSON text + ToJson() (string, error) + // FromProto unmarshals Layer1Ieee802X from protobuf object *sanity.Layer1Ieee802X + FromProto(msg *sanity.Layer1Ieee802X) (Layer1Ieee802X, error) + // FromPbText unmarshals Layer1Ieee802X from protobuf text + FromPbText(value string) error + // FromYaml unmarshals Layer1Ieee802X from YAML text + FromYaml(value string) error + // FromJson unmarshals Layer1Ieee802X from JSON text + FromJson(value string) error + // Validate validates Layer1Ieee802X + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (Layer1Ieee802X, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // FlowControl returns bool, set in Layer1Ieee802X. + FlowControl() bool + // SetFlowControl assigns bool provided by user to Layer1Ieee802X + SetFlowControl(value bool) Layer1Ieee802X + // HasFlowControl checks if FlowControl has been set in Layer1Ieee802X + HasFlowControl() bool +} + +// description is TBD +// FlowControl returns a bool +func (obj *layer1Ieee802X) FlowControl() bool { + + return *obj.obj.FlowControl + +} + +// description is TBD +// FlowControl returns a bool +func (obj *layer1Ieee802X) HasFlowControl() bool { + return obj.obj.FlowControl != nil +} + +// description is TBD +// SetFlowControl sets the bool value in the Layer1Ieee802X object +func (obj *layer1Ieee802X) SetFlowControl(value bool) Layer1Ieee802X { + + obj.obj.FlowControl = &value + return obj +} + +func (obj *layer1Ieee802X) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + +} + +func (obj *layer1Ieee802X) setDefault() { + +} + +// ***** MObject ***** +type mObject struct { + validation + obj *sanity.MObject +} + +func NewMObject() MObject { + obj := mObject{obj: &sanity.MObject{}} + obj.setDefault() + return &obj +} + +func (obj *mObject) Msg() *sanity.MObject { + return obj.obj +} + +func (obj *mObject) SetMsg(msg *sanity.MObject) MObject { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *mObject) ToProto() (*sanity.MObject, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *mObject) FromProto(msg *sanity.MObject) (MObject, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *mObject) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *mObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *mObject) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *mObject) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *mObject) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *mObject) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *mObject) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *mObject) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *mObject) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *mObject) Clone() (MObject, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewMObject() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// MObject is required format validation object +type MObject interface { + Validation + // Msg marshals MObject to protobuf object *sanity.MObject + // and doesn't set defaults + Msg() *sanity.MObject + // SetMsg unmarshals MObject from protobuf object *sanity.MObject + // and doesn't set defaults + SetMsg(*sanity.MObject) MObject + // ToProto marshals MObject to protobuf object *sanity.MObject + ToProto() (*sanity.MObject, error) + // ToPbText marshals MObject to protobuf text + ToPbText() (string, error) + // ToYaml marshals MObject to YAML text + ToYaml() (string, error) + // ToJson marshals MObject to JSON text + ToJson() (string, error) + // FromProto unmarshals MObject from protobuf object *sanity.MObject + FromProto(msg *sanity.MObject) (MObject, error) + // FromPbText unmarshals MObject from protobuf text + FromPbText(value string) error + // FromYaml unmarshals MObject from YAML text + FromYaml(value string) error + // FromJson unmarshals MObject from JSON text + FromJson(value string) error + // Validate validates MObject + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (MObject, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // StringParam returns string, set in MObject. + StringParam() string + // SetStringParam assigns string provided by user to MObject + SetStringParam(value string) MObject + // Integer returns int32, set in MObject. + Integer() int32 + // SetInteger assigns int32 provided by user to MObject + SetInteger(value int32) MObject + // Float returns float32, set in MObject. + Float() float32 + // SetFloat assigns float32 provided by user to MObject + SetFloat(value float32) MObject + // Double returns float64, set in MObject. + Double() float64 + // SetDouble assigns float64 provided by user to MObject + SetDouble(value float64) MObject + // Mac returns string, set in MObject. + Mac() string + // SetMac assigns string provided by user to MObject + SetMac(value string) MObject + // Ipv4 returns string, set in MObject. + Ipv4() string + // SetIpv4 assigns string provided by user to MObject + SetIpv4(value string) MObject + // Ipv6 returns string, set in MObject. + Ipv6() string + // SetIpv6 assigns string provided by user to MObject + SetIpv6(value string) MObject + // Hex returns string, set in MObject. + Hex() string + // SetHex assigns string provided by user to MObject + SetHex(value string) MObject +} + +// description is TBD +// StringParam returns a string +func (obj *mObject) StringParam() string { + + return obj.obj.StringParam +} + +// description is TBD +// SetStringParam sets the string value in the MObject object +func (obj *mObject) SetStringParam(value string) MObject { + + obj.obj.StringParam = value + return obj +} + +// description is TBD +// Integer returns a int32 +func (obj *mObject) Integer() int32 { + + return obj.obj.Integer +} + +// description is TBD +// SetInteger sets the int32 value in the MObject object +func (obj *mObject) SetInteger(value int32) MObject { + + obj.obj.Integer = value + return obj +} + +// description is TBD +// Float returns a float32 +func (obj *mObject) Float() float32 { + + return obj.obj.Float +} + +// description is TBD +// SetFloat sets the float32 value in the MObject object +func (obj *mObject) SetFloat(value float32) MObject { + + obj.obj.Float = value + return obj +} + +// description is TBD +// Double returns a float64 +func (obj *mObject) Double() float64 { + + return obj.obj.Double +} + +// description is TBD +// SetDouble sets the float64 value in the MObject object +func (obj *mObject) SetDouble(value float64) MObject { + + obj.obj.Double = value + return obj +} + +// description is TBD +// Mac returns a string +func (obj *mObject) Mac() string { + + return obj.obj.Mac +} + +// description is TBD +// SetMac sets the string value in the MObject object +func (obj *mObject) SetMac(value string) MObject { + + obj.obj.Mac = value + return obj +} + +// description is TBD +// Ipv4 returns a string +func (obj *mObject) Ipv4() string { + + return obj.obj.Ipv4 +} + +// description is TBD +// SetIpv4 sets the string value in the MObject object +func (obj *mObject) SetIpv4(value string) MObject { + + obj.obj.Ipv4 = value + return obj +} + +// description is TBD +// Ipv6 returns a string +func (obj *mObject) Ipv6() string { + + return obj.obj.Ipv6 +} + +// description is TBD +// SetIpv6 sets the string value in the MObject object +func (obj *mObject) SetIpv6(value string) MObject { + + obj.obj.Ipv6 = value + return obj +} + +// description is TBD +// Hex returns a string +func (obj *mObject) Hex() string { + + return obj.obj.Hex +} + +// description is TBD +// SetHex sets the string value in the MObject object +func (obj *mObject) SetHex(value string) MObject { + + obj.obj.Hex = value + return obj +} + +func (obj *mObject) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + // StringParam is required + if obj.obj.StringParam == "" { + vObj.validationErrors = append(vObj.validationErrors, "StringParam is required field on interface MObject") + } + + if obj.obj.Integer != 0 { + + if obj.obj.Integer < -10 || obj.obj.Integer > 90 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("-10 <= MObject.Integer <= 90 but Got %d", obj.obj.Integer)) + } + + } + + // Mac is required + if obj.obj.Mac == "" { + vObj.validationErrors = append(vObj.validationErrors, "Mac is required field on interface MObject") + } + if obj.obj.Mac != "" { + + err := obj.validateMac(obj.Mac()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on MObject.Mac")) + } + + } + + // Ipv4 is required + if obj.obj.Ipv4 == "" { + vObj.validationErrors = append(vObj.validationErrors, "Ipv4 is required field on interface MObject") + } + if obj.obj.Ipv4 != "" { + + err := obj.validateIpv4(obj.Ipv4()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on MObject.Ipv4")) + } + + } + + // Ipv6 is required + if obj.obj.Ipv6 == "" { + vObj.validationErrors = append(vObj.validationErrors, "Ipv6 is required field on interface MObject") + } + if obj.obj.Ipv6 != "" { + + err := obj.validateIpv6(obj.Ipv6()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on MObject.Ipv6")) + } + + } + + // Hex is required + if obj.obj.Hex == "" { + vObj.validationErrors = append(vObj.validationErrors, "Hex is required field on interface MObject") + } + if obj.obj.Hex != "" { + + err := obj.validateHex(obj.Hex()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on MObject.Hex")) + } + + } + +} + +func (obj *mObject) setDefault() { + +} + +// ***** PatternPrefixConfigHeaderChecksum ***** +type patternPrefixConfigHeaderChecksum struct { + validation + obj *sanity.PatternPrefixConfigHeaderChecksum +} + +func NewPatternPrefixConfigHeaderChecksum() PatternPrefixConfigHeaderChecksum { + obj := patternPrefixConfigHeaderChecksum{obj: &sanity.PatternPrefixConfigHeaderChecksum{}} + obj.setDefault() + return &obj +} + +func (obj *patternPrefixConfigHeaderChecksum) Msg() *sanity.PatternPrefixConfigHeaderChecksum { + return obj.obj +} + +func (obj *patternPrefixConfigHeaderChecksum) SetMsg(msg *sanity.PatternPrefixConfigHeaderChecksum) PatternPrefixConfigHeaderChecksum { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *patternPrefixConfigHeaderChecksum) ToProto() (*sanity.PatternPrefixConfigHeaderChecksum, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *patternPrefixConfigHeaderChecksum) FromProto(msg *sanity.PatternPrefixConfigHeaderChecksum) (PatternPrefixConfigHeaderChecksum, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *patternPrefixConfigHeaderChecksum) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *patternPrefixConfigHeaderChecksum) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *patternPrefixConfigHeaderChecksum) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternPrefixConfigHeaderChecksum) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *patternPrefixConfigHeaderChecksum) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternPrefixConfigHeaderChecksum) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *patternPrefixConfigHeaderChecksum) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *patternPrefixConfigHeaderChecksum) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *patternPrefixConfigHeaderChecksum) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *patternPrefixConfigHeaderChecksum) Clone() (PatternPrefixConfigHeaderChecksum, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewPatternPrefixConfigHeaderChecksum() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// PatternPrefixConfigHeaderChecksum is header checksum +type PatternPrefixConfigHeaderChecksum interface { + Validation + // Msg marshals PatternPrefixConfigHeaderChecksum to protobuf object *sanity.PatternPrefixConfigHeaderChecksum + // and doesn't set defaults + Msg() *sanity.PatternPrefixConfigHeaderChecksum + // SetMsg unmarshals PatternPrefixConfigHeaderChecksum from protobuf object *sanity.PatternPrefixConfigHeaderChecksum + // and doesn't set defaults + SetMsg(*sanity.PatternPrefixConfigHeaderChecksum) PatternPrefixConfigHeaderChecksum + // ToProto marshals PatternPrefixConfigHeaderChecksum to protobuf object *sanity.PatternPrefixConfigHeaderChecksum + ToProto() (*sanity.PatternPrefixConfigHeaderChecksum, error) + // ToPbText marshals PatternPrefixConfigHeaderChecksum to protobuf text + ToPbText() (string, error) + // ToYaml marshals PatternPrefixConfigHeaderChecksum to YAML text + ToYaml() (string, error) + // ToJson marshals PatternPrefixConfigHeaderChecksum to JSON text + ToJson() (string, error) + // FromProto unmarshals PatternPrefixConfigHeaderChecksum from protobuf object *sanity.PatternPrefixConfigHeaderChecksum + FromProto(msg *sanity.PatternPrefixConfigHeaderChecksum) (PatternPrefixConfigHeaderChecksum, error) + // FromPbText unmarshals PatternPrefixConfigHeaderChecksum from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PatternPrefixConfigHeaderChecksum from YAML text + FromYaml(value string) error + // FromJson unmarshals PatternPrefixConfigHeaderChecksum from JSON text + FromJson(value string) error + // Validate validates PatternPrefixConfigHeaderChecksum + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (PatternPrefixConfigHeaderChecksum, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Choice returns PatternPrefixConfigHeaderChecksumChoiceEnum, set in PatternPrefixConfigHeaderChecksum + Choice() PatternPrefixConfigHeaderChecksumChoiceEnum + // SetChoice assigns PatternPrefixConfigHeaderChecksumChoiceEnum provided by user to PatternPrefixConfigHeaderChecksum + SetChoice(value PatternPrefixConfigHeaderChecksumChoiceEnum) PatternPrefixConfigHeaderChecksum + // HasChoice checks if Choice has been set in PatternPrefixConfigHeaderChecksum + HasChoice() bool + // Generated returns PatternPrefixConfigHeaderChecksumGeneratedEnum, set in PatternPrefixConfigHeaderChecksum + Generated() PatternPrefixConfigHeaderChecksumGeneratedEnum + // SetGenerated assigns PatternPrefixConfigHeaderChecksumGeneratedEnum provided by user to PatternPrefixConfigHeaderChecksum + SetGenerated(value PatternPrefixConfigHeaderChecksumGeneratedEnum) PatternPrefixConfigHeaderChecksum + // HasGenerated checks if Generated has been set in PatternPrefixConfigHeaderChecksum + HasGenerated() bool + // Custom returns uint32, set in PatternPrefixConfigHeaderChecksum. + Custom() uint32 + // SetCustom assigns uint32 provided by user to PatternPrefixConfigHeaderChecksum + SetCustom(value uint32) PatternPrefixConfigHeaderChecksum + // HasCustom checks if Custom has been set in PatternPrefixConfigHeaderChecksum + HasCustom() bool +} + +type PatternPrefixConfigHeaderChecksumChoiceEnum string + +// Enum of Choice on PatternPrefixConfigHeaderChecksum +var PatternPrefixConfigHeaderChecksumChoice = struct { + GENERATED PatternPrefixConfigHeaderChecksumChoiceEnum + CUSTOM PatternPrefixConfigHeaderChecksumChoiceEnum +}{ + GENERATED: PatternPrefixConfigHeaderChecksumChoiceEnum("generated"), + CUSTOM: PatternPrefixConfigHeaderChecksumChoiceEnum("custom"), +} + +func (obj *patternPrefixConfigHeaderChecksum) Choice() PatternPrefixConfigHeaderChecksumChoiceEnum { + return PatternPrefixConfigHeaderChecksumChoiceEnum(obj.obj.Choice.Enum().String()) +} + +// The type of checksum +// Choice returns a string +func (obj *patternPrefixConfigHeaderChecksum) HasChoice() bool { + return obj.obj.Choice != nil +} + +func (obj *patternPrefixConfigHeaderChecksum) SetChoice(value PatternPrefixConfigHeaderChecksumChoiceEnum) PatternPrefixConfigHeaderChecksum { + intValue, ok := sanity.PatternPrefixConfigHeaderChecksum_Choice_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on PatternPrefixConfigHeaderChecksumChoiceEnum", string(value))) + return obj + } + enumValue := sanity.PatternPrefixConfigHeaderChecksum_Choice_Enum(intValue) + obj.obj.Choice = &enumValue + obj.obj.Custom = nil + obj.obj.Generated = sanity.PatternPrefixConfigHeaderChecksum_Generated_unspecified.Enum() + return obj +} + +type PatternPrefixConfigHeaderChecksumGeneratedEnum string + +// Enum of Generated on PatternPrefixConfigHeaderChecksum +var PatternPrefixConfigHeaderChecksumGenerated = struct { + GOOD PatternPrefixConfigHeaderChecksumGeneratedEnum + BAD PatternPrefixConfigHeaderChecksumGeneratedEnum +}{ + GOOD: PatternPrefixConfigHeaderChecksumGeneratedEnum("good"), + BAD: PatternPrefixConfigHeaderChecksumGeneratedEnum("bad"), +} + +func (obj *patternPrefixConfigHeaderChecksum) Generated() PatternPrefixConfigHeaderChecksumGeneratedEnum { + return PatternPrefixConfigHeaderChecksumGeneratedEnum(obj.obj.Generated.Enum().String()) +} + +// A system generated checksum value +// Generated returns a string +func (obj *patternPrefixConfigHeaderChecksum) HasGenerated() bool { + return obj.obj.Generated != nil +} + +func (obj *patternPrefixConfigHeaderChecksum) SetGenerated(value PatternPrefixConfigHeaderChecksumGeneratedEnum) PatternPrefixConfigHeaderChecksum { + intValue, ok := sanity.PatternPrefixConfigHeaderChecksum_Generated_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on PatternPrefixConfigHeaderChecksumGeneratedEnum", string(value))) + return obj + } + enumValue := sanity.PatternPrefixConfigHeaderChecksum_Generated_Enum(intValue) + obj.obj.Generated = &enumValue + + return obj +} + +// A custom checksum value +// Custom returns a uint32 +func (obj *patternPrefixConfigHeaderChecksum) Custom() uint32 { + + if obj.obj.Custom == nil { + obj.SetChoice(PatternPrefixConfigHeaderChecksumChoice.CUSTOM) + } + + return *obj.obj.Custom + +} + +// A custom checksum value +// Custom returns a uint32 +func (obj *patternPrefixConfigHeaderChecksum) HasCustom() bool { + return obj.obj.Custom != nil +} + +// A custom checksum value +// SetCustom sets the uint32 value in the PatternPrefixConfigHeaderChecksum object +func (obj *patternPrefixConfigHeaderChecksum) SetCustom(value uint32) PatternPrefixConfigHeaderChecksum { + obj.SetChoice(PatternPrefixConfigHeaderChecksumChoice.CUSTOM) + obj.obj.Custom = &value + return obj +} + +func (obj *patternPrefixConfigHeaderChecksum) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Custom != nil { + + if *obj.obj.Custom > 65535 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("0 <= PatternPrefixConfigHeaderChecksum.Custom <= 65535 but Got %d", *obj.obj.Custom)) + } + + } + +} + +func (obj *patternPrefixConfigHeaderChecksum) setDefault() { + if obj.obj.Choice == nil { + obj.SetChoice(PatternPrefixConfigHeaderChecksumChoice.GENERATED) + if obj.obj.Generated.Number() == 0 { + obj.SetGenerated(PatternPrefixConfigHeaderChecksumGenerated.GOOD) + + } + + } + +} + +// ***** PatternPrefixConfigAutoFieldTest ***** +type patternPrefixConfigAutoFieldTest struct { + validation + obj *sanity.PatternPrefixConfigAutoFieldTest + incrementHolder PatternPrefixConfigAutoFieldTestCounter + decrementHolder PatternPrefixConfigAutoFieldTestCounter +} + +func NewPatternPrefixConfigAutoFieldTest() PatternPrefixConfigAutoFieldTest { + obj := patternPrefixConfigAutoFieldTest{obj: &sanity.PatternPrefixConfigAutoFieldTest{}} + obj.setDefault() + return &obj +} + +func (obj *patternPrefixConfigAutoFieldTest) Msg() *sanity.PatternPrefixConfigAutoFieldTest { + return obj.obj +} + +func (obj *patternPrefixConfigAutoFieldTest) SetMsg(msg *sanity.PatternPrefixConfigAutoFieldTest) PatternPrefixConfigAutoFieldTest { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *patternPrefixConfigAutoFieldTest) ToProto() (*sanity.PatternPrefixConfigAutoFieldTest, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *patternPrefixConfigAutoFieldTest) FromProto(msg *sanity.PatternPrefixConfigAutoFieldTest) (PatternPrefixConfigAutoFieldTest, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *patternPrefixConfigAutoFieldTest) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *patternPrefixConfigAutoFieldTest) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *patternPrefixConfigAutoFieldTest) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternPrefixConfigAutoFieldTest) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *patternPrefixConfigAutoFieldTest) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternPrefixConfigAutoFieldTest) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *patternPrefixConfigAutoFieldTest) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *patternPrefixConfigAutoFieldTest) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *patternPrefixConfigAutoFieldTest) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *patternPrefixConfigAutoFieldTest) Clone() (PatternPrefixConfigAutoFieldTest, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewPatternPrefixConfigAutoFieldTest() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *patternPrefixConfigAutoFieldTest) setNil() { + obj.incrementHolder = nil + obj.decrementHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// PatternPrefixConfigAutoFieldTest is tBD +type PatternPrefixConfigAutoFieldTest interface { + Validation + // Msg marshals PatternPrefixConfigAutoFieldTest to protobuf object *sanity.PatternPrefixConfigAutoFieldTest + // and doesn't set defaults + Msg() *sanity.PatternPrefixConfigAutoFieldTest + // SetMsg unmarshals PatternPrefixConfigAutoFieldTest from protobuf object *sanity.PatternPrefixConfigAutoFieldTest + // and doesn't set defaults + SetMsg(*sanity.PatternPrefixConfigAutoFieldTest) PatternPrefixConfigAutoFieldTest + // ToProto marshals PatternPrefixConfigAutoFieldTest to protobuf object *sanity.PatternPrefixConfigAutoFieldTest + ToProto() (*sanity.PatternPrefixConfigAutoFieldTest, error) + // ToPbText marshals PatternPrefixConfigAutoFieldTest to protobuf text + ToPbText() (string, error) + // ToYaml marshals PatternPrefixConfigAutoFieldTest to YAML text + ToYaml() (string, error) + // ToJson marshals PatternPrefixConfigAutoFieldTest to JSON text + ToJson() (string, error) + // FromProto unmarshals PatternPrefixConfigAutoFieldTest from protobuf object *sanity.PatternPrefixConfigAutoFieldTest + FromProto(msg *sanity.PatternPrefixConfigAutoFieldTest) (PatternPrefixConfigAutoFieldTest, error) + // FromPbText unmarshals PatternPrefixConfigAutoFieldTest from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PatternPrefixConfigAutoFieldTest from YAML text + FromYaml(value string) error + // FromJson unmarshals PatternPrefixConfigAutoFieldTest from JSON text + FromJson(value string) error + // Validate validates PatternPrefixConfigAutoFieldTest + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (PatternPrefixConfigAutoFieldTest, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Choice returns PatternPrefixConfigAutoFieldTestChoiceEnum, set in PatternPrefixConfigAutoFieldTest + Choice() PatternPrefixConfigAutoFieldTestChoiceEnum + // SetChoice assigns PatternPrefixConfigAutoFieldTestChoiceEnum provided by user to PatternPrefixConfigAutoFieldTest + SetChoice(value PatternPrefixConfigAutoFieldTestChoiceEnum) PatternPrefixConfigAutoFieldTest + // HasChoice checks if Choice has been set in PatternPrefixConfigAutoFieldTest + HasChoice() bool + // Value returns uint32, set in PatternPrefixConfigAutoFieldTest. + Value() uint32 + // SetValue assigns uint32 provided by user to PatternPrefixConfigAutoFieldTest + SetValue(value uint32) PatternPrefixConfigAutoFieldTest + // HasValue checks if Value has been set in PatternPrefixConfigAutoFieldTest + HasValue() bool + // Values returns []uint32, set in PatternPrefixConfigAutoFieldTest. + Values() []uint32 + // SetValues assigns []uint32 provided by user to PatternPrefixConfigAutoFieldTest + SetValues(value []uint32) PatternPrefixConfigAutoFieldTest + // Auto returns uint32, set in PatternPrefixConfigAutoFieldTest. + Auto() uint32 + // HasAuto checks if Auto has been set in PatternPrefixConfigAutoFieldTest + HasAuto() bool + // Increment returns PatternPrefixConfigAutoFieldTestCounter, set in PatternPrefixConfigAutoFieldTest. + // PatternPrefixConfigAutoFieldTestCounter is integer counter pattern + Increment() PatternPrefixConfigAutoFieldTestCounter + // SetIncrement assigns PatternPrefixConfigAutoFieldTestCounter provided by user to PatternPrefixConfigAutoFieldTest. + // PatternPrefixConfigAutoFieldTestCounter is integer counter pattern + SetIncrement(value PatternPrefixConfigAutoFieldTestCounter) PatternPrefixConfigAutoFieldTest + // HasIncrement checks if Increment has been set in PatternPrefixConfigAutoFieldTest + HasIncrement() bool + // Decrement returns PatternPrefixConfigAutoFieldTestCounter, set in PatternPrefixConfigAutoFieldTest. + // PatternPrefixConfigAutoFieldTestCounter is integer counter pattern + Decrement() PatternPrefixConfigAutoFieldTestCounter + // SetDecrement assigns PatternPrefixConfigAutoFieldTestCounter provided by user to PatternPrefixConfigAutoFieldTest. + // PatternPrefixConfigAutoFieldTestCounter is integer counter pattern + SetDecrement(value PatternPrefixConfigAutoFieldTestCounter) PatternPrefixConfigAutoFieldTest + // HasDecrement checks if Decrement has been set in PatternPrefixConfigAutoFieldTest + HasDecrement() bool + setNil() +} + +type PatternPrefixConfigAutoFieldTestChoiceEnum string + +// Enum of Choice on PatternPrefixConfigAutoFieldTest +var PatternPrefixConfigAutoFieldTestChoice = struct { + VALUE PatternPrefixConfigAutoFieldTestChoiceEnum + VALUES PatternPrefixConfigAutoFieldTestChoiceEnum + AUTO PatternPrefixConfigAutoFieldTestChoiceEnum + INCREMENT PatternPrefixConfigAutoFieldTestChoiceEnum + DECREMENT PatternPrefixConfigAutoFieldTestChoiceEnum +}{ + VALUE: PatternPrefixConfigAutoFieldTestChoiceEnum("value"), + VALUES: PatternPrefixConfigAutoFieldTestChoiceEnum("values"), + AUTO: PatternPrefixConfigAutoFieldTestChoiceEnum("auto"), + INCREMENT: PatternPrefixConfigAutoFieldTestChoiceEnum("increment"), + DECREMENT: PatternPrefixConfigAutoFieldTestChoiceEnum("decrement"), +} + +func (obj *patternPrefixConfigAutoFieldTest) Choice() PatternPrefixConfigAutoFieldTestChoiceEnum { + return PatternPrefixConfigAutoFieldTestChoiceEnum(obj.obj.Choice.Enum().String()) +} + +// description is TBD +// Choice returns a string +func (obj *patternPrefixConfigAutoFieldTest) HasChoice() bool { + return obj.obj.Choice != nil +} + +func (obj *patternPrefixConfigAutoFieldTest) SetChoice(value PatternPrefixConfigAutoFieldTestChoiceEnum) PatternPrefixConfigAutoFieldTest { + intValue, ok := sanity.PatternPrefixConfigAutoFieldTest_Choice_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on PatternPrefixConfigAutoFieldTestChoiceEnum", string(value))) + return obj + } + enumValue := sanity.PatternPrefixConfigAutoFieldTest_Choice_Enum(intValue) + obj.obj.Choice = &enumValue + obj.obj.Decrement = nil + obj.decrementHolder = nil + obj.obj.Increment = nil + obj.incrementHolder = nil + obj.obj.Auto = nil + obj.obj.Values = nil + obj.obj.Value = nil + + if value == PatternPrefixConfigAutoFieldTestChoice.VALUE { + defaultValue := uint32(0) + obj.obj.Value = &defaultValue + } + + if value == PatternPrefixConfigAutoFieldTestChoice.VALUES { + defaultValue := []uint32{0} + obj.obj.Values = defaultValue + } + + if value == PatternPrefixConfigAutoFieldTestChoice.AUTO { + defaultValue := uint32(0) + obj.obj.Auto = &defaultValue + } + + if value == PatternPrefixConfigAutoFieldTestChoice.INCREMENT { + obj.obj.Increment = NewPatternPrefixConfigAutoFieldTestCounter().Msg() + } + + if value == PatternPrefixConfigAutoFieldTestChoice.DECREMENT { + obj.obj.Decrement = NewPatternPrefixConfigAutoFieldTestCounter().Msg() + } + + return obj +} + +// description is TBD +// Value returns a uint32 +func (obj *patternPrefixConfigAutoFieldTest) Value() uint32 { + + if obj.obj.Value == nil { + obj.SetChoice(PatternPrefixConfigAutoFieldTestChoice.VALUE) + } + + return *obj.obj.Value + +} + +// description is TBD +// Value returns a uint32 +func (obj *patternPrefixConfigAutoFieldTest) HasValue() bool { + return obj.obj.Value != nil +} + +// description is TBD +// SetValue sets the uint32 value in the PatternPrefixConfigAutoFieldTest object +func (obj *patternPrefixConfigAutoFieldTest) SetValue(value uint32) PatternPrefixConfigAutoFieldTest { + obj.SetChoice(PatternPrefixConfigAutoFieldTestChoice.VALUE) + obj.obj.Value = &value + return obj +} + +// description is TBD +// Values returns a []uint32 +func (obj *patternPrefixConfigAutoFieldTest) Values() []uint32 { + if obj.obj.Values == nil { + obj.SetValues([]uint32{0}) + } + return obj.obj.Values +} + +// description is TBD +// SetValues sets the []uint32 value in the PatternPrefixConfigAutoFieldTest object +func (obj *patternPrefixConfigAutoFieldTest) SetValues(value []uint32) PatternPrefixConfigAutoFieldTest { + obj.SetChoice(PatternPrefixConfigAutoFieldTestChoice.VALUES) + if obj.obj.Values == nil { + obj.obj.Values = make([]uint32, 0) + } + obj.obj.Values = value + + return obj +} + +// The OTG implementation can provide a system generated +// value for this property. If the OTG is unable to generate a value +// the default value must be used. +// Auto returns a uint32 +func (obj *patternPrefixConfigAutoFieldTest) Auto() uint32 { + + if obj.obj.Auto == nil { + obj.SetChoice(PatternPrefixConfigAutoFieldTestChoice.AUTO) + } + + return *obj.obj.Auto + +} + +// The OTG implementation can provide a system generated +// value for this property. If the OTG is unable to generate a value +// the default value must be used. +// Auto returns a uint32 +func (obj *patternPrefixConfigAutoFieldTest) HasAuto() bool { + return obj.obj.Auto != nil +} + +// description is TBD +// Increment returns a PatternPrefixConfigAutoFieldTestCounter +func (obj *patternPrefixConfigAutoFieldTest) Increment() PatternPrefixConfigAutoFieldTestCounter { + if obj.obj.Increment == nil { + obj.SetChoice(PatternPrefixConfigAutoFieldTestChoice.INCREMENT) + } + if obj.incrementHolder == nil { + obj.incrementHolder = &patternPrefixConfigAutoFieldTestCounter{obj: obj.obj.Increment} + } + return obj.incrementHolder +} + +// description is TBD +// Increment returns a PatternPrefixConfigAutoFieldTestCounter +func (obj *patternPrefixConfigAutoFieldTest) HasIncrement() bool { + return obj.obj.Increment != nil +} + +// description is TBD +// SetIncrement sets the PatternPrefixConfigAutoFieldTestCounter value in the PatternPrefixConfigAutoFieldTest object +func (obj *patternPrefixConfigAutoFieldTest) SetIncrement(value PatternPrefixConfigAutoFieldTestCounter) PatternPrefixConfigAutoFieldTest { + obj.SetChoice(PatternPrefixConfigAutoFieldTestChoice.INCREMENT) + obj.incrementHolder = nil + obj.obj.Increment = value.Msg() + + return obj +} + +// description is TBD +// Decrement returns a PatternPrefixConfigAutoFieldTestCounter +func (obj *patternPrefixConfigAutoFieldTest) Decrement() PatternPrefixConfigAutoFieldTestCounter { + if obj.obj.Decrement == nil { + obj.SetChoice(PatternPrefixConfigAutoFieldTestChoice.DECREMENT) + } + if obj.decrementHolder == nil { + obj.decrementHolder = &patternPrefixConfigAutoFieldTestCounter{obj: obj.obj.Decrement} + } + return obj.decrementHolder +} + +// description is TBD +// Decrement returns a PatternPrefixConfigAutoFieldTestCounter +func (obj *patternPrefixConfigAutoFieldTest) HasDecrement() bool { + return obj.obj.Decrement != nil +} + +// description is TBD +// SetDecrement sets the PatternPrefixConfigAutoFieldTestCounter value in the PatternPrefixConfigAutoFieldTest object +func (obj *patternPrefixConfigAutoFieldTest) SetDecrement(value PatternPrefixConfigAutoFieldTestCounter) PatternPrefixConfigAutoFieldTest { + obj.SetChoice(PatternPrefixConfigAutoFieldTestChoice.DECREMENT) + obj.decrementHolder = nil + obj.obj.Decrement = value.Msg() + + return obj +} + +func (obj *patternPrefixConfigAutoFieldTest) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Value != nil { + + if *obj.obj.Value > 255 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("0 <= PatternPrefixConfigAutoFieldTest.Value <= 255 but Got %d", *obj.obj.Value)) + } + + } + + if obj.obj.Values != nil { + + for _, item := range obj.obj.Values { + if item > 255 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("min(uint32) <= PatternPrefixConfigAutoFieldTest.Values <= 255 but Got %d", item)) + } + + } + + } + + if obj.obj.Auto != nil { + + if *obj.obj.Auto > 255 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("0 <= PatternPrefixConfigAutoFieldTest.Auto <= 255 but Got %d", *obj.obj.Auto)) + } + + } + + if obj.obj.Increment != nil { + + obj.Increment().validateObj(vObj, set_default) + } + + if obj.obj.Decrement != nil { + + obj.Decrement().validateObj(vObj, set_default) + } + +} + +func (obj *patternPrefixConfigAutoFieldTest) setDefault() { + if obj.obj.Choice == nil { + obj.SetChoice(PatternPrefixConfigAutoFieldTestChoice.AUTO) + + } + +} + +// ***** WObject ***** +type wObject struct { + validation + obj *sanity.WObject +} + +func NewWObject() WObject { + obj := wObject{obj: &sanity.WObject{}} + obj.setDefault() + return &obj +} + +func (obj *wObject) Msg() *sanity.WObject { + return obj.obj +} + +func (obj *wObject) SetMsg(msg *sanity.WObject) WObject { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *wObject) ToProto() (*sanity.WObject, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *wObject) FromProto(msg *sanity.WObject) (WObject, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *wObject) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *wObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *wObject) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *wObject) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *wObject) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *wObject) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *wObject) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *wObject) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *wObject) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *wObject) Clone() (WObject, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewWObject() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// WObject is description is TBD +type WObject interface { + Validation + // Msg marshals WObject to protobuf object *sanity.WObject + // and doesn't set defaults + Msg() *sanity.WObject + // SetMsg unmarshals WObject from protobuf object *sanity.WObject + // and doesn't set defaults + SetMsg(*sanity.WObject) WObject + // ToProto marshals WObject to protobuf object *sanity.WObject + ToProto() (*sanity.WObject, error) + // ToPbText marshals WObject to protobuf text + ToPbText() (string, error) + // ToYaml marshals WObject to YAML text + ToYaml() (string, error) + // ToJson marshals WObject to JSON text + ToJson() (string, error) + // FromProto unmarshals WObject from protobuf object *sanity.WObject + FromProto(msg *sanity.WObject) (WObject, error) + // FromPbText unmarshals WObject from protobuf text + FromPbText(value string) error + // FromYaml unmarshals WObject from YAML text + FromYaml(value string) error + // FromJson unmarshals WObject from JSON text + FromJson(value string) error + // Validate validates WObject + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (WObject, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // WName returns string, set in WObject. + WName() string + // SetWName assigns string provided by user to WObject + SetWName(value string) WObject +} + +// description is TBD +// WName returns a string +func (obj *wObject) WName() string { + + return obj.obj.WName +} + +// description is TBD +// SetWName sets the string value in the WObject object +func (obj *wObject) SetWName(value string) WObject { + + obj.obj.WName = value + return obj +} + +func (obj *wObject) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + // WName is required + if obj.obj.WName == "" { + vObj.validationErrors = append(vObj.validationErrors, "WName is required field on interface WObject") + } +} + +func (obj *wObject) setDefault() { + +} + +// ***** ZObject ***** +type zObject struct { + validation + obj *sanity.ZObject +} + +func NewZObject() ZObject { + obj := zObject{obj: &sanity.ZObject{}} + obj.setDefault() + return &obj +} + +func (obj *zObject) Msg() *sanity.ZObject { + return obj.obj +} + +func (obj *zObject) SetMsg(msg *sanity.ZObject) ZObject { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *zObject) ToProto() (*sanity.ZObject, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *zObject) FromProto(msg *sanity.ZObject) (ZObject, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *zObject) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *zObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *zObject) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *zObject) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *zObject) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *zObject) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *zObject) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *zObject) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *zObject) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *zObject) Clone() (ZObject, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewZObject() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// ZObject is description is TBD +type ZObject interface { + Validation + // Msg marshals ZObject to protobuf object *sanity.ZObject + // and doesn't set defaults + Msg() *sanity.ZObject + // SetMsg unmarshals ZObject from protobuf object *sanity.ZObject + // and doesn't set defaults + SetMsg(*sanity.ZObject) ZObject + // ToProto marshals ZObject to protobuf object *sanity.ZObject + ToProto() (*sanity.ZObject, error) + // ToPbText marshals ZObject to protobuf text + ToPbText() (string, error) + // ToYaml marshals ZObject to YAML text + ToYaml() (string, error) + // ToJson marshals ZObject to JSON text + ToJson() (string, error) + // FromProto unmarshals ZObject from protobuf object *sanity.ZObject + FromProto(msg *sanity.ZObject) (ZObject, error) + // FromPbText unmarshals ZObject from protobuf text + FromPbText(value string) error + // FromYaml unmarshals ZObject from YAML text + FromYaml(value string) error + // FromJson unmarshals ZObject from JSON text + FromJson(value string) error + // Validate validates ZObject + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (ZObject, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Name returns string, set in ZObject. + Name() string + // SetName assigns string provided by user to ZObject + SetName(value string) ZObject +} + +// description is TBD +// Name returns a string +func (obj *zObject) Name() string { + + return obj.obj.Name +} + +// description is TBD +// SetName sets the string value in the ZObject object +func (obj *zObject) SetName(value string) ZObject { + + obj.obj.Name = value + return obj +} + +func (obj *zObject) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + // Name is required + if obj.obj.Name == "" { + vObj.validationErrors = append(vObj.validationErrors, "Name is required field on interface ZObject") + } +} + +func (obj *zObject) setDefault() { + +} + +// ***** YObject ***** +type yObject struct { + validation + obj *sanity.YObject +} + +func NewYObject() YObject { + obj := yObject{obj: &sanity.YObject{}} + obj.setDefault() + return &obj +} + +func (obj *yObject) Msg() *sanity.YObject { + return obj.obj +} + +func (obj *yObject) SetMsg(msg *sanity.YObject) YObject { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *yObject) ToProto() (*sanity.YObject, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *yObject) FromProto(msg *sanity.YObject) (YObject, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *yObject) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *yObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *yObject) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *yObject) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *yObject) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *yObject) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *yObject) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *yObject) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *yObject) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *yObject) Clone() (YObject, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewYObject() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// YObject is description is TBD +type YObject interface { + Validation + // Msg marshals YObject to protobuf object *sanity.YObject + // and doesn't set defaults + Msg() *sanity.YObject + // SetMsg unmarshals YObject from protobuf object *sanity.YObject + // and doesn't set defaults + SetMsg(*sanity.YObject) YObject + // ToProto marshals YObject to protobuf object *sanity.YObject + ToProto() (*sanity.YObject, error) + // ToPbText marshals YObject to protobuf text + ToPbText() (string, error) + // ToYaml marshals YObject to YAML text + ToYaml() (string, error) + // ToJson marshals YObject to JSON text + ToJson() (string, error) + // FromProto unmarshals YObject from protobuf object *sanity.YObject + FromProto(msg *sanity.YObject) (YObject, error) + // FromPbText unmarshals YObject from protobuf text + FromPbText(value string) error + // FromYaml unmarshals YObject from YAML text + FromYaml(value string) error + // FromJson unmarshals YObject from JSON text + FromJson(value string) error + // Validate validates YObject + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (YObject, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // YName returns string, set in YObject. + YName() string + // SetYName assigns string provided by user to YObject + SetYName(value string) YObject + // HasYName checks if YName has been set in YObject + HasYName() bool +} + +// TBD +// +// x-constraint: +// - /components/schemas/ZObject/properties/name +// - /components/schemas/WObject/properties/w_name +// +// YName returns a string +func (obj *yObject) YName() string { + + return *obj.obj.YName + +} + +// TBD +// +// x-constraint: +// - /components/schemas/ZObject/properties/name +// - /components/schemas/WObject/properties/w_name +// +// YName returns a string +func (obj *yObject) HasYName() bool { + return obj.obj.YName != nil +} + +// TBD +// +// x-constraint: +// - /components/schemas/ZObject/properties/name +// - /components/schemas/WObject/properties/w_name +// +// SetYName sets the string value in the YObject object +func (obj *yObject) SetYName(value string) YObject { + + obj.obj.YName = &value + return obj +} + +func (obj *yObject) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + +} + +func (obj *yObject) setDefault() { + +} + +// ***** ChoiceObject ***** +type choiceObject struct { + validation + obj *sanity.ChoiceObject + eObjHolder EObject + fObjHolder FObject +} + +func NewChoiceObject() ChoiceObject { + obj := choiceObject{obj: &sanity.ChoiceObject{}} + obj.setDefault() + return &obj +} + +func (obj *choiceObject) Msg() *sanity.ChoiceObject { + return obj.obj +} + +func (obj *choiceObject) SetMsg(msg *sanity.ChoiceObject) ChoiceObject { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *choiceObject) ToProto() (*sanity.ChoiceObject, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *choiceObject) FromProto(msg *sanity.ChoiceObject) (ChoiceObject, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *choiceObject) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *choiceObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *choiceObject) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *choiceObject) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *choiceObject) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *choiceObject) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *choiceObject) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *choiceObject) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *choiceObject) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *choiceObject) Clone() (ChoiceObject, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewChoiceObject() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *choiceObject) setNil() { + obj.eObjHolder = nil + obj.fObjHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// ChoiceObject is description is TBD +type ChoiceObject interface { + Validation + // Msg marshals ChoiceObject to protobuf object *sanity.ChoiceObject + // and doesn't set defaults + Msg() *sanity.ChoiceObject + // SetMsg unmarshals ChoiceObject from protobuf object *sanity.ChoiceObject + // and doesn't set defaults + SetMsg(*sanity.ChoiceObject) ChoiceObject + // ToProto marshals ChoiceObject to protobuf object *sanity.ChoiceObject + ToProto() (*sanity.ChoiceObject, error) + // ToPbText marshals ChoiceObject to protobuf text + ToPbText() (string, error) + // ToYaml marshals ChoiceObject to YAML text + ToYaml() (string, error) + // ToJson marshals ChoiceObject to JSON text + ToJson() (string, error) + // FromProto unmarshals ChoiceObject from protobuf object *sanity.ChoiceObject + FromProto(msg *sanity.ChoiceObject) (ChoiceObject, error) + // FromPbText unmarshals ChoiceObject from protobuf text + FromPbText(value string) error + // FromYaml unmarshals ChoiceObject from YAML text + FromYaml(value string) error + // FromJson unmarshals ChoiceObject from JSON text + FromJson(value string) error + // Validate validates ChoiceObject + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (ChoiceObject, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Choice returns ChoiceObjectChoiceEnum, set in ChoiceObject + Choice() ChoiceObjectChoiceEnum + // SetChoice assigns ChoiceObjectChoiceEnum provided by user to ChoiceObject + SetChoice(value ChoiceObjectChoiceEnum) ChoiceObject + // HasChoice checks if Choice has been set in ChoiceObject + HasChoice() bool + // EObj returns EObject, set in ChoiceObject. + // EObject is description is TBD + EObj() EObject + // SetEObj assigns EObject provided by user to ChoiceObject. + // EObject is description is TBD + SetEObj(value EObject) ChoiceObject + // HasEObj checks if EObj has been set in ChoiceObject + HasEObj() bool + // FObj returns FObject, set in ChoiceObject. + // FObject is description is TBD + FObj() FObject + // SetFObj assigns FObject provided by user to ChoiceObject. + // FObject is description is TBD + SetFObj(value FObject) ChoiceObject + // HasFObj checks if FObj has been set in ChoiceObject + HasFObj() bool + setNil() +} + +type ChoiceObjectChoiceEnum string + +// Enum of Choice on ChoiceObject +var ChoiceObjectChoice = struct { + E_OBJ ChoiceObjectChoiceEnum + F_OBJ ChoiceObjectChoiceEnum + NO_OBJ ChoiceObjectChoiceEnum +}{ + E_OBJ: ChoiceObjectChoiceEnum("e_obj"), + F_OBJ: ChoiceObjectChoiceEnum("f_obj"), + NO_OBJ: ChoiceObjectChoiceEnum("no_obj"), +} + +func (obj *choiceObject) Choice() ChoiceObjectChoiceEnum { + return ChoiceObjectChoiceEnum(obj.obj.Choice.Enum().String()) +} + +// description is TBD +// Choice returns a string +func (obj *choiceObject) HasChoice() bool { + return obj.obj.Choice != nil +} + +func (obj *choiceObject) SetChoice(value ChoiceObjectChoiceEnum) ChoiceObject { + intValue, ok := sanity.ChoiceObject_Choice_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on ChoiceObjectChoiceEnum", string(value))) + return obj + } + enumValue := sanity.ChoiceObject_Choice_Enum(intValue) + obj.obj.Choice = &enumValue + obj.obj.FObj = nil + obj.fObjHolder = nil + obj.obj.EObj = nil + obj.eObjHolder = nil + + if value == ChoiceObjectChoice.E_OBJ { + obj.obj.EObj = NewEObject().Msg() + } + + if value == ChoiceObjectChoice.F_OBJ { + obj.obj.FObj = NewFObject().Msg() + } + + return obj +} + +// description is TBD +// EObj returns a EObject +func (obj *choiceObject) EObj() EObject { + if obj.obj.EObj == nil { + obj.SetChoice(ChoiceObjectChoice.E_OBJ) + } + if obj.eObjHolder == nil { + obj.eObjHolder = &eObject{obj: obj.obj.EObj} + } + return obj.eObjHolder +} + +// description is TBD +// EObj returns a EObject +func (obj *choiceObject) HasEObj() bool { + return obj.obj.EObj != nil +} + +// description is TBD +// SetEObj sets the EObject value in the ChoiceObject object +func (obj *choiceObject) SetEObj(value EObject) ChoiceObject { + obj.SetChoice(ChoiceObjectChoice.E_OBJ) + obj.eObjHolder = nil + obj.obj.EObj = value.Msg() + + return obj +} + +// description is TBD +// FObj returns a FObject +func (obj *choiceObject) FObj() FObject { + if obj.obj.FObj == nil { + obj.SetChoice(ChoiceObjectChoice.F_OBJ) + } + if obj.fObjHolder == nil { + obj.fObjHolder = &fObject{obj: obj.obj.FObj} + } + return obj.fObjHolder +} + +// description is TBD +// FObj returns a FObject +func (obj *choiceObject) HasFObj() bool { + return obj.obj.FObj != nil +} + +// description is TBD +// SetFObj sets the FObject value in the ChoiceObject object +func (obj *choiceObject) SetFObj(value FObject) ChoiceObject { + obj.SetChoice(ChoiceObjectChoice.F_OBJ) + obj.fObjHolder = nil + obj.obj.FObj = value.Msg() + + return obj +} + +func (obj *choiceObject) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.EObj != nil { + + obj.EObj().validateObj(vObj, set_default) + } + + if obj.obj.FObj != nil { + + obj.FObj().validateObj(vObj, set_default) + } + +} + +func (obj *choiceObject) setDefault() { + if obj.obj.Choice == nil { + obj.SetChoice(ChoiceObjectChoice.NO_OBJ) + + } + +} + +// ***** RequiredChoiceParent ***** +type requiredChoiceParent struct { + validation + obj *sanity.RequiredChoiceParent + intermediateObjHolder RequiredChoiceIntermediate +} + +func NewRequiredChoiceParent() RequiredChoiceParent { + obj := requiredChoiceParent{obj: &sanity.RequiredChoiceParent{}} + obj.setDefault() + return &obj +} + +func (obj *requiredChoiceParent) Msg() *sanity.RequiredChoiceParent { + return obj.obj +} + +func (obj *requiredChoiceParent) SetMsg(msg *sanity.RequiredChoiceParent) RequiredChoiceParent { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *requiredChoiceParent) ToProto() (*sanity.RequiredChoiceParent, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *requiredChoiceParent) FromProto(msg *sanity.RequiredChoiceParent) (RequiredChoiceParent, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *requiredChoiceParent) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *requiredChoiceParent) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *requiredChoiceParent) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *requiredChoiceParent) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *requiredChoiceParent) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *requiredChoiceParent) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *requiredChoiceParent) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *requiredChoiceParent) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *requiredChoiceParent) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *requiredChoiceParent) Clone() (RequiredChoiceParent, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewRequiredChoiceParent() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *requiredChoiceParent) setNil() { + obj.intermediateObjHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// RequiredChoiceParent is description is TBD +type RequiredChoiceParent interface { + Validation + // Msg marshals RequiredChoiceParent to protobuf object *sanity.RequiredChoiceParent + // and doesn't set defaults + Msg() *sanity.RequiredChoiceParent + // SetMsg unmarshals RequiredChoiceParent from protobuf object *sanity.RequiredChoiceParent + // and doesn't set defaults + SetMsg(*sanity.RequiredChoiceParent) RequiredChoiceParent + // ToProto marshals RequiredChoiceParent to protobuf object *sanity.RequiredChoiceParent + ToProto() (*sanity.RequiredChoiceParent, error) + // ToPbText marshals RequiredChoiceParent to protobuf text + ToPbText() (string, error) + // ToYaml marshals RequiredChoiceParent to YAML text + ToYaml() (string, error) + // ToJson marshals RequiredChoiceParent to JSON text + ToJson() (string, error) + // FromProto unmarshals RequiredChoiceParent from protobuf object *sanity.RequiredChoiceParent + FromProto(msg *sanity.RequiredChoiceParent) (RequiredChoiceParent, error) + // FromPbText unmarshals RequiredChoiceParent from protobuf text + FromPbText(value string) error + // FromYaml unmarshals RequiredChoiceParent from YAML text + FromYaml(value string) error + // FromJson unmarshals RequiredChoiceParent from JSON text + FromJson(value string) error + // Validate validates RequiredChoiceParent + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (RequiredChoiceParent, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Choice returns RequiredChoiceParentChoiceEnum, set in RequiredChoiceParent + Choice() RequiredChoiceParentChoiceEnum + // SetChoice assigns RequiredChoiceParentChoiceEnum provided by user to RequiredChoiceParent + SetChoice(value RequiredChoiceParentChoiceEnum) RequiredChoiceParent + // IntermediateObj returns RequiredChoiceIntermediate, set in RequiredChoiceParent. + // RequiredChoiceIntermediate is description is TBD + IntermediateObj() RequiredChoiceIntermediate + // SetIntermediateObj assigns RequiredChoiceIntermediate provided by user to RequiredChoiceParent. + // RequiredChoiceIntermediate is description is TBD + SetIntermediateObj(value RequiredChoiceIntermediate) RequiredChoiceParent + // HasIntermediateObj checks if IntermediateObj has been set in RequiredChoiceParent + HasIntermediateObj() bool + setNil() +} + +type RequiredChoiceParentChoiceEnum string + +// Enum of Choice on RequiredChoiceParent +var RequiredChoiceParentChoice = struct { + INTERMEDIATE_OBJ RequiredChoiceParentChoiceEnum + NO_OBJ RequiredChoiceParentChoiceEnum +}{ + INTERMEDIATE_OBJ: RequiredChoiceParentChoiceEnum("intermediate_obj"), + NO_OBJ: RequiredChoiceParentChoiceEnum("no_obj"), +} + +func (obj *requiredChoiceParent) Choice() RequiredChoiceParentChoiceEnum { + return RequiredChoiceParentChoiceEnum(obj.obj.Choice.Enum().String()) +} + +func (obj *requiredChoiceParent) SetChoice(value RequiredChoiceParentChoiceEnum) RequiredChoiceParent { + intValue, ok := sanity.RequiredChoiceParent_Choice_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on RequiredChoiceParentChoiceEnum", string(value))) + return obj + } + obj.obj.Choice = sanity.RequiredChoiceParent_Choice_Enum(intValue) + obj.obj.IntermediateObj = nil + obj.intermediateObjHolder = nil + + if value == RequiredChoiceParentChoice.INTERMEDIATE_OBJ { + obj.obj.IntermediateObj = NewRequiredChoiceIntermediate().Msg() + } + + return obj +} + +// description is TBD +// IntermediateObj returns a RequiredChoiceIntermediate +func (obj *requiredChoiceParent) IntermediateObj() RequiredChoiceIntermediate { + if obj.obj.IntermediateObj == nil { + obj.SetChoice(RequiredChoiceParentChoice.INTERMEDIATE_OBJ) + } + if obj.intermediateObjHolder == nil { + obj.intermediateObjHolder = &requiredChoiceIntermediate{obj: obj.obj.IntermediateObj} + } + return obj.intermediateObjHolder +} + +// description is TBD +// IntermediateObj returns a RequiredChoiceIntermediate +func (obj *requiredChoiceParent) HasIntermediateObj() bool { + return obj.obj.IntermediateObj != nil +} + +// description is TBD +// SetIntermediateObj sets the RequiredChoiceIntermediate value in the RequiredChoiceParent object +func (obj *requiredChoiceParent) SetIntermediateObj(value RequiredChoiceIntermediate) RequiredChoiceParent { + obj.SetChoice(RequiredChoiceParentChoice.INTERMEDIATE_OBJ) + obj.intermediateObjHolder = nil + obj.obj.IntermediateObj = value.Msg() + + return obj +} + +func (obj *requiredChoiceParent) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + // Choice is required + if obj.obj.Choice.Number() == 0 { + vObj.validationErrors = append(vObj.validationErrors, "Choice is required field on interface RequiredChoiceParent") + } + + if obj.obj.IntermediateObj != nil { + + obj.IntermediateObj().validateObj(vObj, set_default) + } + +} + +func (obj *requiredChoiceParent) setDefault() { + +} + +// ***** Error ***** +type _error struct { + validation + obj *sanity.Error +} + +func NewError() Error { + obj := _error{obj: &sanity.Error{}} + obj.setDefault() + return &obj +} + +func (obj *_error) Msg() *sanity.Error { + return obj.obj +} + +func (obj *_error) SetMsg(msg *sanity.Error) Error { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *_error) ToProto() (*sanity.Error, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *_error) FromProto(msg *sanity.Error) (Error, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *_error) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *_error) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *_error) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *_error) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *_error) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *_error) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *_error) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *_error) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *_error) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *_error) Clone() (Error, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewError() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// Error is error response generated while serving API request. +type Error interface { + Validation + // Msg marshals Error to protobuf object *sanity.Error + // and doesn't set defaults + Msg() *sanity.Error + // SetMsg unmarshals Error from protobuf object *sanity.Error + // and doesn't set defaults + SetMsg(*sanity.Error) Error + // ToProto marshals Error to protobuf object *sanity.Error + ToProto() (*sanity.Error, error) + // ToPbText marshals Error to protobuf text + ToPbText() (string, error) + // ToYaml marshals Error to YAML text + ToYaml() (string, error) + // ToJson marshals Error to JSON text + ToJson() (string, error) + // FromProto unmarshals Error from protobuf object *sanity.Error + FromProto(msg *sanity.Error) (Error, error) + // FromPbText unmarshals Error from protobuf text + FromPbText(value string) error + // FromYaml unmarshals Error from YAML text + FromYaml(value string) error + // FromJson unmarshals Error from JSON text + FromJson(value string) error + // Validate validates Error + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (Error, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Code returns int32, set in Error. + Code() int32 + // SetCode assigns int32 provided by user to Error + SetCode(value int32) Error + // Kind returns ErrorKindEnum, set in Error + Kind() ErrorKindEnum + // SetKind assigns ErrorKindEnum provided by user to Error + SetKind(value ErrorKindEnum) Error + // HasKind checks if Kind has been set in Error + HasKind() bool + // Errors returns []string, set in Error. + Errors() []string + // SetErrors assigns []string provided by user to Error + SetErrors(value []string) Error + // implement Error function for implementingnative Error Interface. + Error() string +} + +func (obj *_error) Error() string { + json, err := obj.ToJson() + if err != nil { + return fmt.Sprintf("could not convert Error to JSON: %v", err) + } + return json +} + +// Numeric status code based on underlying transport being used. +// Code returns a int32 +func (obj *_error) Code() int32 { + + return obj.obj.Code +} + +// Numeric status code based on underlying transport being used. +// SetCode sets the int32 value in the Error object +func (obj *_error) SetCode(value int32) Error { + + obj.obj.Code = value + return obj +} + +type ErrorKindEnum string + +// Enum of Kind on Error +var ErrorKind = struct { + TRANSPORT ErrorKindEnum + VALIDATION ErrorKindEnum + INTERNAL ErrorKindEnum +}{ + TRANSPORT: ErrorKindEnum("transport"), + VALIDATION: ErrorKindEnum("validation"), + INTERNAL: ErrorKindEnum("internal"), +} + +func (obj *_error) Kind() ErrorKindEnum { + return ErrorKindEnum(obj.obj.Kind.Enum().String()) +} + +// Kind of error message. +// Kind returns a string +func (obj *_error) HasKind() bool { + return obj.obj.Kind != nil +} + +func (obj *_error) SetKind(value ErrorKindEnum) Error { + intValue, ok := sanity.Error_Kind_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on ErrorKindEnum", string(value))) + return obj + } + enumValue := sanity.Error_Kind_Enum(intValue) + obj.obj.Kind = &enumValue + + return obj +} + +// List of error messages generated while serving API request. +// Errors returns a []string +func (obj *_error) Errors() []string { + if obj.obj.Errors == nil { + obj.obj.Errors = make([]string, 0) + } + return obj.obj.Errors +} + +// List of error messages generated while serving API request. +// SetErrors sets the []string value in the Error object +func (obj *_error) SetErrors(value []string) Error { + + if obj.obj.Errors == nil { + obj.obj.Errors = make([]string, 0) + } + obj.obj.Errors = value + + return obj +} + +func (obj *_error) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + // Errors is required + if obj.obj.Errors == nil { + vObj.validationErrors = append(vObj.validationErrors, "Errors is required field on interface Error") + } +} + +func (obj *_error) setDefault() { + +} + +// ***** Metrics ***** +type metrics struct { + validation + obj *sanity.Metrics + portsHolder MetricsPortMetricIter + flowsHolder MetricsFlowMetricIter +} + +func NewMetrics() Metrics { + obj := metrics{obj: &sanity.Metrics{}} + obj.setDefault() + return &obj +} + +func (obj *metrics) Msg() *sanity.Metrics { + return obj.obj +} + +func (obj *metrics) SetMsg(msg *sanity.Metrics) Metrics { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *metrics) ToProto() (*sanity.Metrics, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *metrics) FromProto(msg *sanity.Metrics) (Metrics, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *metrics) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *metrics) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *metrics) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *metrics) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *metrics) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *metrics) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *metrics) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *metrics) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *metrics) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *metrics) Clone() (Metrics, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewMetrics() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *metrics) setNil() { + obj.portsHolder = nil + obj.flowsHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// Metrics is description is TBD +type Metrics interface { + Validation + // Msg marshals Metrics to protobuf object *sanity.Metrics + // and doesn't set defaults + Msg() *sanity.Metrics + // SetMsg unmarshals Metrics from protobuf object *sanity.Metrics + // and doesn't set defaults + SetMsg(*sanity.Metrics) Metrics + // ToProto marshals Metrics to protobuf object *sanity.Metrics + ToProto() (*sanity.Metrics, error) + // ToPbText marshals Metrics to protobuf text + ToPbText() (string, error) + // ToYaml marshals Metrics to YAML text + ToYaml() (string, error) + // ToJson marshals Metrics to JSON text + ToJson() (string, error) + // FromProto unmarshals Metrics from protobuf object *sanity.Metrics + FromProto(msg *sanity.Metrics) (Metrics, error) + // FromPbText unmarshals Metrics from protobuf text + FromPbText(value string) error + // FromYaml unmarshals Metrics from YAML text + FromYaml(value string) error + // FromJson unmarshals Metrics from JSON text + FromJson(value string) error + // Validate validates Metrics + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (Metrics, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Choice returns MetricsChoiceEnum, set in Metrics + Choice() MetricsChoiceEnum + // SetChoice assigns MetricsChoiceEnum provided by user to Metrics + SetChoice(value MetricsChoiceEnum) Metrics + // HasChoice checks if Choice has been set in Metrics + HasChoice() bool + // Ports returns MetricsPortMetricIterIter, set in Metrics + Ports() MetricsPortMetricIter + // Flows returns MetricsFlowMetricIterIter, set in Metrics + Flows() MetricsFlowMetricIter + setNil() +} + +type MetricsChoiceEnum string + +// Enum of Choice on Metrics +var MetricsChoice = struct { + PORTS MetricsChoiceEnum + FLOWS MetricsChoiceEnum +}{ + PORTS: MetricsChoiceEnum("ports"), + FLOWS: MetricsChoiceEnum("flows"), +} + +func (obj *metrics) Choice() MetricsChoiceEnum { + return MetricsChoiceEnum(obj.obj.Choice.Enum().String()) +} + +// description is TBD +// Choice returns a string +func (obj *metrics) HasChoice() bool { + return obj.obj.Choice != nil +} + +func (obj *metrics) SetChoice(value MetricsChoiceEnum) Metrics { + intValue, ok := sanity.Metrics_Choice_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on MetricsChoiceEnum", string(value))) + return obj + } + enumValue := sanity.Metrics_Choice_Enum(intValue) + obj.obj.Choice = &enumValue + obj.obj.Flows = nil + obj.flowsHolder = nil + obj.obj.Ports = nil + obj.portsHolder = nil + + if value == MetricsChoice.PORTS { + obj.obj.Ports = []*sanity.PortMetric{} + } + + if value == MetricsChoice.FLOWS { + obj.obj.Flows = []*sanity.FlowMetric{} + } + + return obj +} + +// description is TBD +// Ports returns a []PortMetric +func (obj *metrics) Ports() MetricsPortMetricIter { + if len(obj.obj.Ports) == 0 { + obj.SetChoice(MetricsChoice.PORTS) + } + if obj.portsHolder == nil { + obj.portsHolder = newMetricsPortMetricIter(&obj.obj.Ports).setMsg(obj) + } + return obj.portsHolder +} + +type metricsPortMetricIter struct { + obj *metrics + portMetricSlice []PortMetric + fieldPtr *[]*sanity.PortMetric +} + +func newMetricsPortMetricIter(ptr *[]*sanity.PortMetric) MetricsPortMetricIter { + return &metricsPortMetricIter{fieldPtr: ptr} +} + +type MetricsPortMetricIter interface { + setMsg(*metrics) MetricsPortMetricIter + Items() []PortMetric + Add() PortMetric + Append(items ...PortMetric) MetricsPortMetricIter + Set(index int, newObj PortMetric) MetricsPortMetricIter + Clear() MetricsPortMetricIter + clearHolderSlice() MetricsPortMetricIter + appendHolderSlice(item PortMetric) MetricsPortMetricIter +} + +func (obj *metricsPortMetricIter) setMsg(msg *metrics) MetricsPortMetricIter { + obj.clearHolderSlice() + for _, val := range *obj.fieldPtr { + obj.appendHolderSlice(&portMetric{obj: val}) + } + obj.obj = msg + return obj +} + +func (obj *metricsPortMetricIter) Items() []PortMetric { + return obj.portMetricSlice +} + +func (obj *metricsPortMetricIter) Add() PortMetric { + newObj := &sanity.PortMetric{} + *obj.fieldPtr = append(*obj.fieldPtr, newObj) + newLibObj := &portMetric{obj: newObj} + newLibObj.setDefault() + obj.portMetricSlice = append(obj.portMetricSlice, newLibObj) + return newLibObj +} + +func (obj *metricsPortMetricIter) Append(items ...PortMetric) MetricsPortMetricIter { + for _, item := range items { + newObj := item.Msg() + *obj.fieldPtr = append(*obj.fieldPtr, newObj) + obj.portMetricSlice = append(obj.portMetricSlice, item) + } + return obj +} + +func (obj *metricsPortMetricIter) Set(index int, newObj PortMetric) MetricsPortMetricIter { + (*obj.fieldPtr)[index] = newObj.Msg() + obj.portMetricSlice[index] = newObj + return obj +} +func (obj *metricsPortMetricIter) Clear() MetricsPortMetricIter { + if len(*obj.fieldPtr) > 0 { + *obj.fieldPtr = []*sanity.PortMetric{} + obj.portMetricSlice = []PortMetric{} + } + return obj +} +func (obj *metricsPortMetricIter) clearHolderSlice() MetricsPortMetricIter { + if len(obj.portMetricSlice) > 0 { + obj.portMetricSlice = []PortMetric{} + } + return obj +} +func (obj *metricsPortMetricIter) appendHolderSlice(item PortMetric) MetricsPortMetricIter { + obj.portMetricSlice = append(obj.portMetricSlice, item) + return obj +} + +// description is TBD +// Flows returns a []FlowMetric +func (obj *metrics) Flows() MetricsFlowMetricIter { + if len(obj.obj.Flows) == 0 { + obj.SetChoice(MetricsChoice.FLOWS) + } + if obj.flowsHolder == nil { + obj.flowsHolder = newMetricsFlowMetricIter(&obj.obj.Flows).setMsg(obj) + } + return obj.flowsHolder +} + +type metricsFlowMetricIter struct { + obj *metrics + flowMetricSlice []FlowMetric + fieldPtr *[]*sanity.FlowMetric +} + +func newMetricsFlowMetricIter(ptr *[]*sanity.FlowMetric) MetricsFlowMetricIter { + return &metricsFlowMetricIter{fieldPtr: ptr} +} + +type MetricsFlowMetricIter interface { + setMsg(*metrics) MetricsFlowMetricIter + Items() []FlowMetric + Add() FlowMetric + Append(items ...FlowMetric) MetricsFlowMetricIter + Set(index int, newObj FlowMetric) MetricsFlowMetricIter + Clear() MetricsFlowMetricIter + clearHolderSlice() MetricsFlowMetricIter + appendHolderSlice(item FlowMetric) MetricsFlowMetricIter +} + +func (obj *metricsFlowMetricIter) setMsg(msg *metrics) MetricsFlowMetricIter { + obj.clearHolderSlice() + for _, val := range *obj.fieldPtr { + obj.appendHolderSlice(&flowMetric{obj: val}) + } + obj.obj = msg + return obj +} + +func (obj *metricsFlowMetricIter) Items() []FlowMetric { + return obj.flowMetricSlice +} + +func (obj *metricsFlowMetricIter) Add() FlowMetric { + newObj := &sanity.FlowMetric{} + *obj.fieldPtr = append(*obj.fieldPtr, newObj) + newLibObj := &flowMetric{obj: newObj} + newLibObj.setDefault() + obj.flowMetricSlice = append(obj.flowMetricSlice, newLibObj) + return newLibObj +} + +func (obj *metricsFlowMetricIter) Append(items ...FlowMetric) MetricsFlowMetricIter { + for _, item := range items { + newObj := item.Msg() + *obj.fieldPtr = append(*obj.fieldPtr, newObj) + obj.flowMetricSlice = append(obj.flowMetricSlice, item) + } + return obj +} + +func (obj *metricsFlowMetricIter) Set(index int, newObj FlowMetric) MetricsFlowMetricIter { + (*obj.fieldPtr)[index] = newObj.Msg() + obj.flowMetricSlice[index] = newObj + return obj +} +func (obj *metricsFlowMetricIter) Clear() MetricsFlowMetricIter { + if len(*obj.fieldPtr) > 0 { + *obj.fieldPtr = []*sanity.FlowMetric{} + obj.flowMetricSlice = []FlowMetric{} + } + return obj +} +func (obj *metricsFlowMetricIter) clearHolderSlice() MetricsFlowMetricIter { + if len(obj.flowMetricSlice) > 0 { + obj.flowMetricSlice = []FlowMetric{} + } + return obj +} +func (obj *metricsFlowMetricIter) appendHolderSlice(item FlowMetric) MetricsFlowMetricIter { + obj.flowMetricSlice = append(obj.flowMetricSlice, item) + return obj +} + +func (obj *metrics) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if len(obj.obj.Ports) != 0 { + + if set_default { + obj.Ports().clearHolderSlice() + for _, item := range obj.obj.Ports { + obj.Ports().appendHolderSlice(&portMetric{obj: item}) + } + } + for _, item := range obj.Ports().Items() { + item.validateObj(vObj, set_default) + } + + } + + if len(obj.obj.Flows) != 0 { + + if set_default { + obj.Flows().clearHolderSlice() + for _, item := range obj.obj.Flows { + obj.Flows().appendHolderSlice(&flowMetric{obj: item}) + } + } + for _, item := range obj.Flows().Items() { + item.validateObj(vObj, set_default) + } + + } + +} + +func (obj *metrics) setDefault() { + if obj.obj.Choice == nil { + obj.SetChoice(MetricsChoice.PORTS) + + } + +} + +// ***** WarningDetails ***** +type warningDetails struct { + validation + obj *sanity.WarningDetails +} + +func NewWarningDetails() WarningDetails { + obj := warningDetails{obj: &sanity.WarningDetails{}} + obj.setDefault() + return &obj +} + +func (obj *warningDetails) Msg() *sanity.WarningDetails { + return obj.obj +} + +func (obj *warningDetails) SetMsg(msg *sanity.WarningDetails) WarningDetails { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *warningDetails) ToProto() (*sanity.WarningDetails, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *warningDetails) FromProto(msg *sanity.WarningDetails) (WarningDetails, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *warningDetails) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *warningDetails) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *warningDetails) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *warningDetails) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *warningDetails) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *warningDetails) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *warningDetails) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *warningDetails) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *warningDetails) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *warningDetails) Clone() (WarningDetails, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewWarningDetails() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// WarningDetails is description is TBD +type WarningDetails interface { + Validation + // Msg marshals WarningDetails to protobuf object *sanity.WarningDetails + // and doesn't set defaults + Msg() *sanity.WarningDetails + // SetMsg unmarshals WarningDetails from protobuf object *sanity.WarningDetails + // and doesn't set defaults + SetMsg(*sanity.WarningDetails) WarningDetails + // ToProto marshals WarningDetails to protobuf object *sanity.WarningDetails + ToProto() (*sanity.WarningDetails, error) + // ToPbText marshals WarningDetails to protobuf text + ToPbText() (string, error) + // ToYaml marshals WarningDetails to YAML text + ToYaml() (string, error) + // ToJson marshals WarningDetails to JSON text + ToJson() (string, error) + // FromProto unmarshals WarningDetails from protobuf object *sanity.WarningDetails + FromProto(msg *sanity.WarningDetails) (WarningDetails, error) + // FromPbText unmarshals WarningDetails from protobuf text + FromPbText(value string) error + // FromYaml unmarshals WarningDetails from YAML text + FromYaml(value string) error + // FromJson unmarshals WarningDetails from JSON text + FromJson(value string) error + // Validate validates WarningDetails + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (WarningDetails, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Warnings returns []string, set in WarningDetails. + Warnings() []string + // SetWarnings assigns []string provided by user to WarningDetails + SetWarnings(value []string) WarningDetails +} + +// description is TBD +// Warnings returns a []string +func (obj *warningDetails) Warnings() []string { + if obj.obj.Warnings == nil { + obj.obj.Warnings = make([]string, 0) + } + return obj.obj.Warnings +} + +// description is TBD +// SetWarnings sets the []string value in the WarningDetails object +func (obj *warningDetails) SetWarnings(value []string) WarningDetails { + + if obj.obj.Warnings == nil { + obj.obj.Warnings = make([]string, 0) + } + obj.obj.Warnings = value + + return obj +} + +func (obj *warningDetails) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + +} + +func (obj *warningDetails) setDefault() { + +} + +// ***** CommonResponseSuccess ***** +type commonResponseSuccess struct { + validation + obj *sanity.CommonResponseSuccess +} + +func NewCommonResponseSuccess() CommonResponseSuccess { + obj := commonResponseSuccess{obj: &sanity.CommonResponseSuccess{}} + obj.setDefault() + return &obj +} + +func (obj *commonResponseSuccess) Msg() *sanity.CommonResponseSuccess { + return obj.obj +} + +func (obj *commonResponseSuccess) SetMsg(msg *sanity.CommonResponseSuccess) CommonResponseSuccess { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *commonResponseSuccess) ToProto() (*sanity.CommonResponseSuccess, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *commonResponseSuccess) FromProto(msg *sanity.CommonResponseSuccess) (CommonResponseSuccess, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *commonResponseSuccess) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *commonResponseSuccess) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *commonResponseSuccess) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *commonResponseSuccess) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *commonResponseSuccess) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *commonResponseSuccess) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *commonResponseSuccess) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *commonResponseSuccess) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *commonResponseSuccess) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *commonResponseSuccess) Clone() (CommonResponseSuccess, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewCommonResponseSuccess() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// CommonResponseSuccess is description is TBD +type CommonResponseSuccess interface { + Validation + // Msg marshals CommonResponseSuccess to protobuf object *sanity.CommonResponseSuccess + // and doesn't set defaults + Msg() *sanity.CommonResponseSuccess + // SetMsg unmarshals CommonResponseSuccess from protobuf object *sanity.CommonResponseSuccess + // and doesn't set defaults + SetMsg(*sanity.CommonResponseSuccess) CommonResponseSuccess + // ToProto marshals CommonResponseSuccess to protobuf object *sanity.CommonResponseSuccess + ToProto() (*sanity.CommonResponseSuccess, error) + // ToPbText marshals CommonResponseSuccess to protobuf text + ToPbText() (string, error) + // ToYaml marshals CommonResponseSuccess to YAML text + ToYaml() (string, error) + // ToJson marshals CommonResponseSuccess to JSON text + ToJson() (string, error) + // FromProto unmarshals CommonResponseSuccess from protobuf object *sanity.CommonResponseSuccess + FromProto(msg *sanity.CommonResponseSuccess) (CommonResponseSuccess, error) + // FromPbText unmarshals CommonResponseSuccess from protobuf text + FromPbText(value string) error + // FromYaml unmarshals CommonResponseSuccess from YAML text + FromYaml(value string) error + // FromJson unmarshals CommonResponseSuccess from JSON text + FromJson(value string) error + // Validate validates CommonResponseSuccess + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (CommonResponseSuccess, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Message returns string, set in CommonResponseSuccess. + Message() string + // SetMessage assigns string provided by user to CommonResponseSuccess + SetMessage(value string) CommonResponseSuccess + // HasMessage checks if Message has been set in CommonResponseSuccess + HasMessage() bool +} + +// description is TBD +// Message returns a string +func (obj *commonResponseSuccess) Message() string { + + return *obj.obj.Message + +} + +// description is TBD +// Message returns a string +func (obj *commonResponseSuccess) HasMessage() bool { + return obj.obj.Message != nil +} + +// description is TBD +// SetMessage sets the string value in the CommonResponseSuccess object +func (obj *commonResponseSuccess) SetMessage(value string) CommonResponseSuccess { + + obj.obj.Message = &value + return obj +} + +func (obj *commonResponseSuccess) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + +} + +func (obj *commonResponseSuccess) setDefault() { + +} + +// ***** ServiceAbcItemList ***** +type serviceAbcItemList struct { + validation + obj *sanity.ServiceAbcItemList + itemsHolder ServiceAbcItemListServiceAbcItemIter +} + +func NewServiceAbcItemList() ServiceAbcItemList { + obj := serviceAbcItemList{obj: &sanity.ServiceAbcItemList{}} + obj.setDefault() + return &obj +} + +func (obj *serviceAbcItemList) Msg() *sanity.ServiceAbcItemList { + return obj.obj +} + +func (obj *serviceAbcItemList) SetMsg(msg *sanity.ServiceAbcItemList) ServiceAbcItemList { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *serviceAbcItemList) ToProto() (*sanity.ServiceAbcItemList, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *serviceAbcItemList) FromProto(msg *sanity.ServiceAbcItemList) (ServiceAbcItemList, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *serviceAbcItemList) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *serviceAbcItemList) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *serviceAbcItemList) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *serviceAbcItemList) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *serviceAbcItemList) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *serviceAbcItemList) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *serviceAbcItemList) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *serviceAbcItemList) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *serviceAbcItemList) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *serviceAbcItemList) Clone() (ServiceAbcItemList, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewServiceAbcItemList() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *serviceAbcItemList) setNil() { + obj.itemsHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// ServiceAbcItemList is description is TBD +type ServiceAbcItemList interface { + Validation + // Msg marshals ServiceAbcItemList to protobuf object *sanity.ServiceAbcItemList + // and doesn't set defaults + Msg() *sanity.ServiceAbcItemList + // SetMsg unmarshals ServiceAbcItemList from protobuf object *sanity.ServiceAbcItemList + // and doesn't set defaults + SetMsg(*sanity.ServiceAbcItemList) ServiceAbcItemList + // ToProto marshals ServiceAbcItemList to protobuf object *sanity.ServiceAbcItemList + ToProto() (*sanity.ServiceAbcItemList, error) + // ToPbText marshals ServiceAbcItemList to protobuf text + ToPbText() (string, error) + // ToYaml marshals ServiceAbcItemList to YAML text + ToYaml() (string, error) + // ToJson marshals ServiceAbcItemList to JSON text + ToJson() (string, error) + // FromProto unmarshals ServiceAbcItemList from protobuf object *sanity.ServiceAbcItemList + FromProto(msg *sanity.ServiceAbcItemList) (ServiceAbcItemList, error) + // FromPbText unmarshals ServiceAbcItemList from protobuf text + FromPbText(value string) error + // FromYaml unmarshals ServiceAbcItemList from YAML text + FromYaml(value string) error + // FromJson unmarshals ServiceAbcItemList from JSON text + FromJson(value string) error + // Validate validates ServiceAbcItemList + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (ServiceAbcItemList, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Items returns ServiceAbcItemListServiceAbcItemIterIter, set in ServiceAbcItemList + Items() ServiceAbcItemListServiceAbcItemIter + setNil() +} + +// description is TBD +// Items returns a []ServiceAbcItem +func (obj *serviceAbcItemList) Items() ServiceAbcItemListServiceAbcItemIter { + if len(obj.obj.Items) == 0 { + obj.obj.Items = []*sanity.ServiceAbcItem{} + } + if obj.itemsHolder == nil { + obj.itemsHolder = newServiceAbcItemListServiceAbcItemIter(&obj.obj.Items).setMsg(obj) + } + return obj.itemsHolder +} + +type serviceAbcItemListServiceAbcItemIter struct { + obj *serviceAbcItemList + serviceAbcItemSlice []ServiceAbcItem + fieldPtr *[]*sanity.ServiceAbcItem +} + +func newServiceAbcItemListServiceAbcItemIter(ptr *[]*sanity.ServiceAbcItem) ServiceAbcItemListServiceAbcItemIter { + return &serviceAbcItemListServiceAbcItemIter{fieldPtr: ptr} +} + +type ServiceAbcItemListServiceAbcItemIter interface { + setMsg(*serviceAbcItemList) ServiceAbcItemListServiceAbcItemIter + Items() []ServiceAbcItem + Add() ServiceAbcItem + Append(items ...ServiceAbcItem) ServiceAbcItemListServiceAbcItemIter + Set(index int, newObj ServiceAbcItem) ServiceAbcItemListServiceAbcItemIter + Clear() ServiceAbcItemListServiceAbcItemIter + clearHolderSlice() ServiceAbcItemListServiceAbcItemIter + appendHolderSlice(item ServiceAbcItem) ServiceAbcItemListServiceAbcItemIter +} + +func (obj *serviceAbcItemListServiceAbcItemIter) setMsg(msg *serviceAbcItemList) ServiceAbcItemListServiceAbcItemIter { + obj.clearHolderSlice() + for _, val := range *obj.fieldPtr { + obj.appendHolderSlice(&serviceAbcItem{obj: val}) + } + obj.obj = msg + return obj +} + +func (obj *serviceAbcItemListServiceAbcItemIter) Items() []ServiceAbcItem { + return obj.serviceAbcItemSlice +} + +func (obj *serviceAbcItemListServiceAbcItemIter) Add() ServiceAbcItem { + newObj := &sanity.ServiceAbcItem{} + *obj.fieldPtr = append(*obj.fieldPtr, newObj) + newLibObj := &serviceAbcItem{obj: newObj} + newLibObj.setDefault() + obj.serviceAbcItemSlice = append(obj.serviceAbcItemSlice, newLibObj) + return newLibObj +} + +func (obj *serviceAbcItemListServiceAbcItemIter) Append(items ...ServiceAbcItem) ServiceAbcItemListServiceAbcItemIter { + for _, item := range items { + newObj := item.Msg() + *obj.fieldPtr = append(*obj.fieldPtr, newObj) + obj.serviceAbcItemSlice = append(obj.serviceAbcItemSlice, item) + } + return obj +} + +func (obj *serviceAbcItemListServiceAbcItemIter) Set(index int, newObj ServiceAbcItem) ServiceAbcItemListServiceAbcItemIter { + (*obj.fieldPtr)[index] = newObj.Msg() + obj.serviceAbcItemSlice[index] = newObj + return obj +} +func (obj *serviceAbcItemListServiceAbcItemIter) Clear() ServiceAbcItemListServiceAbcItemIter { + if len(*obj.fieldPtr) > 0 { + *obj.fieldPtr = []*sanity.ServiceAbcItem{} + obj.serviceAbcItemSlice = []ServiceAbcItem{} + } + return obj +} +func (obj *serviceAbcItemListServiceAbcItemIter) clearHolderSlice() ServiceAbcItemListServiceAbcItemIter { + if len(obj.serviceAbcItemSlice) > 0 { + obj.serviceAbcItemSlice = []ServiceAbcItem{} + } + return obj +} +func (obj *serviceAbcItemListServiceAbcItemIter) appendHolderSlice(item ServiceAbcItem) ServiceAbcItemListServiceAbcItemIter { + obj.serviceAbcItemSlice = append(obj.serviceAbcItemSlice, item) + return obj +} + +func (obj *serviceAbcItemList) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if len(obj.obj.Items) != 0 { + + if set_default { + obj.Items().clearHolderSlice() + for _, item := range obj.obj.Items { + obj.Items().appendHolderSlice(&serviceAbcItem{obj: item}) + } + } + for _, item := range obj.Items().Items() { + item.validateObj(vObj, set_default) + } + + } + +} + +func (obj *serviceAbcItemList) setDefault() { + +} + +// ***** ServiceAbcItem ***** +type serviceAbcItem struct { + validation + obj *sanity.ServiceAbcItem +} + +func NewServiceAbcItem() ServiceAbcItem { + obj := serviceAbcItem{obj: &sanity.ServiceAbcItem{}} + obj.setDefault() + return &obj +} + +func (obj *serviceAbcItem) Msg() *sanity.ServiceAbcItem { + return obj.obj +} + +func (obj *serviceAbcItem) SetMsg(msg *sanity.ServiceAbcItem) ServiceAbcItem { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *serviceAbcItem) ToProto() (*sanity.ServiceAbcItem, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *serviceAbcItem) FromProto(msg *sanity.ServiceAbcItem) (ServiceAbcItem, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *serviceAbcItem) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *serviceAbcItem) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *serviceAbcItem) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *serviceAbcItem) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *serviceAbcItem) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *serviceAbcItem) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *serviceAbcItem) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *serviceAbcItem) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *serviceAbcItem) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *serviceAbcItem) Clone() (ServiceAbcItem, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewServiceAbcItem() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// ServiceAbcItem is description is TBD +type ServiceAbcItem interface { + Validation + // Msg marshals ServiceAbcItem to protobuf object *sanity.ServiceAbcItem + // and doesn't set defaults + Msg() *sanity.ServiceAbcItem + // SetMsg unmarshals ServiceAbcItem from protobuf object *sanity.ServiceAbcItem + // and doesn't set defaults + SetMsg(*sanity.ServiceAbcItem) ServiceAbcItem + // ToProto marshals ServiceAbcItem to protobuf object *sanity.ServiceAbcItem + ToProto() (*sanity.ServiceAbcItem, error) + // ToPbText marshals ServiceAbcItem to protobuf text + ToPbText() (string, error) + // ToYaml marshals ServiceAbcItem to YAML text + ToYaml() (string, error) + // ToJson marshals ServiceAbcItem to JSON text + ToJson() (string, error) + // FromProto unmarshals ServiceAbcItem from protobuf object *sanity.ServiceAbcItem + FromProto(msg *sanity.ServiceAbcItem) (ServiceAbcItem, error) + // FromPbText unmarshals ServiceAbcItem from protobuf text + FromPbText(value string) error + // FromYaml unmarshals ServiceAbcItem from YAML text + FromYaml(value string) error + // FromJson unmarshals ServiceAbcItem from JSON text + FromJson(value string) error + // Validate validates ServiceAbcItem + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (ServiceAbcItem, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // SomeId returns string, set in ServiceAbcItem. + SomeId() string + // SetSomeId assigns string provided by user to ServiceAbcItem + SetSomeId(value string) ServiceAbcItem + // HasSomeId checks if SomeId has been set in ServiceAbcItem + HasSomeId() bool + // SomeString returns string, set in ServiceAbcItem. + SomeString() string + // SetSomeString assigns string provided by user to ServiceAbcItem + SetSomeString(value string) ServiceAbcItem + // HasSomeString checks if SomeString has been set in ServiceAbcItem + HasSomeString() bool + // PathId returns string, set in ServiceAbcItem. + PathId() string + // SetPathId assigns string provided by user to ServiceAbcItem + SetPathId(value string) ServiceAbcItem + // HasPathId checks if PathId has been set in ServiceAbcItem + HasPathId() bool + // Level2 returns string, set in ServiceAbcItem. + Level2() string + // SetLevel2 assigns string provided by user to ServiceAbcItem + SetLevel2(value string) ServiceAbcItem + // HasLevel2 checks if Level2 has been set in ServiceAbcItem + HasLevel2() bool +} + +// description is TBD +// SomeId returns a string +func (obj *serviceAbcItem) SomeId() string { + + return *obj.obj.SomeId + +} + +// description is TBD +// SomeId returns a string +func (obj *serviceAbcItem) HasSomeId() bool { + return obj.obj.SomeId != nil +} + +// description is TBD +// SetSomeId sets the string value in the ServiceAbcItem object +func (obj *serviceAbcItem) SetSomeId(value string) ServiceAbcItem { + + obj.obj.SomeId = &value + return obj +} + +// description is TBD +// SomeString returns a string +func (obj *serviceAbcItem) SomeString() string { + + return *obj.obj.SomeString + +} + +// description is TBD +// SomeString returns a string +func (obj *serviceAbcItem) HasSomeString() bool { + return obj.obj.SomeString != nil +} + +// description is TBD +// SetSomeString sets the string value in the ServiceAbcItem object +func (obj *serviceAbcItem) SetSomeString(value string) ServiceAbcItem { + + obj.obj.SomeString = &value + return obj +} + +// description is TBD +// PathId returns a string +func (obj *serviceAbcItem) PathId() string { + + return *obj.obj.PathId + +} + +// description is TBD +// PathId returns a string +func (obj *serviceAbcItem) HasPathId() bool { + return obj.obj.PathId != nil +} + +// description is TBD +// SetPathId sets the string value in the ServiceAbcItem object +func (obj *serviceAbcItem) SetPathId(value string) ServiceAbcItem { + + obj.obj.PathId = &value + return obj +} + +// description is TBD +// Level2 returns a string +func (obj *serviceAbcItem) Level2() string { + + return *obj.obj.Level_2 + +} + +// description is TBD +// Level2 returns a string +func (obj *serviceAbcItem) HasLevel2() bool { + return obj.obj.Level_2 != nil +} + +// description is TBD +// SetLevel2 sets the string value in the ServiceAbcItem object +func (obj *serviceAbcItem) SetLevel2(value string) ServiceAbcItem { + + obj.obj.Level_2 = &value + return obj +} + +func (obj *serviceAbcItem) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + +} + +func (obj *serviceAbcItem) setDefault() { + +} + +// ***** Version ***** +type version struct { + validation + obj *sanity.Version +} + +func NewVersion() Version { + obj := version{obj: &sanity.Version{}} + obj.setDefault() + return &obj +} + +func (obj *version) Msg() *sanity.Version { + return obj.obj +} + +func (obj *version) SetMsg(msg *sanity.Version) Version { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *version) ToProto() (*sanity.Version, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *version) FromProto(msg *sanity.Version) (Version, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *version) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *version) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *version) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *version) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *version) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *version) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *version) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *version) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *version) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *version) Clone() (Version, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewVersion() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// Version is version details +type Version interface { + Validation + // Msg marshals Version to protobuf object *sanity.Version + // and doesn't set defaults + Msg() *sanity.Version + // SetMsg unmarshals Version from protobuf object *sanity.Version + // and doesn't set defaults + SetMsg(*sanity.Version) Version + // ToProto marshals Version to protobuf object *sanity.Version + ToProto() (*sanity.Version, error) + // ToPbText marshals Version to protobuf text + ToPbText() (string, error) + // ToYaml marshals Version to YAML text + ToYaml() (string, error) + // ToJson marshals Version to JSON text + ToJson() (string, error) + // FromProto unmarshals Version from protobuf object *sanity.Version + FromProto(msg *sanity.Version) (Version, error) + // FromPbText unmarshals Version from protobuf text + FromPbText(value string) error + // FromYaml unmarshals Version from YAML text + FromYaml(value string) error + // FromJson unmarshals Version from JSON text + FromJson(value string) error + // Validate validates Version + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (Version, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // ApiSpecVersion returns string, set in Version. + ApiSpecVersion() string + // SetApiSpecVersion assigns string provided by user to Version + SetApiSpecVersion(value string) Version + // HasApiSpecVersion checks if ApiSpecVersion has been set in Version + HasApiSpecVersion() bool + // SdkVersion returns string, set in Version. + SdkVersion() string + // SetSdkVersion assigns string provided by user to Version + SetSdkVersion(value string) Version + // HasSdkVersion checks if SdkVersion has been set in Version + HasSdkVersion() bool + // AppVersion returns string, set in Version. + AppVersion() string + // SetAppVersion assigns string provided by user to Version + SetAppVersion(value string) Version + // HasAppVersion checks if AppVersion has been set in Version + HasAppVersion() bool +} + +// Version of API specification +// ApiSpecVersion returns a string +func (obj *version) ApiSpecVersion() string { + + return *obj.obj.ApiSpecVersion + +} + +// Version of API specification +// ApiSpecVersion returns a string +func (obj *version) HasApiSpecVersion() bool { + return obj.obj.ApiSpecVersion != nil +} + +// Version of API specification +// SetApiSpecVersion sets the string value in the Version object +func (obj *version) SetApiSpecVersion(value string) Version { + + obj.obj.ApiSpecVersion = &value + return obj +} + +// Version of SDK generated from API specification +// SdkVersion returns a string +func (obj *version) SdkVersion() string { + + return *obj.obj.SdkVersion + +} + +// Version of SDK generated from API specification +// SdkVersion returns a string +func (obj *version) HasSdkVersion() bool { + return obj.obj.SdkVersion != nil +} + +// Version of SDK generated from API specification +// SetSdkVersion sets the string value in the Version object +func (obj *version) SetSdkVersion(value string) Version { + + obj.obj.SdkVersion = &value + return obj +} + +// Version of application consuming or serving the API +// AppVersion returns a string +func (obj *version) AppVersion() string { + + return *obj.obj.AppVersion + +} + +// Version of application consuming or serving the API +// AppVersion returns a string +func (obj *version) HasAppVersion() bool { + return obj.obj.AppVersion != nil +} + +// Version of application consuming or serving the API +// SetAppVersion sets the string value in the Version object +func (obj *version) SetAppVersion(value string) Version { + + obj.obj.AppVersion = &value + return obj +} + +func (obj *version) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + +} + +func (obj *version) setDefault() { + if obj.obj.ApiSpecVersion == nil { + obj.SetApiSpecVersion("") + } + if obj.obj.SdkVersion == nil { + obj.SetSdkVersion("") + } + if obj.obj.AppVersion == nil { + obj.SetAppVersion("") + } + +} + +// ***** LevelTwo ***** +type levelTwo struct { + validation + obj *sanity.LevelTwo + l2P1Holder LevelThree +} + +func NewLevelTwo() LevelTwo { + obj := levelTwo{obj: &sanity.LevelTwo{}} + obj.setDefault() + return &obj +} + +func (obj *levelTwo) Msg() *sanity.LevelTwo { + return obj.obj +} + +func (obj *levelTwo) SetMsg(msg *sanity.LevelTwo) LevelTwo { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *levelTwo) ToProto() (*sanity.LevelTwo, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *levelTwo) FromProto(msg *sanity.LevelTwo) (LevelTwo, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *levelTwo) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *levelTwo) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *levelTwo) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *levelTwo) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *levelTwo) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *levelTwo) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *levelTwo) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *levelTwo) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *levelTwo) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *levelTwo) Clone() (LevelTwo, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewLevelTwo() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *levelTwo) setNil() { + obj.l2P1Holder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// LevelTwo is test Level 2 +type LevelTwo interface { + Validation + // Msg marshals LevelTwo to protobuf object *sanity.LevelTwo + // and doesn't set defaults + Msg() *sanity.LevelTwo + // SetMsg unmarshals LevelTwo from protobuf object *sanity.LevelTwo + // and doesn't set defaults + SetMsg(*sanity.LevelTwo) LevelTwo + // ToProto marshals LevelTwo to protobuf object *sanity.LevelTwo + ToProto() (*sanity.LevelTwo, error) + // ToPbText marshals LevelTwo to protobuf text + ToPbText() (string, error) + // ToYaml marshals LevelTwo to YAML text + ToYaml() (string, error) + // ToJson marshals LevelTwo to JSON text + ToJson() (string, error) + // FromProto unmarshals LevelTwo from protobuf object *sanity.LevelTwo + FromProto(msg *sanity.LevelTwo) (LevelTwo, error) + // FromPbText unmarshals LevelTwo from protobuf text + FromPbText(value string) error + // FromYaml unmarshals LevelTwo from YAML text + FromYaml(value string) error + // FromJson unmarshals LevelTwo from JSON text + FromJson(value string) error + // Validate validates LevelTwo + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (LevelTwo, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // L2P1 returns LevelThree, set in LevelTwo. + // LevelThree is test Level3 + L2P1() LevelThree + // SetL2P1 assigns LevelThree provided by user to LevelTwo. + // LevelThree is test Level3 + SetL2P1(value LevelThree) LevelTwo + // HasL2P1 checks if L2P1 has been set in LevelTwo + HasL2P1() bool + setNil() +} + +// Level Two +// L2P1 returns a LevelThree +func (obj *levelTwo) L2P1() LevelThree { + if obj.obj.L2P1 == nil { + obj.obj.L2P1 = NewLevelThree().Msg() + } + if obj.l2P1Holder == nil { + obj.l2P1Holder = &levelThree{obj: obj.obj.L2P1} + } + return obj.l2P1Holder +} + +// Level Two +// L2P1 returns a LevelThree +func (obj *levelTwo) HasL2P1() bool { + return obj.obj.L2P1 != nil +} + +// Level Two +// SetL2P1 sets the LevelThree value in the LevelTwo object +func (obj *levelTwo) SetL2P1(value LevelThree) LevelTwo { + + obj.l2P1Holder = nil + obj.obj.L2P1 = value.Msg() + + return obj +} + +func (obj *levelTwo) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.L2P1 != nil { + + obj.L2P1().validateObj(vObj, set_default) + } + +} + +func (obj *levelTwo) setDefault() { + +} + +// ***** LevelFour ***** +type levelFour struct { + validation + obj *sanity.LevelFour + l4P1Holder LevelOne +} + +func NewLevelFour() LevelFour { + obj := levelFour{obj: &sanity.LevelFour{}} + obj.setDefault() + return &obj +} + +func (obj *levelFour) Msg() *sanity.LevelFour { + return obj.obj +} + +func (obj *levelFour) SetMsg(msg *sanity.LevelFour) LevelFour { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *levelFour) ToProto() (*sanity.LevelFour, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *levelFour) FromProto(msg *sanity.LevelFour) (LevelFour, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *levelFour) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *levelFour) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *levelFour) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *levelFour) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *levelFour) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *levelFour) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *levelFour) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *levelFour) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *levelFour) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *levelFour) Clone() (LevelFour, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewLevelFour() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *levelFour) setNil() { + obj.l4P1Holder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// LevelFour is test level4 redundant junk testing +type LevelFour interface { + Validation + // Msg marshals LevelFour to protobuf object *sanity.LevelFour + // and doesn't set defaults + Msg() *sanity.LevelFour + // SetMsg unmarshals LevelFour from protobuf object *sanity.LevelFour + // and doesn't set defaults + SetMsg(*sanity.LevelFour) LevelFour + // ToProto marshals LevelFour to protobuf object *sanity.LevelFour + ToProto() (*sanity.LevelFour, error) + // ToPbText marshals LevelFour to protobuf text + ToPbText() (string, error) + // ToYaml marshals LevelFour to YAML text + ToYaml() (string, error) + // ToJson marshals LevelFour to JSON text + ToJson() (string, error) + // FromProto unmarshals LevelFour from protobuf object *sanity.LevelFour + FromProto(msg *sanity.LevelFour) (LevelFour, error) + // FromPbText unmarshals LevelFour from protobuf text + FromPbText(value string) error + // FromYaml unmarshals LevelFour from YAML text + FromYaml(value string) error + // FromJson unmarshals LevelFour from JSON text + FromJson(value string) error + // Validate validates LevelFour + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (LevelFour, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // L4P1 returns LevelOne, set in LevelFour. + // LevelOne is to Test Multi level non-primitive types + L4P1() LevelOne + // SetL4P1 assigns LevelOne provided by user to LevelFour. + // LevelOne is to Test Multi level non-primitive types + SetL4P1(value LevelOne) LevelFour + // HasL4P1 checks if L4P1 has been set in LevelFour + HasL4P1() bool + setNil() +} + +// loop over level 1 +// L4P1 returns a LevelOne +func (obj *levelFour) L4P1() LevelOne { + if obj.obj.L4P1 == nil { + obj.obj.L4P1 = NewLevelOne().Msg() + } + if obj.l4P1Holder == nil { + obj.l4P1Holder = &levelOne{obj: obj.obj.L4P1} + } + return obj.l4P1Holder +} + +// loop over level 1 +// L4P1 returns a LevelOne +func (obj *levelFour) HasL4P1() bool { + return obj.obj.L4P1 != nil +} + +// loop over level 1 +// SetL4P1 sets the LevelOne value in the LevelFour object +func (obj *levelFour) SetL4P1(value LevelOne) LevelFour { + + obj.l4P1Holder = nil + obj.obj.L4P1 = value.Msg() + + return obj +} + +func (obj *levelFour) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.L4P1 != nil { + + obj.L4P1().validateObj(vObj, set_default) + } + +} + +func (obj *levelFour) setDefault() { + +} + +// ***** PatternIpv4PatternIpv4 ***** +type patternIpv4PatternIpv4 struct { + validation + obj *sanity.PatternIpv4PatternIpv4 + incrementHolder PatternIpv4PatternIpv4Counter + decrementHolder PatternIpv4PatternIpv4Counter +} + +func NewPatternIpv4PatternIpv4() PatternIpv4PatternIpv4 { + obj := patternIpv4PatternIpv4{obj: &sanity.PatternIpv4PatternIpv4{}} + obj.setDefault() + return &obj +} + +func (obj *patternIpv4PatternIpv4) Msg() *sanity.PatternIpv4PatternIpv4 { + return obj.obj +} + +func (obj *patternIpv4PatternIpv4) SetMsg(msg *sanity.PatternIpv4PatternIpv4) PatternIpv4PatternIpv4 { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *patternIpv4PatternIpv4) ToProto() (*sanity.PatternIpv4PatternIpv4, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *patternIpv4PatternIpv4) FromProto(msg *sanity.PatternIpv4PatternIpv4) (PatternIpv4PatternIpv4, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *patternIpv4PatternIpv4) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *patternIpv4PatternIpv4) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *patternIpv4PatternIpv4) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternIpv4PatternIpv4) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *patternIpv4PatternIpv4) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternIpv4PatternIpv4) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *patternIpv4PatternIpv4) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *patternIpv4PatternIpv4) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *patternIpv4PatternIpv4) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *patternIpv4PatternIpv4) Clone() (PatternIpv4PatternIpv4, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewPatternIpv4PatternIpv4() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *patternIpv4PatternIpv4) setNil() { + obj.incrementHolder = nil + obj.decrementHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// PatternIpv4PatternIpv4 is tBD +type PatternIpv4PatternIpv4 interface { + Validation + // Msg marshals PatternIpv4PatternIpv4 to protobuf object *sanity.PatternIpv4PatternIpv4 + // and doesn't set defaults + Msg() *sanity.PatternIpv4PatternIpv4 + // SetMsg unmarshals PatternIpv4PatternIpv4 from protobuf object *sanity.PatternIpv4PatternIpv4 + // and doesn't set defaults + SetMsg(*sanity.PatternIpv4PatternIpv4) PatternIpv4PatternIpv4 + // ToProto marshals PatternIpv4PatternIpv4 to protobuf object *sanity.PatternIpv4PatternIpv4 + ToProto() (*sanity.PatternIpv4PatternIpv4, error) + // ToPbText marshals PatternIpv4PatternIpv4 to protobuf text + ToPbText() (string, error) + // ToYaml marshals PatternIpv4PatternIpv4 to YAML text + ToYaml() (string, error) + // ToJson marshals PatternIpv4PatternIpv4 to JSON text + ToJson() (string, error) + // FromProto unmarshals PatternIpv4PatternIpv4 from protobuf object *sanity.PatternIpv4PatternIpv4 + FromProto(msg *sanity.PatternIpv4PatternIpv4) (PatternIpv4PatternIpv4, error) + // FromPbText unmarshals PatternIpv4PatternIpv4 from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PatternIpv4PatternIpv4 from YAML text + FromYaml(value string) error + // FromJson unmarshals PatternIpv4PatternIpv4 from JSON text + FromJson(value string) error + // Validate validates PatternIpv4PatternIpv4 + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (PatternIpv4PatternIpv4, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Choice returns PatternIpv4PatternIpv4ChoiceEnum, set in PatternIpv4PatternIpv4 + Choice() PatternIpv4PatternIpv4ChoiceEnum + // SetChoice assigns PatternIpv4PatternIpv4ChoiceEnum provided by user to PatternIpv4PatternIpv4 + SetChoice(value PatternIpv4PatternIpv4ChoiceEnum) PatternIpv4PatternIpv4 + // HasChoice checks if Choice has been set in PatternIpv4PatternIpv4 + HasChoice() bool + // Value returns string, set in PatternIpv4PatternIpv4. + Value() string + // SetValue assigns string provided by user to PatternIpv4PatternIpv4 + SetValue(value string) PatternIpv4PatternIpv4 + // HasValue checks if Value has been set in PatternIpv4PatternIpv4 + HasValue() bool + // Values returns []string, set in PatternIpv4PatternIpv4. + Values() []string + // SetValues assigns []string provided by user to PatternIpv4PatternIpv4 + SetValues(value []string) PatternIpv4PatternIpv4 + // Increment returns PatternIpv4PatternIpv4Counter, set in PatternIpv4PatternIpv4. + // PatternIpv4PatternIpv4Counter is ipv4 counter pattern + Increment() PatternIpv4PatternIpv4Counter + // SetIncrement assigns PatternIpv4PatternIpv4Counter provided by user to PatternIpv4PatternIpv4. + // PatternIpv4PatternIpv4Counter is ipv4 counter pattern + SetIncrement(value PatternIpv4PatternIpv4Counter) PatternIpv4PatternIpv4 + // HasIncrement checks if Increment has been set in PatternIpv4PatternIpv4 + HasIncrement() bool + // Decrement returns PatternIpv4PatternIpv4Counter, set in PatternIpv4PatternIpv4. + // PatternIpv4PatternIpv4Counter is ipv4 counter pattern + Decrement() PatternIpv4PatternIpv4Counter + // SetDecrement assigns PatternIpv4PatternIpv4Counter provided by user to PatternIpv4PatternIpv4. + // PatternIpv4PatternIpv4Counter is ipv4 counter pattern + SetDecrement(value PatternIpv4PatternIpv4Counter) PatternIpv4PatternIpv4 + // HasDecrement checks if Decrement has been set in PatternIpv4PatternIpv4 + HasDecrement() bool + setNil() +} + +type PatternIpv4PatternIpv4ChoiceEnum string + +// Enum of Choice on PatternIpv4PatternIpv4 +var PatternIpv4PatternIpv4Choice = struct { + VALUE PatternIpv4PatternIpv4ChoiceEnum + VALUES PatternIpv4PatternIpv4ChoiceEnum + INCREMENT PatternIpv4PatternIpv4ChoiceEnum + DECREMENT PatternIpv4PatternIpv4ChoiceEnum +}{ + VALUE: PatternIpv4PatternIpv4ChoiceEnum("value"), + VALUES: PatternIpv4PatternIpv4ChoiceEnum("values"), + INCREMENT: PatternIpv4PatternIpv4ChoiceEnum("increment"), + DECREMENT: PatternIpv4PatternIpv4ChoiceEnum("decrement"), +} + +func (obj *patternIpv4PatternIpv4) Choice() PatternIpv4PatternIpv4ChoiceEnum { + return PatternIpv4PatternIpv4ChoiceEnum(obj.obj.Choice.Enum().String()) +} + +// description is TBD +// Choice returns a string +func (obj *patternIpv4PatternIpv4) HasChoice() bool { + return obj.obj.Choice != nil +} + +func (obj *patternIpv4PatternIpv4) SetChoice(value PatternIpv4PatternIpv4ChoiceEnum) PatternIpv4PatternIpv4 { + intValue, ok := sanity.PatternIpv4PatternIpv4_Choice_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on PatternIpv4PatternIpv4ChoiceEnum", string(value))) + return obj + } + enumValue := sanity.PatternIpv4PatternIpv4_Choice_Enum(intValue) + obj.obj.Choice = &enumValue + obj.obj.Decrement = nil + obj.decrementHolder = nil + obj.obj.Increment = nil + obj.incrementHolder = nil + obj.obj.Values = nil + obj.obj.Value = nil + + if value == PatternIpv4PatternIpv4Choice.VALUE { + defaultValue := "0.0.0.0" + obj.obj.Value = &defaultValue + } + + if value == PatternIpv4PatternIpv4Choice.VALUES { + defaultValue := []string{"0.0.0.0"} + obj.obj.Values = defaultValue + } + + if value == PatternIpv4PatternIpv4Choice.INCREMENT { + obj.obj.Increment = NewPatternIpv4PatternIpv4Counter().Msg() + } + + if value == PatternIpv4PatternIpv4Choice.DECREMENT { + obj.obj.Decrement = NewPatternIpv4PatternIpv4Counter().Msg() + } + + return obj +} + +// description is TBD +// Value returns a string +func (obj *patternIpv4PatternIpv4) Value() string { + + if obj.obj.Value == nil { + obj.SetChoice(PatternIpv4PatternIpv4Choice.VALUE) + } + + return *obj.obj.Value + +} + +// description is TBD +// Value returns a string +func (obj *patternIpv4PatternIpv4) HasValue() bool { + return obj.obj.Value != nil +} + +// description is TBD +// SetValue sets the string value in the PatternIpv4PatternIpv4 object +func (obj *patternIpv4PatternIpv4) SetValue(value string) PatternIpv4PatternIpv4 { + obj.SetChoice(PatternIpv4PatternIpv4Choice.VALUE) + obj.obj.Value = &value + return obj +} + +// description is TBD +// Values returns a []string +func (obj *patternIpv4PatternIpv4) Values() []string { + if obj.obj.Values == nil { + obj.SetValues([]string{"0.0.0.0"}) + } + return obj.obj.Values +} + +// description is TBD +// SetValues sets the []string value in the PatternIpv4PatternIpv4 object +func (obj *patternIpv4PatternIpv4) SetValues(value []string) PatternIpv4PatternIpv4 { + obj.SetChoice(PatternIpv4PatternIpv4Choice.VALUES) + if obj.obj.Values == nil { + obj.obj.Values = make([]string, 0) + } + obj.obj.Values = value + + return obj +} + +// description is TBD +// Increment returns a PatternIpv4PatternIpv4Counter +func (obj *patternIpv4PatternIpv4) Increment() PatternIpv4PatternIpv4Counter { + if obj.obj.Increment == nil { + obj.SetChoice(PatternIpv4PatternIpv4Choice.INCREMENT) + } + if obj.incrementHolder == nil { + obj.incrementHolder = &patternIpv4PatternIpv4Counter{obj: obj.obj.Increment} + } + return obj.incrementHolder +} + +// description is TBD +// Increment returns a PatternIpv4PatternIpv4Counter +func (obj *patternIpv4PatternIpv4) HasIncrement() bool { + return obj.obj.Increment != nil +} + +// description is TBD +// SetIncrement sets the PatternIpv4PatternIpv4Counter value in the PatternIpv4PatternIpv4 object +func (obj *patternIpv4PatternIpv4) SetIncrement(value PatternIpv4PatternIpv4Counter) PatternIpv4PatternIpv4 { + obj.SetChoice(PatternIpv4PatternIpv4Choice.INCREMENT) + obj.incrementHolder = nil + obj.obj.Increment = value.Msg() + + return obj +} + +// description is TBD +// Decrement returns a PatternIpv4PatternIpv4Counter +func (obj *patternIpv4PatternIpv4) Decrement() PatternIpv4PatternIpv4Counter { + if obj.obj.Decrement == nil { + obj.SetChoice(PatternIpv4PatternIpv4Choice.DECREMENT) + } + if obj.decrementHolder == nil { + obj.decrementHolder = &patternIpv4PatternIpv4Counter{obj: obj.obj.Decrement} + } + return obj.decrementHolder +} + +// description is TBD +// Decrement returns a PatternIpv4PatternIpv4Counter +func (obj *patternIpv4PatternIpv4) HasDecrement() bool { + return obj.obj.Decrement != nil +} + +// description is TBD +// SetDecrement sets the PatternIpv4PatternIpv4Counter value in the PatternIpv4PatternIpv4 object +func (obj *patternIpv4PatternIpv4) SetDecrement(value PatternIpv4PatternIpv4Counter) PatternIpv4PatternIpv4 { + obj.SetChoice(PatternIpv4PatternIpv4Choice.DECREMENT) + obj.decrementHolder = nil + obj.obj.Decrement = value.Msg() + + return obj +} + +func (obj *patternIpv4PatternIpv4) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Value != nil { + + err := obj.validateIpv4(obj.Value()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternIpv4PatternIpv4.Value")) + } + + } + + if obj.obj.Values != nil { + + err := obj.validateIpv4Slice(obj.Values()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternIpv4PatternIpv4.Values")) + } + + } + + if obj.obj.Increment != nil { + + obj.Increment().validateObj(vObj, set_default) + } + + if obj.obj.Decrement != nil { + + obj.Decrement().validateObj(vObj, set_default) + } + +} + +func (obj *patternIpv4PatternIpv4) setDefault() { + if obj.obj.Choice == nil { + obj.SetChoice(PatternIpv4PatternIpv4Choice.VALUE) + + } + +} + +// ***** PatternIpv6PatternIpv6 ***** +type patternIpv6PatternIpv6 struct { + validation + obj *sanity.PatternIpv6PatternIpv6 + incrementHolder PatternIpv6PatternIpv6Counter + decrementHolder PatternIpv6PatternIpv6Counter +} + +func NewPatternIpv6PatternIpv6() PatternIpv6PatternIpv6 { + obj := patternIpv6PatternIpv6{obj: &sanity.PatternIpv6PatternIpv6{}} + obj.setDefault() + return &obj +} + +func (obj *patternIpv6PatternIpv6) Msg() *sanity.PatternIpv6PatternIpv6 { + return obj.obj +} + +func (obj *patternIpv6PatternIpv6) SetMsg(msg *sanity.PatternIpv6PatternIpv6) PatternIpv6PatternIpv6 { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *patternIpv6PatternIpv6) ToProto() (*sanity.PatternIpv6PatternIpv6, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *patternIpv6PatternIpv6) FromProto(msg *sanity.PatternIpv6PatternIpv6) (PatternIpv6PatternIpv6, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *patternIpv6PatternIpv6) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *patternIpv6PatternIpv6) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *patternIpv6PatternIpv6) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternIpv6PatternIpv6) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *patternIpv6PatternIpv6) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternIpv6PatternIpv6) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *patternIpv6PatternIpv6) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *patternIpv6PatternIpv6) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *patternIpv6PatternIpv6) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *patternIpv6PatternIpv6) Clone() (PatternIpv6PatternIpv6, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewPatternIpv6PatternIpv6() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *patternIpv6PatternIpv6) setNil() { + obj.incrementHolder = nil + obj.decrementHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// PatternIpv6PatternIpv6 is tBD +type PatternIpv6PatternIpv6 interface { + Validation + // Msg marshals PatternIpv6PatternIpv6 to protobuf object *sanity.PatternIpv6PatternIpv6 + // and doesn't set defaults + Msg() *sanity.PatternIpv6PatternIpv6 + // SetMsg unmarshals PatternIpv6PatternIpv6 from protobuf object *sanity.PatternIpv6PatternIpv6 + // and doesn't set defaults + SetMsg(*sanity.PatternIpv6PatternIpv6) PatternIpv6PatternIpv6 + // ToProto marshals PatternIpv6PatternIpv6 to protobuf object *sanity.PatternIpv6PatternIpv6 + ToProto() (*sanity.PatternIpv6PatternIpv6, error) + // ToPbText marshals PatternIpv6PatternIpv6 to protobuf text + ToPbText() (string, error) + // ToYaml marshals PatternIpv6PatternIpv6 to YAML text + ToYaml() (string, error) + // ToJson marshals PatternIpv6PatternIpv6 to JSON text + ToJson() (string, error) + // FromProto unmarshals PatternIpv6PatternIpv6 from protobuf object *sanity.PatternIpv6PatternIpv6 + FromProto(msg *sanity.PatternIpv6PatternIpv6) (PatternIpv6PatternIpv6, error) + // FromPbText unmarshals PatternIpv6PatternIpv6 from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PatternIpv6PatternIpv6 from YAML text + FromYaml(value string) error + // FromJson unmarshals PatternIpv6PatternIpv6 from JSON text + FromJson(value string) error + // Validate validates PatternIpv6PatternIpv6 + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (PatternIpv6PatternIpv6, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Choice returns PatternIpv6PatternIpv6ChoiceEnum, set in PatternIpv6PatternIpv6 + Choice() PatternIpv6PatternIpv6ChoiceEnum + // SetChoice assigns PatternIpv6PatternIpv6ChoiceEnum provided by user to PatternIpv6PatternIpv6 + SetChoice(value PatternIpv6PatternIpv6ChoiceEnum) PatternIpv6PatternIpv6 + // HasChoice checks if Choice has been set in PatternIpv6PatternIpv6 + HasChoice() bool + // Value returns string, set in PatternIpv6PatternIpv6. + Value() string + // SetValue assigns string provided by user to PatternIpv6PatternIpv6 + SetValue(value string) PatternIpv6PatternIpv6 + // HasValue checks if Value has been set in PatternIpv6PatternIpv6 + HasValue() bool + // Values returns []string, set in PatternIpv6PatternIpv6. + Values() []string + // SetValues assigns []string provided by user to PatternIpv6PatternIpv6 + SetValues(value []string) PatternIpv6PatternIpv6 + // Increment returns PatternIpv6PatternIpv6Counter, set in PatternIpv6PatternIpv6. + // PatternIpv6PatternIpv6Counter is ipv6 counter pattern + Increment() PatternIpv6PatternIpv6Counter + // SetIncrement assigns PatternIpv6PatternIpv6Counter provided by user to PatternIpv6PatternIpv6. + // PatternIpv6PatternIpv6Counter is ipv6 counter pattern + SetIncrement(value PatternIpv6PatternIpv6Counter) PatternIpv6PatternIpv6 + // HasIncrement checks if Increment has been set in PatternIpv6PatternIpv6 + HasIncrement() bool + // Decrement returns PatternIpv6PatternIpv6Counter, set in PatternIpv6PatternIpv6. + // PatternIpv6PatternIpv6Counter is ipv6 counter pattern + Decrement() PatternIpv6PatternIpv6Counter + // SetDecrement assigns PatternIpv6PatternIpv6Counter provided by user to PatternIpv6PatternIpv6. + // PatternIpv6PatternIpv6Counter is ipv6 counter pattern + SetDecrement(value PatternIpv6PatternIpv6Counter) PatternIpv6PatternIpv6 + // HasDecrement checks if Decrement has been set in PatternIpv6PatternIpv6 + HasDecrement() bool + setNil() +} + +type PatternIpv6PatternIpv6ChoiceEnum string + +// Enum of Choice on PatternIpv6PatternIpv6 +var PatternIpv6PatternIpv6Choice = struct { + VALUE PatternIpv6PatternIpv6ChoiceEnum + VALUES PatternIpv6PatternIpv6ChoiceEnum + INCREMENT PatternIpv6PatternIpv6ChoiceEnum + DECREMENT PatternIpv6PatternIpv6ChoiceEnum +}{ + VALUE: PatternIpv6PatternIpv6ChoiceEnum("value"), + VALUES: PatternIpv6PatternIpv6ChoiceEnum("values"), + INCREMENT: PatternIpv6PatternIpv6ChoiceEnum("increment"), + DECREMENT: PatternIpv6PatternIpv6ChoiceEnum("decrement"), +} + +func (obj *patternIpv6PatternIpv6) Choice() PatternIpv6PatternIpv6ChoiceEnum { + return PatternIpv6PatternIpv6ChoiceEnum(obj.obj.Choice.Enum().String()) +} + +// description is TBD +// Choice returns a string +func (obj *patternIpv6PatternIpv6) HasChoice() bool { + return obj.obj.Choice != nil +} + +func (obj *patternIpv6PatternIpv6) SetChoice(value PatternIpv6PatternIpv6ChoiceEnum) PatternIpv6PatternIpv6 { + intValue, ok := sanity.PatternIpv6PatternIpv6_Choice_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on PatternIpv6PatternIpv6ChoiceEnum", string(value))) + return obj + } + enumValue := sanity.PatternIpv6PatternIpv6_Choice_Enum(intValue) + obj.obj.Choice = &enumValue + obj.obj.Decrement = nil + obj.decrementHolder = nil + obj.obj.Increment = nil + obj.incrementHolder = nil + obj.obj.Values = nil + obj.obj.Value = nil + + if value == PatternIpv6PatternIpv6Choice.VALUE { + defaultValue := "::" + obj.obj.Value = &defaultValue + } + + if value == PatternIpv6PatternIpv6Choice.VALUES { + defaultValue := []string{"::"} + obj.obj.Values = defaultValue + } + + if value == PatternIpv6PatternIpv6Choice.INCREMENT { + obj.obj.Increment = NewPatternIpv6PatternIpv6Counter().Msg() + } + + if value == PatternIpv6PatternIpv6Choice.DECREMENT { + obj.obj.Decrement = NewPatternIpv6PatternIpv6Counter().Msg() + } + + return obj +} + +// description is TBD +// Value returns a string +func (obj *patternIpv6PatternIpv6) Value() string { + + if obj.obj.Value == nil { + obj.SetChoice(PatternIpv6PatternIpv6Choice.VALUE) + } + + return *obj.obj.Value + +} + +// description is TBD +// Value returns a string +func (obj *patternIpv6PatternIpv6) HasValue() bool { + return obj.obj.Value != nil +} + +// description is TBD +// SetValue sets the string value in the PatternIpv6PatternIpv6 object +func (obj *patternIpv6PatternIpv6) SetValue(value string) PatternIpv6PatternIpv6 { + obj.SetChoice(PatternIpv6PatternIpv6Choice.VALUE) + obj.obj.Value = &value + return obj +} + +// description is TBD +// Values returns a []string +func (obj *patternIpv6PatternIpv6) Values() []string { + if obj.obj.Values == nil { + obj.SetValues([]string{"::"}) + } + return obj.obj.Values +} + +// description is TBD +// SetValues sets the []string value in the PatternIpv6PatternIpv6 object +func (obj *patternIpv6PatternIpv6) SetValues(value []string) PatternIpv6PatternIpv6 { + obj.SetChoice(PatternIpv6PatternIpv6Choice.VALUES) + if obj.obj.Values == nil { + obj.obj.Values = make([]string, 0) + } + obj.obj.Values = value + + return obj +} + +// description is TBD +// Increment returns a PatternIpv6PatternIpv6Counter +func (obj *patternIpv6PatternIpv6) Increment() PatternIpv6PatternIpv6Counter { + if obj.obj.Increment == nil { + obj.SetChoice(PatternIpv6PatternIpv6Choice.INCREMENT) + } + if obj.incrementHolder == nil { + obj.incrementHolder = &patternIpv6PatternIpv6Counter{obj: obj.obj.Increment} + } + return obj.incrementHolder +} + +// description is TBD +// Increment returns a PatternIpv6PatternIpv6Counter +func (obj *patternIpv6PatternIpv6) HasIncrement() bool { + return obj.obj.Increment != nil +} + +// description is TBD +// SetIncrement sets the PatternIpv6PatternIpv6Counter value in the PatternIpv6PatternIpv6 object +func (obj *patternIpv6PatternIpv6) SetIncrement(value PatternIpv6PatternIpv6Counter) PatternIpv6PatternIpv6 { + obj.SetChoice(PatternIpv6PatternIpv6Choice.INCREMENT) + obj.incrementHolder = nil + obj.obj.Increment = value.Msg() + + return obj +} + +// description is TBD +// Decrement returns a PatternIpv6PatternIpv6Counter +func (obj *patternIpv6PatternIpv6) Decrement() PatternIpv6PatternIpv6Counter { + if obj.obj.Decrement == nil { + obj.SetChoice(PatternIpv6PatternIpv6Choice.DECREMENT) + } + if obj.decrementHolder == nil { + obj.decrementHolder = &patternIpv6PatternIpv6Counter{obj: obj.obj.Decrement} + } + return obj.decrementHolder +} + +// description is TBD +// Decrement returns a PatternIpv6PatternIpv6Counter +func (obj *patternIpv6PatternIpv6) HasDecrement() bool { + return obj.obj.Decrement != nil +} + +// description is TBD +// SetDecrement sets the PatternIpv6PatternIpv6Counter value in the PatternIpv6PatternIpv6 object +func (obj *patternIpv6PatternIpv6) SetDecrement(value PatternIpv6PatternIpv6Counter) PatternIpv6PatternIpv6 { + obj.SetChoice(PatternIpv6PatternIpv6Choice.DECREMENT) + obj.decrementHolder = nil + obj.obj.Decrement = value.Msg() + + return obj +} + +func (obj *patternIpv6PatternIpv6) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Value != nil { + + err := obj.validateIpv6(obj.Value()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternIpv6PatternIpv6.Value")) + } + + } + + if obj.obj.Values != nil { + + err := obj.validateIpv6Slice(obj.Values()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternIpv6PatternIpv6.Values")) + } + + } + + if obj.obj.Increment != nil { + + obj.Increment().validateObj(vObj, set_default) + } + + if obj.obj.Decrement != nil { + + obj.Decrement().validateObj(vObj, set_default) + } + +} + +func (obj *patternIpv6PatternIpv6) setDefault() { + if obj.obj.Choice == nil { + obj.SetChoice(PatternIpv6PatternIpv6Choice.VALUE) + + } + +} + +// ***** PatternMacPatternMac ***** +type patternMacPatternMac struct { + validation + obj *sanity.PatternMacPatternMac + incrementHolder PatternMacPatternMacCounter + decrementHolder PatternMacPatternMacCounter +} + +func NewPatternMacPatternMac() PatternMacPatternMac { + obj := patternMacPatternMac{obj: &sanity.PatternMacPatternMac{}} + obj.setDefault() + return &obj +} + +func (obj *patternMacPatternMac) Msg() *sanity.PatternMacPatternMac { + return obj.obj +} + +func (obj *patternMacPatternMac) SetMsg(msg *sanity.PatternMacPatternMac) PatternMacPatternMac { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *patternMacPatternMac) ToProto() (*sanity.PatternMacPatternMac, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *patternMacPatternMac) FromProto(msg *sanity.PatternMacPatternMac) (PatternMacPatternMac, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *patternMacPatternMac) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *patternMacPatternMac) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *patternMacPatternMac) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternMacPatternMac) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *patternMacPatternMac) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternMacPatternMac) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *patternMacPatternMac) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *patternMacPatternMac) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *patternMacPatternMac) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *patternMacPatternMac) Clone() (PatternMacPatternMac, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewPatternMacPatternMac() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *patternMacPatternMac) setNil() { + obj.incrementHolder = nil + obj.decrementHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// PatternMacPatternMac is tBD +type PatternMacPatternMac interface { + Validation + // Msg marshals PatternMacPatternMac to protobuf object *sanity.PatternMacPatternMac + // and doesn't set defaults + Msg() *sanity.PatternMacPatternMac + // SetMsg unmarshals PatternMacPatternMac from protobuf object *sanity.PatternMacPatternMac + // and doesn't set defaults + SetMsg(*sanity.PatternMacPatternMac) PatternMacPatternMac + // ToProto marshals PatternMacPatternMac to protobuf object *sanity.PatternMacPatternMac + ToProto() (*sanity.PatternMacPatternMac, error) + // ToPbText marshals PatternMacPatternMac to protobuf text + ToPbText() (string, error) + // ToYaml marshals PatternMacPatternMac to YAML text + ToYaml() (string, error) + // ToJson marshals PatternMacPatternMac to JSON text + ToJson() (string, error) + // FromProto unmarshals PatternMacPatternMac from protobuf object *sanity.PatternMacPatternMac + FromProto(msg *sanity.PatternMacPatternMac) (PatternMacPatternMac, error) + // FromPbText unmarshals PatternMacPatternMac from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PatternMacPatternMac from YAML text + FromYaml(value string) error + // FromJson unmarshals PatternMacPatternMac from JSON text + FromJson(value string) error + // Validate validates PatternMacPatternMac + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (PatternMacPatternMac, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Choice returns PatternMacPatternMacChoiceEnum, set in PatternMacPatternMac + Choice() PatternMacPatternMacChoiceEnum + // SetChoice assigns PatternMacPatternMacChoiceEnum provided by user to PatternMacPatternMac + SetChoice(value PatternMacPatternMacChoiceEnum) PatternMacPatternMac + // HasChoice checks if Choice has been set in PatternMacPatternMac + HasChoice() bool + // Value returns string, set in PatternMacPatternMac. + Value() string + // SetValue assigns string provided by user to PatternMacPatternMac + SetValue(value string) PatternMacPatternMac + // HasValue checks if Value has been set in PatternMacPatternMac + HasValue() bool + // Values returns []string, set in PatternMacPatternMac. + Values() []string + // SetValues assigns []string provided by user to PatternMacPatternMac + SetValues(value []string) PatternMacPatternMac + // Auto returns string, set in PatternMacPatternMac. + Auto() string + // HasAuto checks if Auto has been set in PatternMacPatternMac + HasAuto() bool + // Increment returns PatternMacPatternMacCounter, set in PatternMacPatternMac. + // PatternMacPatternMacCounter is mac counter pattern + Increment() PatternMacPatternMacCounter + // SetIncrement assigns PatternMacPatternMacCounter provided by user to PatternMacPatternMac. + // PatternMacPatternMacCounter is mac counter pattern + SetIncrement(value PatternMacPatternMacCounter) PatternMacPatternMac + // HasIncrement checks if Increment has been set in PatternMacPatternMac + HasIncrement() bool + // Decrement returns PatternMacPatternMacCounter, set in PatternMacPatternMac. + // PatternMacPatternMacCounter is mac counter pattern + Decrement() PatternMacPatternMacCounter + // SetDecrement assigns PatternMacPatternMacCounter provided by user to PatternMacPatternMac. + // PatternMacPatternMacCounter is mac counter pattern + SetDecrement(value PatternMacPatternMacCounter) PatternMacPatternMac + // HasDecrement checks if Decrement has been set in PatternMacPatternMac + HasDecrement() bool + setNil() +} + +type PatternMacPatternMacChoiceEnum string + +// Enum of Choice on PatternMacPatternMac +var PatternMacPatternMacChoice = struct { + VALUE PatternMacPatternMacChoiceEnum + VALUES PatternMacPatternMacChoiceEnum + AUTO PatternMacPatternMacChoiceEnum + INCREMENT PatternMacPatternMacChoiceEnum + DECREMENT PatternMacPatternMacChoiceEnum +}{ + VALUE: PatternMacPatternMacChoiceEnum("value"), + VALUES: PatternMacPatternMacChoiceEnum("values"), + AUTO: PatternMacPatternMacChoiceEnum("auto"), + INCREMENT: PatternMacPatternMacChoiceEnum("increment"), + DECREMENT: PatternMacPatternMacChoiceEnum("decrement"), +} + +func (obj *patternMacPatternMac) Choice() PatternMacPatternMacChoiceEnum { + return PatternMacPatternMacChoiceEnum(obj.obj.Choice.Enum().String()) +} + +// description is TBD +// Choice returns a string +func (obj *patternMacPatternMac) HasChoice() bool { + return obj.obj.Choice != nil +} + +func (obj *patternMacPatternMac) SetChoice(value PatternMacPatternMacChoiceEnum) PatternMacPatternMac { + intValue, ok := sanity.PatternMacPatternMac_Choice_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on PatternMacPatternMacChoiceEnum", string(value))) + return obj + } + enumValue := sanity.PatternMacPatternMac_Choice_Enum(intValue) + obj.obj.Choice = &enumValue + obj.obj.Decrement = nil + obj.decrementHolder = nil + obj.obj.Increment = nil + obj.incrementHolder = nil + obj.obj.Auto = nil + obj.obj.Values = nil + obj.obj.Value = nil + + if value == PatternMacPatternMacChoice.VALUE { + defaultValue := "00:00:00:00:00:00" + obj.obj.Value = &defaultValue + } + + if value == PatternMacPatternMacChoice.VALUES { + defaultValue := []string{"00:00:00:00:00:00"} + obj.obj.Values = defaultValue + } + + if value == PatternMacPatternMacChoice.AUTO { + defaultValue := "00:00:00:00:00:00" + obj.obj.Auto = &defaultValue + } + + if value == PatternMacPatternMacChoice.INCREMENT { + obj.obj.Increment = NewPatternMacPatternMacCounter().Msg() + } + + if value == PatternMacPatternMacChoice.DECREMENT { + obj.obj.Decrement = NewPatternMacPatternMacCounter().Msg() + } + + return obj +} + +// description is TBD +// Value returns a string +func (obj *patternMacPatternMac) Value() string { + + if obj.obj.Value == nil { + obj.SetChoice(PatternMacPatternMacChoice.VALUE) + } + + return *obj.obj.Value + +} + +// description is TBD +// Value returns a string +func (obj *patternMacPatternMac) HasValue() bool { + return obj.obj.Value != nil +} + +// description is TBD +// SetValue sets the string value in the PatternMacPatternMac object +func (obj *patternMacPatternMac) SetValue(value string) PatternMacPatternMac { + obj.SetChoice(PatternMacPatternMacChoice.VALUE) + obj.obj.Value = &value + return obj +} + +// description is TBD +// Values returns a []string +func (obj *patternMacPatternMac) Values() []string { + if obj.obj.Values == nil { + obj.SetValues([]string{"00:00:00:00:00:00"}) + } + return obj.obj.Values +} + +// description is TBD +// SetValues sets the []string value in the PatternMacPatternMac object +func (obj *patternMacPatternMac) SetValues(value []string) PatternMacPatternMac { + obj.SetChoice(PatternMacPatternMacChoice.VALUES) + if obj.obj.Values == nil { + obj.obj.Values = make([]string, 0) + } + obj.obj.Values = value + + return obj +} + +// The OTG implementation can provide a system generated +// value for this property. If the OTG is unable to generate a value +// the default value must be used. +// Auto returns a string +func (obj *patternMacPatternMac) Auto() string { + + if obj.obj.Auto == nil { + obj.SetChoice(PatternMacPatternMacChoice.AUTO) + } + + return *obj.obj.Auto + +} + +// The OTG implementation can provide a system generated +// value for this property. If the OTG is unable to generate a value +// the default value must be used. +// Auto returns a string +func (obj *patternMacPatternMac) HasAuto() bool { + return obj.obj.Auto != nil +} + +// description is TBD +// Increment returns a PatternMacPatternMacCounter +func (obj *patternMacPatternMac) Increment() PatternMacPatternMacCounter { + if obj.obj.Increment == nil { + obj.SetChoice(PatternMacPatternMacChoice.INCREMENT) + } + if obj.incrementHolder == nil { + obj.incrementHolder = &patternMacPatternMacCounter{obj: obj.obj.Increment} + } + return obj.incrementHolder +} + +// description is TBD +// Increment returns a PatternMacPatternMacCounter +func (obj *patternMacPatternMac) HasIncrement() bool { + return obj.obj.Increment != nil +} + +// description is TBD +// SetIncrement sets the PatternMacPatternMacCounter value in the PatternMacPatternMac object +func (obj *patternMacPatternMac) SetIncrement(value PatternMacPatternMacCounter) PatternMacPatternMac { + obj.SetChoice(PatternMacPatternMacChoice.INCREMENT) + obj.incrementHolder = nil + obj.obj.Increment = value.Msg() + + return obj +} + +// description is TBD +// Decrement returns a PatternMacPatternMacCounter +func (obj *patternMacPatternMac) Decrement() PatternMacPatternMacCounter { + if obj.obj.Decrement == nil { + obj.SetChoice(PatternMacPatternMacChoice.DECREMENT) + } + if obj.decrementHolder == nil { + obj.decrementHolder = &patternMacPatternMacCounter{obj: obj.obj.Decrement} + } + return obj.decrementHolder +} + +// description is TBD +// Decrement returns a PatternMacPatternMacCounter +func (obj *patternMacPatternMac) HasDecrement() bool { + return obj.obj.Decrement != nil +} + +// description is TBD +// SetDecrement sets the PatternMacPatternMacCounter value in the PatternMacPatternMac object +func (obj *patternMacPatternMac) SetDecrement(value PatternMacPatternMacCounter) PatternMacPatternMac { + obj.SetChoice(PatternMacPatternMacChoice.DECREMENT) + obj.decrementHolder = nil + obj.obj.Decrement = value.Msg() + + return obj +} + +func (obj *patternMacPatternMac) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Value != nil { + + err := obj.validateMac(obj.Value()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternMacPatternMac.Value")) + } + + } + + if obj.obj.Values != nil { + + err := obj.validateMacSlice(obj.Values()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternMacPatternMac.Values")) + } + + } + + if obj.obj.Auto != nil { + + err := obj.validateMac(obj.Auto()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternMacPatternMac.Auto")) + } + + } + + if obj.obj.Increment != nil { + + obj.Increment().validateObj(vObj, set_default) + } + + if obj.obj.Decrement != nil { + + obj.Decrement().validateObj(vObj, set_default) + } + +} + +func (obj *patternMacPatternMac) setDefault() { + if obj.obj.Choice == nil { + obj.SetChoice(PatternMacPatternMacChoice.AUTO) + + } + +} + +// ***** PatternIntegerPatternInteger ***** +type patternIntegerPatternInteger struct { + validation + obj *sanity.PatternIntegerPatternInteger + incrementHolder PatternIntegerPatternIntegerCounter + decrementHolder PatternIntegerPatternIntegerCounter +} + +func NewPatternIntegerPatternInteger() PatternIntegerPatternInteger { + obj := patternIntegerPatternInteger{obj: &sanity.PatternIntegerPatternInteger{}} + obj.setDefault() + return &obj +} + +func (obj *patternIntegerPatternInteger) Msg() *sanity.PatternIntegerPatternInteger { + return obj.obj +} + +func (obj *patternIntegerPatternInteger) SetMsg(msg *sanity.PatternIntegerPatternInteger) PatternIntegerPatternInteger { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *patternIntegerPatternInteger) ToProto() (*sanity.PatternIntegerPatternInteger, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *patternIntegerPatternInteger) FromProto(msg *sanity.PatternIntegerPatternInteger) (PatternIntegerPatternInteger, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *patternIntegerPatternInteger) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *patternIntegerPatternInteger) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *patternIntegerPatternInteger) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternIntegerPatternInteger) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *patternIntegerPatternInteger) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternIntegerPatternInteger) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *patternIntegerPatternInteger) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *patternIntegerPatternInteger) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *patternIntegerPatternInteger) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *patternIntegerPatternInteger) Clone() (PatternIntegerPatternInteger, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewPatternIntegerPatternInteger() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *patternIntegerPatternInteger) setNil() { + obj.incrementHolder = nil + obj.decrementHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// PatternIntegerPatternInteger is tBD +type PatternIntegerPatternInteger interface { + Validation + // Msg marshals PatternIntegerPatternInteger to protobuf object *sanity.PatternIntegerPatternInteger + // and doesn't set defaults + Msg() *sanity.PatternIntegerPatternInteger + // SetMsg unmarshals PatternIntegerPatternInteger from protobuf object *sanity.PatternIntegerPatternInteger + // and doesn't set defaults + SetMsg(*sanity.PatternIntegerPatternInteger) PatternIntegerPatternInteger + // ToProto marshals PatternIntegerPatternInteger to protobuf object *sanity.PatternIntegerPatternInteger + ToProto() (*sanity.PatternIntegerPatternInteger, error) + // ToPbText marshals PatternIntegerPatternInteger to protobuf text + ToPbText() (string, error) + // ToYaml marshals PatternIntegerPatternInteger to YAML text + ToYaml() (string, error) + // ToJson marshals PatternIntegerPatternInteger to JSON text + ToJson() (string, error) + // FromProto unmarshals PatternIntegerPatternInteger from protobuf object *sanity.PatternIntegerPatternInteger + FromProto(msg *sanity.PatternIntegerPatternInteger) (PatternIntegerPatternInteger, error) + // FromPbText unmarshals PatternIntegerPatternInteger from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PatternIntegerPatternInteger from YAML text + FromYaml(value string) error + // FromJson unmarshals PatternIntegerPatternInteger from JSON text + FromJson(value string) error + // Validate validates PatternIntegerPatternInteger + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (PatternIntegerPatternInteger, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Choice returns PatternIntegerPatternIntegerChoiceEnum, set in PatternIntegerPatternInteger + Choice() PatternIntegerPatternIntegerChoiceEnum + // SetChoice assigns PatternIntegerPatternIntegerChoiceEnum provided by user to PatternIntegerPatternInteger + SetChoice(value PatternIntegerPatternIntegerChoiceEnum) PatternIntegerPatternInteger + // HasChoice checks if Choice has been set in PatternIntegerPatternInteger + HasChoice() bool + // Value returns uint32, set in PatternIntegerPatternInteger. + Value() uint32 + // SetValue assigns uint32 provided by user to PatternIntegerPatternInteger + SetValue(value uint32) PatternIntegerPatternInteger + // HasValue checks if Value has been set in PatternIntegerPatternInteger + HasValue() bool + // Values returns []uint32, set in PatternIntegerPatternInteger. + Values() []uint32 + // SetValues assigns []uint32 provided by user to PatternIntegerPatternInteger + SetValues(value []uint32) PatternIntegerPatternInteger + // Increment returns PatternIntegerPatternIntegerCounter, set in PatternIntegerPatternInteger. + // PatternIntegerPatternIntegerCounter is integer counter pattern + Increment() PatternIntegerPatternIntegerCounter + // SetIncrement assigns PatternIntegerPatternIntegerCounter provided by user to PatternIntegerPatternInteger. + // PatternIntegerPatternIntegerCounter is integer counter pattern + SetIncrement(value PatternIntegerPatternIntegerCounter) PatternIntegerPatternInteger + // HasIncrement checks if Increment has been set in PatternIntegerPatternInteger + HasIncrement() bool + // Decrement returns PatternIntegerPatternIntegerCounter, set in PatternIntegerPatternInteger. + // PatternIntegerPatternIntegerCounter is integer counter pattern + Decrement() PatternIntegerPatternIntegerCounter + // SetDecrement assigns PatternIntegerPatternIntegerCounter provided by user to PatternIntegerPatternInteger. + // PatternIntegerPatternIntegerCounter is integer counter pattern + SetDecrement(value PatternIntegerPatternIntegerCounter) PatternIntegerPatternInteger + // HasDecrement checks if Decrement has been set in PatternIntegerPatternInteger + HasDecrement() bool + setNil() +} + +type PatternIntegerPatternIntegerChoiceEnum string + +// Enum of Choice on PatternIntegerPatternInteger +var PatternIntegerPatternIntegerChoice = struct { + VALUE PatternIntegerPatternIntegerChoiceEnum + VALUES PatternIntegerPatternIntegerChoiceEnum + INCREMENT PatternIntegerPatternIntegerChoiceEnum + DECREMENT PatternIntegerPatternIntegerChoiceEnum +}{ + VALUE: PatternIntegerPatternIntegerChoiceEnum("value"), + VALUES: PatternIntegerPatternIntegerChoiceEnum("values"), + INCREMENT: PatternIntegerPatternIntegerChoiceEnum("increment"), + DECREMENT: PatternIntegerPatternIntegerChoiceEnum("decrement"), +} + +func (obj *patternIntegerPatternInteger) Choice() PatternIntegerPatternIntegerChoiceEnum { + return PatternIntegerPatternIntegerChoiceEnum(obj.obj.Choice.Enum().String()) +} + +// description is TBD +// Choice returns a string +func (obj *patternIntegerPatternInteger) HasChoice() bool { + return obj.obj.Choice != nil +} + +func (obj *patternIntegerPatternInteger) SetChoice(value PatternIntegerPatternIntegerChoiceEnum) PatternIntegerPatternInteger { + intValue, ok := sanity.PatternIntegerPatternInteger_Choice_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on PatternIntegerPatternIntegerChoiceEnum", string(value))) + return obj + } + enumValue := sanity.PatternIntegerPatternInteger_Choice_Enum(intValue) + obj.obj.Choice = &enumValue + obj.obj.Decrement = nil + obj.decrementHolder = nil + obj.obj.Increment = nil + obj.incrementHolder = nil + obj.obj.Values = nil + obj.obj.Value = nil + + if value == PatternIntegerPatternIntegerChoice.VALUE { + defaultValue := uint32(0) + obj.obj.Value = &defaultValue + } + + if value == PatternIntegerPatternIntegerChoice.VALUES { + defaultValue := []uint32{0} + obj.obj.Values = defaultValue + } + + if value == PatternIntegerPatternIntegerChoice.INCREMENT { + obj.obj.Increment = NewPatternIntegerPatternIntegerCounter().Msg() + } + + if value == PatternIntegerPatternIntegerChoice.DECREMENT { + obj.obj.Decrement = NewPatternIntegerPatternIntegerCounter().Msg() + } + + return obj +} + +// description is TBD +// Value returns a uint32 +func (obj *patternIntegerPatternInteger) Value() uint32 { + + if obj.obj.Value == nil { + obj.SetChoice(PatternIntegerPatternIntegerChoice.VALUE) + } + + return *obj.obj.Value + +} + +// description is TBD +// Value returns a uint32 +func (obj *patternIntegerPatternInteger) HasValue() bool { + return obj.obj.Value != nil +} + +// description is TBD +// SetValue sets the uint32 value in the PatternIntegerPatternInteger object +func (obj *patternIntegerPatternInteger) SetValue(value uint32) PatternIntegerPatternInteger { + obj.SetChoice(PatternIntegerPatternIntegerChoice.VALUE) + obj.obj.Value = &value + return obj +} + +// description is TBD +// Values returns a []uint32 +func (obj *patternIntegerPatternInteger) Values() []uint32 { + if obj.obj.Values == nil { + obj.SetValues([]uint32{0}) + } + return obj.obj.Values +} + +// description is TBD +// SetValues sets the []uint32 value in the PatternIntegerPatternInteger object +func (obj *patternIntegerPatternInteger) SetValues(value []uint32) PatternIntegerPatternInteger { + obj.SetChoice(PatternIntegerPatternIntegerChoice.VALUES) + if obj.obj.Values == nil { + obj.obj.Values = make([]uint32, 0) + } + obj.obj.Values = value + + return obj +} + +// description is TBD +// Increment returns a PatternIntegerPatternIntegerCounter +func (obj *patternIntegerPatternInteger) Increment() PatternIntegerPatternIntegerCounter { + if obj.obj.Increment == nil { + obj.SetChoice(PatternIntegerPatternIntegerChoice.INCREMENT) + } + if obj.incrementHolder == nil { + obj.incrementHolder = &patternIntegerPatternIntegerCounter{obj: obj.obj.Increment} + } + return obj.incrementHolder +} + +// description is TBD +// Increment returns a PatternIntegerPatternIntegerCounter +func (obj *patternIntegerPatternInteger) HasIncrement() bool { + return obj.obj.Increment != nil +} + +// description is TBD +// SetIncrement sets the PatternIntegerPatternIntegerCounter value in the PatternIntegerPatternInteger object +func (obj *patternIntegerPatternInteger) SetIncrement(value PatternIntegerPatternIntegerCounter) PatternIntegerPatternInteger { + obj.SetChoice(PatternIntegerPatternIntegerChoice.INCREMENT) + obj.incrementHolder = nil + obj.obj.Increment = value.Msg() + + return obj +} + +// description is TBD +// Decrement returns a PatternIntegerPatternIntegerCounter +func (obj *patternIntegerPatternInteger) Decrement() PatternIntegerPatternIntegerCounter { + if obj.obj.Decrement == nil { + obj.SetChoice(PatternIntegerPatternIntegerChoice.DECREMENT) + } + if obj.decrementHolder == nil { + obj.decrementHolder = &patternIntegerPatternIntegerCounter{obj: obj.obj.Decrement} + } + return obj.decrementHolder +} + +// description is TBD +// Decrement returns a PatternIntegerPatternIntegerCounter +func (obj *patternIntegerPatternInteger) HasDecrement() bool { + return obj.obj.Decrement != nil +} + +// description is TBD +// SetDecrement sets the PatternIntegerPatternIntegerCounter value in the PatternIntegerPatternInteger object +func (obj *patternIntegerPatternInteger) SetDecrement(value PatternIntegerPatternIntegerCounter) PatternIntegerPatternInteger { + obj.SetChoice(PatternIntegerPatternIntegerChoice.DECREMENT) + obj.decrementHolder = nil + obj.obj.Decrement = value.Msg() + + return obj +} + +func (obj *patternIntegerPatternInteger) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Value != nil { + + if *obj.obj.Value > 255 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("0 <= PatternIntegerPatternInteger.Value <= 255 but Got %d", *obj.obj.Value)) + } + + } + + if obj.obj.Values != nil { + + for _, item := range obj.obj.Values { + if item > 255 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("min(uint32) <= PatternIntegerPatternInteger.Values <= 255 but Got %d", item)) + } + + } + + } + + if obj.obj.Increment != nil { + + obj.Increment().validateObj(vObj, set_default) + } + + if obj.obj.Decrement != nil { + + obj.Decrement().validateObj(vObj, set_default) + } + +} + +func (obj *patternIntegerPatternInteger) setDefault() { + if obj.obj.Choice == nil { + obj.SetChoice(PatternIntegerPatternIntegerChoice.VALUE) + + } + +} + +// ***** PatternChecksumPatternChecksum ***** +type patternChecksumPatternChecksum struct { + validation + obj *sanity.PatternChecksumPatternChecksum +} + +func NewPatternChecksumPatternChecksum() PatternChecksumPatternChecksum { + obj := patternChecksumPatternChecksum{obj: &sanity.PatternChecksumPatternChecksum{}} + obj.setDefault() + return &obj +} + +func (obj *patternChecksumPatternChecksum) Msg() *sanity.PatternChecksumPatternChecksum { + return obj.obj +} + +func (obj *patternChecksumPatternChecksum) SetMsg(msg *sanity.PatternChecksumPatternChecksum) PatternChecksumPatternChecksum { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *patternChecksumPatternChecksum) ToProto() (*sanity.PatternChecksumPatternChecksum, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *patternChecksumPatternChecksum) FromProto(msg *sanity.PatternChecksumPatternChecksum) (PatternChecksumPatternChecksum, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *patternChecksumPatternChecksum) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *patternChecksumPatternChecksum) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *patternChecksumPatternChecksum) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternChecksumPatternChecksum) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *patternChecksumPatternChecksum) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternChecksumPatternChecksum) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *patternChecksumPatternChecksum) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *patternChecksumPatternChecksum) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *patternChecksumPatternChecksum) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *patternChecksumPatternChecksum) Clone() (PatternChecksumPatternChecksum, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewPatternChecksumPatternChecksum() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// PatternChecksumPatternChecksum is tBD +type PatternChecksumPatternChecksum interface { + Validation + // Msg marshals PatternChecksumPatternChecksum to protobuf object *sanity.PatternChecksumPatternChecksum + // and doesn't set defaults + Msg() *sanity.PatternChecksumPatternChecksum + // SetMsg unmarshals PatternChecksumPatternChecksum from protobuf object *sanity.PatternChecksumPatternChecksum + // and doesn't set defaults + SetMsg(*sanity.PatternChecksumPatternChecksum) PatternChecksumPatternChecksum + // ToProto marshals PatternChecksumPatternChecksum to protobuf object *sanity.PatternChecksumPatternChecksum + ToProto() (*sanity.PatternChecksumPatternChecksum, error) + // ToPbText marshals PatternChecksumPatternChecksum to protobuf text + ToPbText() (string, error) + // ToYaml marshals PatternChecksumPatternChecksum to YAML text + ToYaml() (string, error) + // ToJson marshals PatternChecksumPatternChecksum to JSON text + ToJson() (string, error) + // FromProto unmarshals PatternChecksumPatternChecksum from protobuf object *sanity.PatternChecksumPatternChecksum + FromProto(msg *sanity.PatternChecksumPatternChecksum) (PatternChecksumPatternChecksum, error) + // FromPbText unmarshals PatternChecksumPatternChecksum from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PatternChecksumPatternChecksum from YAML text + FromYaml(value string) error + // FromJson unmarshals PatternChecksumPatternChecksum from JSON text + FromJson(value string) error + // Validate validates PatternChecksumPatternChecksum + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (PatternChecksumPatternChecksum, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Choice returns PatternChecksumPatternChecksumChoiceEnum, set in PatternChecksumPatternChecksum + Choice() PatternChecksumPatternChecksumChoiceEnum + // SetChoice assigns PatternChecksumPatternChecksumChoiceEnum provided by user to PatternChecksumPatternChecksum + SetChoice(value PatternChecksumPatternChecksumChoiceEnum) PatternChecksumPatternChecksum + // HasChoice checks if Choice has been set in PatternChecksumPatternChecksum + HasChoice() bool + // Generated returns PatternChecksumPatternChecksumGeneratedEnum, set in PatternChecksumPatternChecksum + Generated() PatternChecksumPatternChecksumGeneratedEnum + // SetGenerated assigns PatternChecksumPatternChecksumGeneratedEnum provided by user to PatternChecksumPatternChecksum + SetGenerated(value PatternChecksumPatternChecksumGeneratedEnum) PatternChecksumPatternChecksum + // HasGenerated checks if Generated has been set in PatternChecksumPatternChecksum + HasGenerated() bool + // Custom returns uint32, set in PatternChecksumPatternChecksum. + Custom() uint32 + // SetCustom assigns uint32 provided by user to PatternChecksumPatternChecksum + SetCustom(value uint32) PatternChecksumPatternChecksum + // HasCustom checks if Custom has been set in PatternChecksumPatternChecksum + HasCustom() bool +} + +type PatternChecksumPatternChecksumChoiceEnum string + +// Enum of Choice on PatternChecksumPatternChecksum +var PatternChecksumPatternChecksumChoice = struct { + GENERATED PatternChecksumPatternChecksumChoiceEnum + CUSTOM PatternChecksumPatternChecksumChoiceEnum +}{ + GENERATED: PatternChecksumPatternChecksumChoiceEnum("generated"), + CUSTOM: PatternChecksumPatternChecksumChoiceEnum("custom"), +} + +func (obj *patternChecksumPatternChecksum) Choice() PatternChecksumPatternChecksumChoiceEnum { + return PatternChecksumPatternChecksumChoiceEnum(obj.obj.Choice.Enum().String()) +} + +// The type of checksum +// Choice returns a string +func (obj *patternChecksumPatternChecksum) HasChoice() bool { + return obj.obj.Choice != nil +} + +func (obj *patternChecksumPatternChecksum) SetChoice(value PatternChecksumPatternChecksumChoiceEnum) PatternChecksumPatternChecksum { + intValue, ok := sanity.PatternChecksumPatternChecksum_Choice_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on PatternChecksumPatternChecksumChoiceEnum", string(value))) + return obj + } + enumValue := sanity.PatternChecksumPatternChecksum_Choice_Enum(intValue) + obj.obj.Choice = &enumValue + obj.obj.Custom = nil + obj.obj.Generated = sanity.PatternChecksumPatternChecksum_Generated_unspecified.Enum() + return obj +} + +type PatternChecksumPatternChecksumGeneratedEnum string + +// Enum of Generated on PatternChecksumPatternChecksum +var PatternChecksumPatternChecksumGenerated = struct { + GOOD PatternChecksumPatternChecksumGeneratedEnum + BAD PatternChecksumPatternChecksumGeneratedEnum +}{ + GOOD: PatternChecksumPatternChecksumGeneratedEnum("good"), + BAD: PatternChecksumPatternChecksumGeneratedEnum("bad"), +} + +func (obj *patternChecksumPatternChecksum) Generated() PatternChecksumPatternChecksumGeneratedEnum { + return PatternChecksumPatternChecksumGeneratedEnum(obj.obj.Generated.Enum().String()) +} + +// A system generated checksum value +// Generated returns a string +func (obj *patternChecksumPatternChecksum) HasGenerated() bool { + return obj.obj.Generated != nil +} + +func (obj *patternChecksumPatternChecksum) SetGenerated(value PatternChecksumPatternChecksumGeneratedEnum) PatternChecksumPatternChecksum { + intValue, ok := sanity.PatternChecksumPatternChecksum_Generated_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on PatternChecksumPatternChecksumGeneratedEnum", string(value))) + return obj + } + enumValue := sanity.PatternChecksumPatternChecksum_Generated_Enum(intValue) + obj.obj.Generated = &enumValue + + return obj +} + +// A custom checksum value +// Custom returns a uint32 +func (obj *patternChecksumPatternChecksum) Custom() uint32 { + + if obj.obj.Custom == nil { + obj.SetChoice(PatternChecksumPatternChecksumChoice.CUSTOM) + } + + return *obj.obj.Custom + +} + +// A custom checksum value +// Custom returns a uint32 +func (obj *patternChecksumPatternChecksum) HasCustom() bool { + return obj.obj.Custom != nil +} + +// A custom checksum value +// SetCustom sets the uint32 value in the PatternChecksumPatternChecksum object +func (obj *patternChecksumPatternChecksum) SetCustom(value uint32) PatternChecksumPatternChecksum { + obj.SetChoice(PatternChecksumPatternChecksumChoice.CUSTOM) + obj.obj.Custom = &value + return obj +} + +func (obj *patternChecksumPatternChecksum) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Custom != nil { + + if *obj.obj.Custom > 255 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("0 <= PatternChecksumPatternChecksum.Custom <= 255 but Got %d", *obj.obj.Custom)) + } + + } + +} + +func (obj *patternChecksumPatternChecksum) setDefault() { + if obj.obj.Choice == nil { + obj.SetChoice(PatternChecksumPatternChecksumChoice.GENERATED) + if obj.obj.Generated.Number() == 0 { + obj.SetGenerated(PatternChecksumPatternChecksumGenerated.GOOD) + + } + + } + +} + +// ***** PatternPrefixConfigAutoFieldTestCounter ***** +type patternPrefixConfigAutoFieldTestCounter struct { + validation + obj *sanity.PatternPrefixConfigAutoFieldTestCounter +} + +func NewPatternPrefixConfigAutoFieldTestCounter() PatternPrefixConfigAutoFieldTestCounter { + obj := patternPrefixConfigAutoFieldTestCounter{obj: &sanity.PatternPrefixConfigAutoFieldTestCounter{}} + obj.setDefault() + return &obj +} + +func (obj *patternPrefixConfigAutoFieldTestCounter) Msg() *sanity.PatternPrefixConfigAutoFieldTestCounter { + return obj.obj +} + +func (obj *patternPrefixConfigAutoFieldTestCounter) SetMsg(msg *sanity.PatternPrefixConfigAutoFieldTestCounter) PatternPrefixConfigAutoFieldTestCounter { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *patternPrefixConfigAutoFieldTestCounter) ToProto() (*sanity.PatternPrefixConfigAutoFieldTestCounter, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *patternPrefixConfigAutoFieldTestCounter) FromProto(msg *sanity.PatternPrefixConfigAutoFieldTestCounter) (PatternPrefixConfigAutoFieldTestCounter, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *patternPrefixConfigAutoFieldTestCounter) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *patternPrefixConfigAutoFieldTestCounter) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *patternPrefixConfigAutoFieldTestCounter) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternPrefixConfigAutoFieldTestCounter) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *patternPrefixConfigAutoFieldTestCounter) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternPrefixConfigAutoFieldTestCounter) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *patternPrefixConfigAutoFieldTestCounter) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *patternPrefixConfigAutoFieldTestCounter) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *patternPrefixConfigAutoFieldTestCounter) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *patternPrefixConfigAutoFieldTestCounter) Clone() (PatternPrefixConfigAutoFieldTestCounter, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewPatternPrefixConfigAutoFieldTestCounter() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// PatternPrefixConfigAutoFieldTestCounter is integer counter pattern +type PatternPrefixConfigAutoFieldTestCounter interface { + Validation + // Msg marshals PatternPrefixConfigAutoFieldTestCounter to protobuf object *sanity.PatternPrefixConfigAutoFieldTestCounter + // and doesn't set defaults + Msg() *sanity.PatternPrefixConfigAutoFieldTestCounter + // SetMsg unmarshals PatternPrefixConfigAutoFieldTestCounter from protobuf object *sanity.PatternPrefixConfigAutoFieldTestCounter + // and doesn't set defaults + SetMsg(*sanity.PatternPrefixConfigAutoFieldTestCounter) PatternPrefixConfigAutoFieldTestCounter + // ToProto marshals PatternPrefixConfigAutoFieldTestCounter to protobuf object *sanity.PatternPrefixConfigAutoFieldTestCounter + ToProto() (*sanity.PatternPrefixConfigAutoFieldTestCounter, error) + // ToPbText marshals PatternPrefixConfigAutoFieldTestCounter to protobuf text + ToPbText() (string, error) + // ToYaml marshals PatternPrefixConfigAutoFieldTestCounter to YAML text + ToYaml() (string, error) + // ToJson marshals PatternPrefixConfigAutoFieldTestCounter to JSON text + ToJson() (string, error) + // FromProto unmarshals PatternPrefixConfigAutoFieldTestCounter from protobuf object *sanity.PatternPrefixConfigAutoFieldTestCounter + FromProto(msg *sanity.PatternPrefixConfigAutoFieldTestCounter) (PatternPrefixConfigAutoFieldTestCounter, error) + // FromPbText unmarshals PatternPrefixConfigAutoFieldTestCounter from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PatternPrefixConfigAutoFieldTestCounter from YAML text + FromYaml(value string) error + // FromJson unmarshals PatternPrefixConfigAutoFieldTestCounter from JSON text + FromJson(value string) error + // Validate validates PatternPrefixConfigAutoFieldTestCounter + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (PatternPrefixConfigAutoFieldTestCounter, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Start returns uint32, set in PatternPrefixConfigAutoFieldTestCounter. + Start() uint32 + // SetStart assigns uint32 provided by user to PatternPrefixConfigAutoFieldTestCounter + SetStart(value uint32) PatternPrefixConfigAutoFieldTestCounter + // HasStart checks if Start has been set in PatternPrefixConfigAutoFieldTestCounter + HasStart() bool + // Step returns uint32, set in PatternPrefixConfigAutoFieldTestCounter. + Step() uint32 + // SetStep assigns uint32 provided by user to PatternPrefixConfigAutoFieldTestCounter + SetStep(value uint32) PatternPrefixConfigAutoFieldTestCounter + // HasStep checks if Step has been set in PatternPrefixConfigAutoFieldTestCounter + HasStep() bool + // Count returns uint32, set in PatternPrefixConfigAutoFieldTestCounter. + Count() uint32 + // SetCount assigns uint32 provided by user to PatternPrefixConfigAutoFieldTestCounter + SetCount(value uint32) PatternPrefixConfigAutoFieldTestCounter + // HasCount checks if Count has been set in PatternPrefixConfigAutoFieldTestCounter + HasCount() bool +} + +// description is TBD +// Start returns a uint32 +func (obj *patternPrefixConfigAutoFieldTestCounter) Start() uint32 { + + return *obj.obj.Start + +} + +// description is TBD +// Start returns a uint32 +func (obj *patternPrefixConfigAutoFieldTestCounter) HasStart() bool { + return obj.obj.Start != nil +} + +// description is TBD +// SetStart sets the uint32 value in the PatternPrefixConfigAutoFieldTestCounter object +func (obj *patternPrefixConfigAutoFieldTestCounter) SetStart(value uint32) PatternPrefixConfigAutoFieldTestCounter { + + obj.obj.Start = &value + return obj +} + +// description is TBD +// Step returns a uint32 +func (obj *patternPrefixConfigAutoFieldTestCounter) Step() uint32 { + + return *obj.obj.Step + +} + +// description is TBD +// Step returns a uint32 +func (obj *patternPrefixConfigAutoFieldTestCounter) HasStep() bool { + return obj.obj.Step != nil +} + +// description is TBD +// SetStep sets the uint32 value in the PatternPrefixConfigAutoFieldTestCounter object +func (obj *patternPrefixConfigAutoFieldTestCounter) SetStep(value uint32) PatternPrefixConfigAutoFieldTestCounter { + + obj.obj.Step = &value + return obj +} + +// description is TBD +// Count returns a uint32 +func (obj *patternPrefixConfigAutoFieldTestCounter) Count() uint32 { + + return *obj.obj.Count + +} + +// description is TBD +// Count returns a uint32 +func (obj *patternPrefixConfigAutoFieldTestCounter) HasCount() bool { + return obj.obj.Count != nil +} + +// description is TBD +// SetCount sets the uint32 value in the PatternPrefixConfigAutoFieldTestCounter object +func (obj *patternPrefixConfigAutoFieldTestCounter) SetCount(value uint32) PatternPrefixConfigAutoFieldTestCounter { + + obj.obj.Count = &value + return obj +} + +func (obj *patternPrefixConfigAutoFieldTestCounter) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Start != nil { + + if *obj.obj.Start > 255 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("0 <= PatternPrefixConfigAutoFieldTestCounter.Start <= 255 but Got %d", *obj.obj.Start)) + } + + } + + if obj.obj.Step != nil { + + if *obj.obj.Step > 255 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("0 <= PatternPrefixConfigAutoFieldTestCounter.Step <= 255 but Got %d", *obj.obj.Step)) + } + + } + + if obj.obj.Count != nil { + + if *obj.obj.Count > 255 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("0 <= PatternPrefixConfigAutoFieldTestCounter.Count <= 255 but Got %d", *obj.obj.Count)) + } + + } + +} + +func (obj *patternPrefixConfigAutoFieldTestCounter) setDefault() { + if obj.obj.Start == nil { + obj.SetStart(0) + } + if obj.obj.Step == nil { + obj.SetStep(1) + } + if obj.obj.Count == nil { + obj.SetCount(1) + } + +} + +// ***** RequiredChoiceIntermediate ***** +type requiredChoiceIntermediate struct { + validation + obj *sanity.RequiredChoiceIntermediate + leafHolder RequiredChoiceIntermeLeaf +} + +func NewRequiredChoiceIntermediate() RequiredChoiceIntermediate { + obj := requiredChoiceIntermediate{obj: &sanity.RequiredChoiceIntermediate{}} + obj.setDefault() + return &obj +} + +func (obj *requiredChoiceIntermediate) Msg() *sanity.RequiredChoiceIntermediate { + return obj.obj +} + +func (obj *requiredChoiceIntermediate) SetMsg(msg *sanity.RequiredChoiceIntermediate) RequiredChoiceIntermediate { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *requiredChoiceIntermediate) ToProto() (*sanity.RequiredChoiceIntermediate, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *requiredChoiceIntermediate) FromProto(msg *sanity.RequiredChoiceIntermediate) (RequiredChoiceIntermediate, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *requiredChoiceIntermediate) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *requiredChoiceIntermediate) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *requiredChoiceIntermediate) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *requiredChoiceIntermediate) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *requiredChoiceIntermediate) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *requiredChoiceIntermediate) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *requiredChoiceIntermediate) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *requiredChoiceIntermediate) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *requiredChoiceIntermediate) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *requiredChoiceIntermediate) Clone() (RequiredChoiceIntermediate, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewRequiredChoiceIntermediate() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *requiredChoiceIntermediate) setNil() { + obj.leafHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// RequiredChoiceIntermediate is description is TBD +type RequiredChoiceIntermediate interface { + Validation + // Msg marshals RequiredChoiceIntermediate to protobuf object *sanity.RequiredChoiceIntermediate + // and doesn't set defaults + Msg() *sanity.RequiredChoiceIntermediate + // SetMsg unmarshals RequiredChoiceIntermediate from protobuf object *sanity.RequiredChoiceIntermediate + // and doesn't set defaults + SetMsg(*sanity.RequiredChoiceIntermediate) RequiredChoiceIntermediate + // ToProto marshals RequiredChoiceIntermediate to protobuf object *sanity.RequiredChoiceIntermediate + ToProto() (*sanity.RequiredChoiceIntermediate, error) + // ToPbText marshals RequiredChoiceIntermediate to protobuf text + ToPbText() (string, error) + // ToYaml marshals RequiredChoiceIntermediate to YAML text + ToYaml() (string, error) + // ToJson marshals RequiredChoiceIntermediate to JSON text + ToJson() (string, error) + // FromProto unmarshals RequiredChoiceIntermediate from protobuf object *sanity.RequiredChoiceIntermediate + FromProto(msg *sanity.RequiredChoiceIntermediate) (RequiredChoiceIntermediate, error) + // FromPbText unmarshals RequiredChoiceIntermediate from protobuf text + FromPbText(value string) error + // FromYaml unmarshals RequiredChoiceIntermediate from YAML text + FromYaml(value string) error + // FromJson unmarshals RequiredChoiceIntermediate from JSON text + FromJson(value string) error + // Validate validates RequiredChoiceIntermediate + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (RequiredChoiceIntermediate, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Choice returns RequiredChoiceIntermediateChoiceEnum, set in RequiredChoiceIntermediate + Choice() RequiredChoiceIntermediateChoiceEnum + // SetChoice assigns RequiredChoiceIntermediateChoiceEnum provided by user to RequiredChoiceIntermediate + SetChoice(value RequiredChoiceIntermediateChoiceEnum) RequiredChoiceIntermediate + // FA returns string, set in RequiredChoiceIntermediate. + FA() string + // SetFA assigns string provided by user to RequiredChoiceIntermediate + SetFA(value string) RequiredChoiceIntermediate + // HasFA checks if FA has been set in RequiredChoiceIntermediate + HasFA() bool + // Leaf returns RequiredChoiceIntermeLeaf, set in RequiredChoiceIntermediate. + // RequiredChoiceIntermeLeaf is description is TBD + Leaf() RequiredChoiceIntermeLeaf + // SetLeaf assigns RequiredChoiceIntermeLeaf provided by user to RequiredChoiceIntermediate. + // RequiredChoiceIntermeLeaf is description is TBD + SetLeaf(value RequiredChoiceIntermeLeaf) RequiredChoiceIntermediate + // HasLeaf checks if Leaf has been set in RequiredChoiceIntermediate + HasLeaf() bool + setNil() +} + +type RequiredChoiceIntermediateChoiceEnum string + +// Enum of Choice on RequiredChoiceIntermediate +var RequiredChoiceIntermediateChoice = struct { + F_A RequiredChoiceIntermediateChoiceEnum + LEAF RequiredChoiceIntermediateChoiceEnum +}{ + F_A: RequiredChoiceIntermediateChoiceEnum("f_a"), + LEAF: RequiredChoiceIntermediateChoiceEnum("leaf"), +} + +func (obj *requiredChoiceIntermediate) Choice() RequiredChoiceIntermediateChoiceEnum { + return RequiredChoiceIntermediateChoiceEnum(obj.obj.Choice.Enum().String()) +} + +func (obj *requiredChoiceIntermediate) SetChoice(value RequiredChoiceIntermediateChoiceEnum) RequiredChoiceIntermediate { + intValue, ok := sanity.RequiredChoiceIntermediate_Choice_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on RequiredChoiceIntermediateChoiceEnum", string(value))) + return obj + } + obj.obj.Choice = sanity.RequiredChoiceIntermediate_Choice_Enum(intValue) + obj.obj.Leaf = nil + obj.leafHolder = nil + obj.obj.FA = nil + + if value == RequiredChoiceIntermediateChoice.F_A { + defaultValue := "some string" + obj.obj.FA = &defaultValue + } + + if value == RequiredChoiceIntermediateChoice.LEAF { + obj.obj.Leaf = NewRequiredChoiceIntermeLeaf().Msg() + } + + return obj +} + +// description is TBD +// FA returns a string +func (obj *requiredChoiceIntermediate) FA() string { + + if obj.obj.FA == nil { + obj.SetChoice(RequiredChoiceIntermediateChoice.F_A) + } + + return *obj.obj.FA + +} + +// description is TBD +// FA returns a string +func (obj *requiredChoiceIntermediate) HasFA() bool { + return obj.obj.FA != nil +} + +// description is TBD +// SetFA sets the string value in the RequiredChoiceIntermediate object +func (obj *requiredChoiceIntermediate) SetFA(value string) RequiredChoiceIntermediate { + obj.SetChoice(RequiredChoiceIntermediateChoice.F_A) + obj.obj.FA = &value + return obj +} + +// description is TBD +// Leaf returns a RequiredChoiceIntermeLeaf +func (obj *requiredChoiceIntermediate) Leaf() RequiredChoiceIntermeLeaf { + if obj.obj.Leaf == nil { + obj.SetChoice(RequiredChoiceIntermediateChoice.LEAF) + } + if obj.leafHolder == nil { + obj.leafHolder = &requiredChoiceIntermeLeaf{obj: obj.obj.Leaf} + } + return obj.leafHolder +} + +// description is TBD +// Leaf returns a RequiredChoiceIntermeLeaf +func (obj *requiredChoiceIntermediate) HasLeaf() bool { + return obj.obj.Leaf != nil +} + +// description is TBD +// SetLeaf sets the RequiredChoiceIntermeLeaf value in the RequiredChoiceIntermediate object +func (obj *requiredChoiceIntermediate) SetLeaf(value RequiredChoiceIntermeLeaf) RequiredChoiceIntermediate { + obj.SetChoice(RequiredChoiceIntermediateChoice.LEAF) + obj.leafHolder = nil + obj.obj.Leaf = value.Msg() + + return obj +} + +func (obj *requiredChoiceIntermediate) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + // Choice is required + if obj.obj.Choice.Number() == 0 { + vObj.validationErrors = append(vObj.validationErrors, "Choice is required field on interface RequiredChoiceIntermediate") + } + + if obj.obj.Leaf != nil { + + obj.Leaf().validateObj(vObj, set_default) + } + +} + +func (obj *requiredChoiceIntermediate) setDefault() { + if obj.obj.FA == nil { + obj.SetFA("some string") + } + +} + +// ***** PortMetric ***** +type portMetric struct { + validation + obj *sanity.PortMetric +} + +func NewPortMetric() PortMetric { + obj := portMetric{obj: &sanity.PortMetric{}} + obj.setDefault() + return &obj +} + +func (obj *portMetric) Msg() *sanity.PortMetric { + return obj.obj +} + +func (obj *portMetric) SetMsg(msg *sanity.PortMetric) PortMetric { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *portMetric) ToProto() (*sanity.PortMetric, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *portMetric) FromProto(msg *sanity.PortMetric) (PortMetric, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *portMetric) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *portMetric) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *portMetric) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *portMetric) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *portMetric) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *portMetric) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *portMetric) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *portMetric) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *portMetric) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *portMetric) Clone() (PortMetric, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewPortMetric() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// PortMetric is description is TBD +type PortMetric interface { + Validation + // Msg marshals PortMetric to protobuf object *sanity.PortMetric + // and doesn't set defaults + Msg() *sanity.PortMetric + // SetMsg unmarshals PortMetric from protobuf object *sanity.PortMetric + // and doesn't set defaults + SetMsg(*sanity.PortMetric) PortMetric + // ToProto marshals PortMetric to protobuf object *sanity.PortMetric + ToProto() (*sanity.PortMetric, error) + // ToPbText marshals PortMetric to protobuf text + ToPbText() (string, error) + // ToYaml marshals PortMetric to YAML text + ToYaml() (string, error) + // ToJson marshals PortMetric to JSON text + ToJson() (string, error) + // FromProto unmarshals PortMetric from protobuf object *sanity.PortMetric + FromProto(msg *sanity.PortMetric) (PortMetric, error) + // FromPbText unmarshals PortMetric from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PortMetric from YAML text + FromYaml(value string) error + // FromJson unmarshals PortMetric from JSON text + FromJson(value string) error + // Validate validates PortMetric + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (PortMetric, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Name returns string, set in PortMetric. + Name() string + // SetName assigns string provided by user to PortMetric + SetName(value string) PortMetric + // TxFrames returns float64, set in PortMetric. + TxFrames() float64 + // SetTxFrames assigns float64 provided by user to PortMetric + SetTxFrames(value float64) PortMetric + // RxFrames returns float64, set in PortMetric. + RxFrames() float64 + // SetRxFrames assigns float64 provided by user to PortMetric + SetRxFrames(value float64) PortMetric +} + +// description is TBD +// Name returns a string +func (obj *portMetric) Name() string { + + return obj.obj.Name +} + +// description is TBD +// SetName sets the string value in the PortMetric object +func (obj *portMetric) SetName(value string) PortMetric { + + obj.obj.Name = value + return obj +} + +// description is TBD +// TxFrames returns a float64 +func (obj *portMetric) TxFrames() float64 { + + return obj.obj.TxFrames +} + +// description is TBD +// SetTxFrames sets the float64 value in the PortMetric object +func (obj *portMetric) SetTxFrames(value float64) PortMetric { + + obj.obj.TxFrames = value + return obj +} + +// description is TBD +// RxFrames returns a float64 +func (obj *portMetric) RxFrames() float64 { + + return obj.obj.RxFrames +} + +// description is TBD +// SetRxFrames sets the float64 value in the PortMetric object +func (obj *portMetric) SetRxFrames(value float64) PortMetric { + + obj.obj.RxFrames = value + return obj +} + +func (obj *portMetric) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + // Name is required + if obj.obj.Name == "" { + vObj.validationErrors = append(vObj.validationErrors, "Name is required field on interface PortMetric") + } +} + +func (obj *portMetric) setDefault() { + +} + +// ***** FlowMetric ***** +type flowMetric struct { + validation + obj *sanity.FlowMetric +} + +func NewFlowMetric() FlowMetric { + obj := flowMetric{obj: &sanity.FlowMetric{}} + obj.setDefault() + return &obj +} + +func (obj *flowMetric) Msg() *sanity.FlowMetric { + return obj.obj +} + +func (obj *flowMetric) SetMsg(msg *sanity.FlowMetric) FlowMetric { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *flowMetric) ToProto() (*sanity.FlowMetric, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *flowMetric) FromProto(msg *sanity.FlowMetric) (FlowMetric, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *flowMetric) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *flowMetric) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *flowMetric) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *flowMetric) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *flowMetric) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *flowMetric) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *flowMetric) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *flowMetric) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *flowMetric) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *flowMetric) Clone() (FlowMetric, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewFlowMetric() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// FlowMetric is description is TBD +type FlowMetric interface { + Validation + // Msg marshals FlowMetric to protobuf object *sanity.FlowMetric + // and doesn't set defaults + Msg() *sanity.FlowMetric + // SetMsg unmarshals FlowMetric from protobuf object *sanity.FlowMetric + // and doesn't set defaults + SetMsg(*sanity.FlowMetric) FlowMetric + // ToProto marshals FlowMetric to protobuf object *sanity.FlowMetric + ToProto() (*sanity.FlowMetric, error) + // ToPbText marshals FlowMetric to protobuf text + ToPbText() (string, error) + // ToYaml marshals FlowMetric to YAML text + ToYaml() (string, error) + // ToJson marshals FlowMetric to JSON text + ToJson() (string, error) + // FromProto unmarshals FlowMetric from protobuf object *sanity.FlowMetric + FromProto(msg *sanity.FlowMetric) (FlowMetric, error) + // FromPbText unmarshals FlowMetric from protobuf text + FromPbText(value string) error + // FromYaml unmarshals FlowMetric from YAML text + FromYaml(value string) error + // FromJson unmarshals FlowMetric from JSON text + FromJson(value string) error + // Validate validates FlowMetric + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (FlowMetric, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Name returns string, set in FlowMetric. + Name() string + // SetName assigns string provided by user to FlowMetric + SetName(value string) FlowMetric + // TxFrames returns float64, set in FlowMetric. + TxFrames() float64 + // SetTxFrames assigns float64 provided by user to FlowMetric + SetTxFrames(value float64) FlowMetric + // RxFrames returns float64, set in FlowMetric. + RxFrames() float64 + // SetRxFrames assigns float64 provided by user to FlowMetric + SetRxFrames(value float64) FlowMetric +} + +// description is TBD +// Name returns a string +func (obj *flowMetric) Name() string { + + return obj.obj.Name +} + +// description is TBD +// SetName sets the string value in the FlowMetric object +func (obj *flowMetric) SetName(value string) FlowMetric { + + obj.obj.Name = value + return obj +} + +// description is TBD +// TxFrames returns a float64 +func (obj *flowMetric) TxFrames() float64 { + + return obj.obj.TxFrames +} + +// description is TBD +// SetTxFrames sets the float64 value in the FlowMetric object +func (obj *flowMetric) SetTxFrames(value float64) FlowMetric { + + obj.obj.TxFrames = value + return obj +} + +// description is TBD +// RxFrames returns a float64 +func (obj *flowMetric) RxFrames() float64 { + + return obj.obj.RxFrames +} + +// description is TBD +// SetRxFrames sets the float64 value in the FlowMetric object +func (obj *flowMetric) SetRxFrames(value float64) FlowMetric { + + obj.obj.RxFrames = value + return obj +} + +func (obj *flowMetric) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + // Name is required + if obj.obj.Name == "" { + vObj.validationErrors = append(vObj.validationErrors, "Name is required field on interface FlowMetric") + } +} + +func (obj *flowMetric) setDefault() { + +} + +// ***** LevelThree ***** +type levelThree struct { + validation + obj *sanity.LevelThree +} + +func NewLevelThree() LevelThree { + obj := levelThree{obj: &sanity.LevelThree{}} + obj.setDefault() + return &obj +} + +func (obj *levelThree) Msg() *sanity.LevelThree { + return obj.obj +} + +func (obj *levelThree) SetMsg(msg *sanity.LevelThree) LevelThree { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *levelThree) ToProto() (*sanity.LevelThree, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *levelThree) FromProto(msg *sanity.LevelThree) (LevelThree, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *levelThree) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *levelThree) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *levelThree) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *levelThree) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *levelThree) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *levelThree) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *levelThree) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *levelThree) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *levelThree) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *levelThree) Clone() (LevelThree, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewLevelThree() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// LevelThree is test Level3 +type LevelThree interface { + Validation + // Msg marshals LevelThree to protobuf object *sanity.LevelThree + // and doesn't set defaults + Msg() *sanity.LevelThree + // SetMsg unmarshals LevelThree from protobuf object *sanity.LevelThree + // and doesn't set defaults + SetMsg(*sanity.LevelThree) LevelThree + // ToProto marshals LevelThree to protobuf object *sanity.LevelThree + ToProto() (*sanity.LevelThree, error) + // ToPbText marshals LevelThree to protobuf text + ToPbText() (string, error) + // ToYaml marshals LevelThree to YAML text + ToYaml() (string, error) + // ToJson marshals LevelThree to JSON text + ToJson() (string, error) + // FromProto unmarshals LevelThree from protobuf object *sanity.LevelThree + FromProto(msg *sanity.LevelThree) (LevelThree, error) + // FromPbText unmarshals LevelThree from protobuf text + FromPbText(value string) error + // FromYaml unmarshals LevelThree from YAML text + FromYaml(value string) error + // FromJson unmarshals LevelThree from JSON text + FromJson(value string) error + // Validate validates LevelThree + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (LevelThree, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // L3P1 returns string, set in LevelThree. + L3P1() string + // SetL3P1 assigns string provided by user to LevelThree + SetL3P1(value string) LevelThree + // HasL3P1 checks if L3P1 has been set in LevelThree + HasL3P1() bool +} + +// Set value at Level 3 +// L3P1 returns a string +func (obj *levelThree) L3P1() string { + + return *obj.obj.L3P1 + +} + +// Set value at Level 3 +// L3P1 returns a string +func (obj *levelThree) HasL3P1() bool { + return obj.obj.L3P1 != nil +} + +// Set value at Level 3 +// SetL3P1 sets the string value in the LevelThree object +func (obj *levelThree) SetL3P1(value string) LevelThree { + + obj.obj.L3P1 = &value + return obj +} + +func (obj *levelThree) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + +} + +func (obj *levelThree) setDefault() { + +} + +// ***** PatternIpv4PatternIpv4Counter ***** +type patternIpv4PatternIpv4Counter struct { + validation + obj *sanity.PatternIpv4PatternIpv4Counter +} + +func NewPatternIpv4PatternIpv4Counter() PatternIpv4PatternIpv4Counter { + obj := patternIpv4PatternIpv4Counter{obj: &sanity.PatternIpv4PatternIpv4Counter{}} + obj.setDefault() + return &obj +} + +func (obj *patternIpv4PatternIpv4Counter) Msg() *sanity.PatternIpv4PatternIpv4Counter { + return obj.obj +} + +func (obj *patternIpv4PatternIpv4Counter) SetMsg(msg *sanity.PatternIpv4PatternIpv4Counter) PatternIpv4PatternIpv4Counter { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *patternIpv4PatternIpv4Counter) ToProto() (*sanity.PatternIpv4PatternIpv4Counter, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *patternIpv4PatternIpv4Counter) FromProto(msg *sanity.PatternIpv4PatternIpv4Counter) (PatternIpv4PatternIpv4Counter, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *patternIpv4PatternIpv4Counter) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *patternIpv4PatternIpv4Counter) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *patternIpv4PatternIpv4Counter) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternIpv4PatternIpv4Counter) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *patternIpv4PatternIpv4Counter) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternIpv4PatternIpv4Counter) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *patternIpv4PatternIpv4Counter) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *patternIpv4PatternIpv4Counter) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *patternIpv4PatternIpv4Counter) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *patternIpv4PatternIpv4Counter) Clone() (PatternIpv4PatternIpv4Counter, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewPatternIpv4PatternIpv4Counter() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// PatternIpv4PatternIpv4Counter is ipv4 counter pattern +type PatternIpv4PatternIpv4Counter interface { + Validation + // Msg marshals PatternIpv4PatternIpv4Counter to protobuf object *sanity.PatternIpv4PatternIpv4Counter + // and doesn't set defaults + Msg() *sanity.PatternIpv4PatternIpv4Counter + // SetMsg unmarshals PatternIpv4PatternIpv4Counter from protobuf object *sanity.PatternIpv4PatternIpv4Counter + // and doesn't set defaults + SetMsg(*sanity.PatternIpv4PatternIpv4Counter) PatternIpv4PatternIpv4Counter + // ToProto marshals PatternIpv4PatternIpv4Counter to protobuf object *sanity.PatternIpv4PatternIpv4Counter + ToProto() (*sanity.PatternIpv4PatternIpv4Counter, error) + // ToPbText marshals PatternIpv4PatternIpv4Counter to protobuf text + ToPbText() (string, error) + // ToYaml marshals PatternIpv4PatternIpv4Counter to YAML text + ToYaml() (string, error) + // ToJson marshals PatternIpv4PatternIpv4Counter to JSON text + ToJson() (string, error) + // FromProto unmarshals PatternIpv4PatternIpv4Counter from protobuf object *sanity.PatternIpv4PatternIpv4Counter + FromProto(msg *sanity.PatternIpv4PatternIpv4Counter) (PatternIpv4PatternIpv4Counter, error) + // FromPbText unmarshals PatternIpv4PatternIpv4Counter from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PatternIpv4PatternIpv4Counter from YAML text + FromYaml(value string) error + // FromJson unmarshals PatternIpv4PatternIpv4Counter from JSON text + FromJson(value string) error + // Validate validates PatternIpv4PatternIpv4Counter + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (PatternIpv4PatternIpv4Counter, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Start returns string, set in PatternIpv4PatternIpv4Counter. + Start() string + // SetStart assigns string provided by user to PatternIpv4PatternIpv4Counter + SetStart(value string) PatternIpv4PatternIpv4Counter + // HasStart checks if Start has been set in PatternIpv4PatternIpv4Counter + HasStart() bool + // Step returns string, set in PatternIpv4PatternIpv4Counter. + Step() string + // SetStep assigns string provided by user to PatternIpv4PatternIpv4Counter + SetStep(value string) PatternIpv4PatternIpv4Counter + // HasStep checks if Step has been set in PatternIpv4PatternIpv4Counter + HasStep() bool + // Count returns uint32, set in PatternIpv4PatternIpv4Counter. + Count() uint32 + // SetCount assigns uint32 provided by user to PatternIpv4PatternIpv4Counter + SetCount(value uint32) PatternIpv4PatternIpv4Counter + // HasCount checks if Count has been set in PatternIpv4PatternIpv4Counter + HasCount() bool +} + +// description is TBD +// Start returns a string +func (obj *patternIpv4PatternIpv4Counter) Start() string { + + return *obj.obj.Start + +} + +// description is TBD +// Start returns a string +func (obj *patternIpv4PatternIpv4Counter) HasStart() bool { + return obj.obj.Start != nil +} + +// description is TBD +// SetStart sets the string value in the PatternIpv4PatternIpv4Counter object +func (obj *patternIpv4PatternIpv4Counter) SetStart(value string) PatternIpv4PatternIpv4Counter { + + obj.obj.Start = &value + return obj +} + +// description is TBD +// Step returns a string +func (obj *patternIpv4PatternIpv4Counter) Step() string { + + return *obj.obj.Step + +} + +// description is TBD +// Step returns a string +func (obj *patternIpv4PatternIpv4Counter) HasStep() bool { + return obj.obj.Step != nil +} + +// description is TBD +// SetStep sets the string value in the PatternIpv4PatternIpv4Counter object +func (obj *patternIpv4PatternIpv4Counter) SetStep(value string) PatternIpv4PatternIpv4Counter { + + obj.obj.Step = &value + return obj +} + +// description is TBD +// Count returns a uint32 +func (obj *patternIpv4PatternIpv4Counter) Count() uint32 { + + return *obj.obj.Count + +} + +// description is TBD +// Count returns a uint32 +func (obj *patternIpv4PatternIpv4Counter) HasCount() bool { + return obj.obj.Count != nil +} + +// description is TBD +// SetCount sets the uint32 value in the PatternIpv4PatternIpv4Counter object +func (obj *patternIpv4PatternIpv4Counter) SetCount(value uint32) PatternIpv4PatternIpv4Counter { + + obj.obj.Count = &value + return obj +} + +func (obj *patternIpv4PatternIpv4Counter) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Start != nil { + + err := obj.validateIpv4(obj.Start()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternIpv4PatternIpv4Counter.Start")) + } + + } + + if obj.obj.Step != nil { + + err := obj.validateIpv4(obj.Step()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternIpv4PatternIpv4Counter.Step")) + } + + } + +} + +func (obj *patternIpv4PatternIpv4Counter) setDefault() { + if obj.obj.Start == nil { + obj.SetStart("0.0.0.0") + } + if obj.obj.Step == nil { + obj.SetStep("0.0.0.1") + } + if obj.obj.Count == nil { + obj.SetCount(1) + } + +} + +// ***** PatternIpv6PatternIpv6Counter ***** +type patternIpv6PatternIpv6Counter struct { + validation + obj *sanity.PatternIpv6PatternIpv6Counter +} + +func NewPatternIpv6PatternIpv6Counter() PatternIpv6PatternIpv6Counter { + obj := patternIpv6PatternIpv6Counter{obj: &sanity.PatternIpv6PatternIpv6Counter{}} + obj.setDefault() + return &obj +} + +func (obj *patternIpv6PatternIpv6Counter) Msg() *sanity.PatternIpv6PatternIpv6Counter { + return obj.obj +} + +func (obj *patternIpv6PatternIpv6Counter) SetMsg(msg *sanity.PatternIpv6PatternIpv6Counter) PatternIpv6PatternIpv6Counter { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *patternIpv6PatternIpv6Counter) ToProto() (*sanity.PatternIpv6PatternIpv6Counter, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *patternIpv6PatternIpv6Counter) FromProto(msg *sanity.PatternIpv6PatternIpv6Counter) (PatternIpv6PatternIpv6Counter, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *patternIpv6PatternIpv6Counter) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *patternIpv6PatternIpv6Counter) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *patternIpv6PatternIpv6Counter) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternIpv6PatternIpv6Counter) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *patternIpv6PatternIpv6Counter) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternIpv6PatternIpv6Counter) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *patternIpv6PatternIpv6Counter) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *patternIpv6PatternIpv6Counter) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *patternIpv6PatternIpv6Counter) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *patternIpv6PatternIpv6Counter) Clone() (PatternIpv6PatternIpv6Counter, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewPatternIpv6PatternIpv6Counter() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// PatternIpv6PatternIpv6Counter is ipv6 counter pattern +type PatternIpv6PatternIpv6Counter interface { + Validation + // Msg marshals PatternIpv6PatternIpv6Counter to protobuf object *sanity.PatternIpv6PatternIpv6Counter + // and doesn't set defaults + Msg() *sanity.PatternIpv6PatternIpv6Counter + // SetMsg unmarshals PatternIpv6PatternIpv6Counter from protobuf object *sanity.PatternIpv6PatternIpv6Counter + // and doesn't set defaults + SetMsg(*sanity.PatternIpv6PatternIpv6Counter) PatternIpv6PatternIpv6Counter + // ToProto marshals PatternIpv6PatternIpv6Counter to protobuf object *sanity.PatternIpv6PatternIpv6Counter + ToProto() (*sanity.PatternIpv6PatternIpv6Counter, error) + // ToPbText marshals PatternIpv6PatternIpv6Counter to protobuf text + ToPbText() (string, error) + // ToYaml marshals PatternIpv6PatternIpv6Counter to YAML text + ToYaml() (string, error) + // ToJson marshals PatternIpv6PatternIpv6Counter to JSON text + ToJson() (string, error) + // FromProto unmarshals PatternIpv6PatternIpv6Counter from protobuf object *sanity.PatternIpv6PatternIpv6Counter + FromProto(msg *sanity.PatternIpv6PatternIpv6Counter) (PatternIpv6PatternIpv6Counter, error) + // FromPbText unmarshals PatternIpv6PatternIpv6Counter from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PatternIpv6PatternIpv6Counter from YAML text + FromYaml(value string) error + // FromJson unmarshals PatternIpv6PatternIpv6Counter from JSON text + FromJson(value string) error + // Validate validates PatternIpv6PatternIpv6Counter + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (PatternIpv6PatternIpv6Counter, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Start returns string, set in PatternIpv6PatternIpv6Counter. + Start() string + // SetStart assigns string provided by user to PatternIpv6PatternIpv6Counter + SetStart(value string) PatternIpv6PatternIpv6Counter + // HasStart checks if Start has been set in PatternIpv6PatternIpv6Counter + HasStart() bool + // Step returns string, set in PatternIpv6PatternIpv6Counter. + Step() string + // SetStep assigns string provided by user to PatternIpv6PatternIpv6Counter + SetStep(value string) PatternIpv6PatternIpv6Counter + // HasStep checks if Step has been set in PatternIpv6PatternIpv6Counter + HasStep() bool + // Count returns uint32, set in PatternIpv6PatternIpv6Counter. + Count() uint32 + // SetCount assigns uint32 provided by user to PatternIpv6PatternIpv6Counter + SetCount(value uint32) PatternIpv6PatternIpv6Counter + // HasCount checks if Count has been set in PatternIpv6PatternIpv6Counter + HasCount() bool +} + +// description is TBD +// Start returns a string +func (obj *patternIpv6PatternIpv6Counter) Start() string { + + return *obj.obj.Start + +} + +// description is TBD +// Start returns a string +func (obj *patternIpv6PatternIpv6Counter) HasStart() bool { + return obj.obj.Start != nil +} + +// description is TBD +// SetStart sets the string value in the PatternIpv6PatternIpv6Counter object +func (obj *patternIpv6PatternIpv6Counter) SetStart(value string) PatternIpv6PatternIpv6Counter { + + obj.obj.Start = &value + return obj +} + +// description is TBD +// Step returns a string +func (obj *patternIpv6PatternIpv6Counter) Step() string { + + return *obj.obj.Step + +} + +// description is TBD +// Step returns a string +func (obj *patternIpv6PatternIpv6Counter) HasStep() bool { + return obj.obj.Step != nil +} + +// description is TBD +// SetStep sets the string value in the PatternIpv6PatternIpv6Counter object +func (obj *patternIpv6PatternIpv6Counter) SetStep(value string) PatternIpv6PatternIpv6Counter { + + obj.obj.Step = &value + return obj +} + +// description is TBD +// Count returns a uint32 +func (obj *patternIpv6PatternIpv6Counter) Count() uint32 { + + return *obj.obj.Count + +} + +// description is TBD +// Count returns a uint32 +func (obj *patternIpv6PatternIpv6Counter) HasCount() bool { + return obj.obj.Count != nil +} + +// description is TBD +// SetCount sets the uint32 value in the PatternIpv6PatternIpv6Counter object +func (obj *patternIpv6PatternIpv6Counter) SetCount(value uint32) PatternIpv6PatternIpv6Counter { + + obj.obj.Count = &value + return obj +} + +func (obj *patternIpv6PatternIpv6Counter) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Start != nil { + + err := obj.validateIpv6(obj.Start()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternIpv6PatternIpv6Counter.Start")) + } + + } + + if obj.obj.Step != nil { + + err := obj.validateIpv6(obj.Step()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternIpv6PatternIpv6Counter.Step")) + } + + } + +} + +func (obj *patternIpv6PatternIpv6Counter) setDefault() { + if obj.obj.Start == nil { + obj.SetStart("::") + } + if obj.obj.Step == nil { + obj.SetStep("::1") + } + if obj.obj.Count == nil { + obj.SetCount(1) + } + +} + +// ***** PatternMacPatternMacCounter ***** +type patternMacPatternMacCounter struct { + validation + obj *sanity.PatternMacPatternMacCounter +} + +func NewPatternMacPatternMacCounter() PatternMacPatternMacCounter { + obj := patternMacPatternMacCounter{obj: &sanity.PatternMacPatternMacCounter{}} + obj.setDefault() + return &obj +} + +func (obj *patternMacPatternMacCounter) Msg() *sanity.PatternMacPatternMacCounter { + return obj.obj +} + +func (obj *patternMacPatternMacCounter) SetMsg(msg *sanity.PatternMacPatternMacCounter) PatternMacPatternMacCounter { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *patternMacPatternMacCounter) ToProto() (*sanity.PatternMacPatternMacCounter, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *patternMacPatternMacCounter) FromProto(msg *sanity.PatternMacPatternMacCounter) (PatternMacPatternMacCounter, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *patternMacPatternMacCounter) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *patternMacPatternMacCounter) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *patternMacPatternMacCounter) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternMacPatternMacCounter) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *patternMacPatternMacCounter) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternMacPatternMacCounter) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *patternMacPatternMacCounter) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *patternMacPatternMacCounter) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *patternMacPatternMacCounter) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *patternMacPatternMacCounter) Clone() (PatternMacPatternMacCounter, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewPatternMacPatternMacCounter() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// PatternMacPatternMacCounter is mac counter pattern +type PatternMacPatternMacCounter interface { + Validation + // Msg marshals PatternMacPatternMacCounter to protobuf object *sanity.PatternMacPatternMacCounter + // and doesn't set defaults + Msg() *sanity.PatternMacPatternMacCounter + // SetMsg unmarshals PatternMacPatternMacCounter from protobuf object *sanity.PatternMacPatternMacCounter + // and doesn't set defaults + SetMsg(*sanity.PatternMacPatternMacCounter) PatternMacPatternMacCounter + // ToProto marshals PatternMacPatternMacCounter to protobuf object *sanity.PatternMacPatternMacCounter + ToProto() (*sanity.PatternMacPatternMacCounter, error) + // ToPbText marshals PatternMacPatternMacCounter to protobuf text + ToPbText() (string, error) + // ToYaml marshals PatternMacPatternMacCounter to YAML text + ToYaml() (string, error) + // ToJson marshals PatternMacPatternMacCounter to JSON text + ToJson() (string, error) + // FromProto unmarshals PatternMacPatternMacCounter from protobuf object *sanity.PatternMacPatternMacCounter + FromProto(msg *sanity.PatternMacPatternMacCounter) (PatternMacPatternMacCounter, error) + // FromPbText unmarshals PatternMacPatternMacCounter from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PatternMacPatternMacCounter from YAML text + FromYaml(value string) error + // FromJson unmarshals PatternMacPatternMacCounter from JSON text + FromJson(value string) error + // Validate validates PatternMacPatternMacCounter + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (PatternMacPatternMacCounter, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Start returns string, set in PatternMacPatternMacCounter. + Start() string + // SetStart assigns string provided by user to PatternMacPatternMacCounter + SetStart(value string) PatternMacPatternMacCounter + // HasStart checks if Start has been set in PatternMacPatternMacCounter + HasStart() bool + // Step returns string, set in PatternMacPatternMacCounter. + Step() string + // SetStep assigns string provided by user to PatternMacPatternMacCounter + SetStep(value string) PatternMacPatternMacCounter + // HasStep checks if Step has been set in PatternMacPatternMacCounter + HasStep() bool + // Count returns uint32, set in PatternMacPatternMacCounter. + Count() uint32 + // SetCount assigns uint32 provided by user to PatternMacPatternMacCounter + SetCount(value uint32) PatternMacPatternMacCounter + // HasCount checks if Count has been set in PatternMacPatternMacCounter + HasCount() bool +} + +// description is TBD +// Start returns a string +func (obj *patternMacPatternMacCounter) Start() string { + + return *obj.obj.Start + +} + +// description is TBD +// Start returns a string +func (obj *patternMacPatternMacCounter) HasStart() bool { + return obj.obj.Start != nil +} + +// description is TBD +// SetStart sets the string value in the PatternMacPatternMacCounter object +func (obj *patternMacPatternMacCounter) SetStart(value string) PatternMacPatternMacCounter { + + obj.obj.Start = &value + return obj +} + +// description is TBD +// Step returns a string +func (obj *patternMacPatternMacCounter) Step() string { + + return *obj.obj.Step + +} + +// description is TBD +// Step returns a string +func (obj *patternMacPatternMacCounter) HasStep() bool { + return obj.obj.Step != nil +} + +// description is TBD +// SetStep sets the string value in the PatternMacPatternMacCounter object +func (obj *patternMacPatternMacCounter) SetStep(value string) PatternMacPatternMacCounter { + + obj.obj.Step = &value + return obj +} + +// description is TBD +// Count returns a uint32 +func (obj *patternMacPatternMacCounter) Count() uint32 { + + return *obj.obj.Count + +} + +// description is TBD +// Count returns a uint32 +func (obj *patternMacPatternMacCounter) HasCount() bool { + return obj.obj.Count != nil +} + +// description is TBD +// SetCount sets the uint32 value in the PatternMacPatternMacCounter object +func (obj *patternMacPatternMacCounter) SetCount(value uint32) PatternMacPatternMacCounter { + + obj.obj.Count = &value + return obj +} + +func (obj *patternMacPatternMacCounter) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Start != nil { + + err := obj.validateMac(obj.Start()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternMacPatternMacCounter.Start")) + } + + } + + if obj.obj.Step != nil { + + err := obj.validateMac(obj.Step()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternMacPatternMacCounter.Step")) + } + + } + +} + +func (obj *patternMacPatternMacCounter) setDefault() { + if obj.obj.Start == nil { + obj.SetStart("00:00:00:00:00:00") + } + if obj.obj.Step == nil { + obj.SetStep("00:00:00:00:00:01") + } + if obj.obj.Count == nil { + obj.SetCount(1) + } + +} + +// ***** PatternIntegerPatternIntegerCounter ***** +type patternIntegerPatternIntegerCounter struct { + validation + obj *sanity.PatternIntegerPatternIntegerCounter +} + +func NewPatternIntegerPatternIntegerCounter() PatternIntegerPatternIntegerCounter { + obj := patternIntegerPatternIntegerCounter{obj: &sanity.PatternIntegerPatternIntegerCounter{}} + obj.setDefault() + return &obj +} + +func (obj *patternIntegerPatternIntegerCounter) Msg() *sanity.PatternIntegerPatternIntegerCounter { + return obj.obj +} + +func (obj *patternIntegerPatternIntegerCounter) SetMsg(msg *sanity.PatternIntegerPatternIntegerCounter) PatternIntegerPatternIntegerCounter { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *patternIntegerPatternIntegerCounter) ToProto() (*sanity.PatternIntegerPatternIntegerCounter, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *patternIntegerPatternIntegerCounter) FromProto(msg *sanity.PatternIntegerPatternIntegerCounter) (PatternIntegerPatternIntegerCounter, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *patternIntegerPatternIntegerCounter) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *patternIntegerPatternIntegerCounter) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *patternIntegerPatternIntegerCounter) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternIntegerPatternIntegerCounter) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *patternIntegerPatternIntegerCounter) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternIntegerPatternIntegerCounter) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *patternIntegerPatternIntegerCounter) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *patternIntegerPatternIntegerCounter) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *patternIntegerPatternIntegerCounter) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *patternIntegerPatternIntegerCounter) Clone() (PatternIntegerPatternIntegerCounter, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewPatternIntegerPatternIntegerCounter() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// PatternIntegerPatternIntegerCounter is integer counter pattern +type PatternIntegerPatternIntegerCounter interface { + Validation + // Msg marshals PatternIntegerPatternIntegerCounter to protobuf object *sanity.PatternIntegerPatternIntegerCounter + // and doesn't set defaults + Msg() *sanity.PatternIntegerPatternIntegerCounter + // SetMsg unmarshals PatternIntegerPatternIntegerCounter from protobuf object *sanity.PatternIntegerPatternIntegerCounter + // and doesn't set defaults + SetMsg(*sanity.PatternIntegerPatternIntegerCounter) PatternIntegerPatternIntegerCounter + // ToProto marshals PatternIntegerPatternIntegerCounter to protobuf object *sanity.PatternIntegerPatternIntegerCounter + ToProto() (*sanity.PatternIntegerPatternIntegerCounter, error) + // ToPbText marshals PatternIntegerPatternIntegerCounter to protobuf text + ToPbText() (string, error) + // ToYaml marshals PatternIntegerPatternIntegerCounter to YAML text + ToYaml() (string, error) + // ToJson marshals PatternIntegerPatternIntegerCounter to JSON text + ToJson() (string, error) + // FromProto unmarshals PatternIntegerPatternIntegerCounter from protobuf object *sanity.PatternIntegerPatternIntegerCounter + FromProto(msg *sanity.PatternIntegerPatternIntegerCounter) (PatternIntegerPatternIntegerCounter, error) + // FromPbText unmarshals PatternIntegerPatternIntegerCounter from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PatternIntegerPatternIntegerCounter from YAML text + FromYaml(value string) error + // FromJson unmarshals PatternIntegerPatternIntegerCounter from JSON text + FromJson(value string) error + // Validate validates PatternIntegerPatternIntegerCounter + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (PatternIntegerPatternIntegerCounter, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Start returns uint32, set in PatternIntegerPatternIntegerCounter. + Start() uint32 + // SetStart assigns uint32 provided by user to PatternIntegerPatternIntegerCounter + SetStart(value uint32) PatternIntegerPatternIntegerCounter + // HasStart checks if Start has been set in PatternIntegerPatternIntegerCounter + HasStart() bool + // Step returns uint32, set in PatternIntegerPatternIntegerCounter. + Step() uint32 + // SetStep assigns uint32 provided by user to PatternIntegerPatternIntegerCounter + SetStep(value uint32) PatternIntegerPatternIntegerCounter + // HasStep checks if Step has been set in PatternIntegerPatternIntegerCounter + HasStep() bool + // Count returns uint32, set in PatternIntegerPatternIntegerCounter. + Count() uint32 + // SetCount assigns uint32 provided by user to PatternIntegerPatternIntegerCounter + SetCount(value uint32) PatternIntegerPatternIntegerCounter + // HasCount checks if Count has been set in PatternIntegerPatternIntegerCounter + HasCount() bool +} + +// description is TBD +// Start returns a uint32 +func (obj *patternIntegerPatternIntegerCounter) Start() uint32 { + + return *obj.obj.Start + +} + +// description is TBD +// Start returns a uint32 +func (obj *patternIntegerPatternIntegerCounter) HasStart() bool { + return obj.obj.Start != nil +} + +// description is TBD +// SetStart sets the uint32 value in the PatternIntegerPatternIntegerCounter object +func (obj *patternIntegerPatternIntegerCounter) SetStart(value uint32) PatternIntegerPatternIntegerCounter { + + obj.obj.Start = &value + return obj +} + +// description is TBD +// Step returns a uint32 +func (obj *patternIntegerPatternIntegerCounter) Step() uint32 { + + return *obj.obj.Step + +} + +// description is TBD +// Step returns a uint32 +func (obj *patternIntegerPatternIntegerCounter) HasStep() bool { + return obj.obj.Step != nil +} + +// description is TBD +// SetStep sets the uint32 value in the PatternIntegerPatternIntegerCounter object +func (obj *patternIntegerPatternIntegerCounter) SetStep(value uint32) PatternIntegerPatternIntegerCounter { + + obj.obj.Step = &value + return obj +} + +// description is TBD +// Count returns a uint32 +func (obj *patternIntegerPatternIntegerCounter) Count() uint32 { + + return *obj.obj.Count + +} + +// description is TBD +// Count returns a uint32 +func (obj *patternIntegerPatternIntegerCounter) HasCount() bool { + return obj.obj.Count != nil +} + +// description is TBD +// SetCount sets the uint32 value in the PatternIntegerPatternIntegerCounter object +func (obj *patternIntegerPatternIntegerCounter) SetCount(value uint32) PatternIntegerPatternIntegerCounter { + + obj.obj.Count = &value + return obj +} + +func (obj *patternIntegerPatternIntegerCounter) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Start != nil { + + if *obj.obj.Start > 255 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("0 <= PatternIntegerPatternIntegerCounter.Start <= 255 but Got %d", *obj.obj.Start)) + } + + } + + if obj.obj.Step != nil { + + if *obj.obj.Step > 255 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("0 <= PatternIntegerPatternIntegerCounter.Step <= 255 but Got %d", *obj.obj.Step)) + } + + } + + if obj.obj.Count != nil { + + if *obj.obj.Count > 255 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("0 <= PatternIntegerPatternIntegerCounter.Count <= 255 but Got %d", *obj.obj.Count)) + } + + } + +} + +func (obj *patternIntegerPatternIntegerCounter) setDefault() { + if obj.obj.Start == nil { + obj.SetStart(0) + } + if obj.obj.Step == nil { + obj.SetStep(1) + } + if obj.obj.Count == nil { + obj.SetCount(1) + } + +} + +// ***** RequiredChoiceIntermeLeaf ***** +type requiredChoiceIntermeLeaf struct { + validation + obj *sanity.RequiredChoiceIntermeLeaf +} + +func NewRequiredChoiceIntermeLeaf() RequiredChoiceIntermeLeaf { + obj := requiredChoiceIntermeLeaf{obj: &sanity.RequiredChoiceIntermeLeaf{}} + obj.setDefault() + return &obj +} + +func (obj *requiredChoiceIntermeLeaf) Msg() *sanity.RequiredChoiceIntermeLeaf { + return obj.obj +} + +func (obj *requiredChoiceIntermeLeaf) SetMsg(msg *sanity.RequiredChoiceIntermeLeaf) RequiredChoiceIntermeLeaf { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *requiredChoiceIntermeLeaf) ToProto() (*sanity.RequiredChoiceIntermeLeaf, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *requiredChoiceIntermeLeaf) FromProto(msg *sanity.RequiredChoiceIntermeLeaf) (RequiredChoiceIntermeLeaf, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *requiredChoiceIntermeLeaf) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *requiredChoiceIntermeLeaf) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *requiredChoiceIntermeLeaf) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *requiredChoiceIntermeLeaf) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *requiredChoiceIntermeLeaf) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *requiredChoiceIntermeLeaf) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *requiredChoiceIntermeLeaf) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *requiredChoiceIntermeLeaf) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *requiredChoiceIntermeLeaf) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *requiredChoiceIntermeLeaf) Clone() (RequiredChoiceIntermeLeaf, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewRequiredChoiceIntermeLeaf() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// RequiredChoiceIntermeLeaf is description is TBD +type RequiredChoiceIntermeLeaf interface { + Validation + // Msg marshals RequiredChoiceIntermeLeaf to protobuf object *sanity.RequiredChoiceIntermeLeaf + // and doesn't set defaults + Msg() *sanity.RequiredChoiceIntermeLeaf + // SetMsg unmarshals RequiredChoiceIntermeLeaf from protobuf object *sanity.RequiredChoiceIntermeLeaf + // and doesn't set defaults + SetMsg(*sanity.RequiredChoiceIntermeLeaf) RequiredChoiceIntermeLeaf + // ToProto marshals RequiredChoiceIntermeLeaf to protobuf object *sanity.RequiredChoiceIntermeLeaf + ToProto() (*sanity.RequiredChoiceIntermeLeaf, error) + // ToPbText marshals RequiredChoiceIntermeLeaf to protobuf text + ToPbText() (string, error) + // ToYaml marshals RequiredChoiceIntermeLeaf to YAML text + ToYaml() (string, error) + // ToJson marshals RequiredChoiceIntermeLeaf to JSON text + ToJson() (string, error) + // FromProto unmarshals RequiredChoiceIntermeLeaf from protobuf object *sanity.RequiredChoiceIntermeLeaf + FromProto(msg *sanity.RequiredChoiceIntermeLeaf) (RequiredChoiceIntermeLeaf, error) + // FromPbText unmarshals RequiredChoiceIntermeLeaf from protobuf text + FromPbText(value string) error + // FromYaml unmarshals RequiredChoiceIntermeLeaf from YAML text + FromYaml(value string) error + // FromJson unmarshals RequiredChoiceIntermeLeaf from JSON text + FromJson(value string) error + // Validate validates RequiredChoiceIntermeLeaf + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (RequiredChoiceIntermeLeaf, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Name returns string, set in RequiredChoiceIntermeLeaf. + Name() string + // SetName assigns string provided by user to RequiredChoiceIntermeLeaf + SetName(value string) RequiredChoiceIntermeLeaf + // HasName checks if Name has been set in RequiredChoiceIntermeLeaf + HasName() bool +} + +// description is TBD +// Name returns a string +func (obj *requiredChoiceIntermeLeaf) Name() string { + + return *obj.obj.Name + +} + +// description is TBD +// Name returns a string +func (obj *requiredChoiceIntermeLeaf) HasName() bool { + return obj.obj.Name != nil +} + +// description is TBD +// SetName sets the string value in the RequiredChoiceIntermeLeaf object +func (obj *requiredChoiceIntermeLeaf) SetName(value string) RequiredChoiceIntermeLeaf { + + obj.obj.Name = &value + return obj +} + +func (obj *requiredChoiceIntermeLeaf) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + +} + +func (obj *requiredChoiceIntermeLeaf) setDefault() { + +} diff --git a/artifacts/sanity/__pycache__/__init__.cpython-310.pyc b/artifacts/sanity/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1a450ae1f500f08c23dea5ccfea73b2a84917426 GIT binary patch literal 2492 zcmc)L*;XS}6b9gg0GUI8FwZk#NSJ4^5gSFpW;JLpw->DH8ZUhS-@{kx zE7$VMSMWyvy;G!uqF&1I^PRI#?JDY2R@up9EP$_{5`Pqbj06I|@}Tjn34<5-b$)@0 zfnu-}CY=pDJ^b?+o@gL0e4V`xD)QAPH_g#P)6JZ zcTtzP8}6oVaSz->J>p)tmwLs0a3A%F`{91-7Z1P#G$0;?2We0|1P{@Wco-h0Vetq& zLL=f)c$7xPWAGS_iO1n_8W&H%6Eq>7gePfIJOxkDlz1ARrfKmEJVP_$S$LLa#aTE@ zS@9e^M|0wNc%J6P3-AIhh!^2SS`_Et9OcA$I8S-;61+r9;$?W5mc=XZ3ayA&;Z<4{ zufc1yCSHfvX$hrB{~1u{B@b+i*oP2c2!PsW>`hT<@xwYO z9-kJx5gJbXTitKmc66%>@0@Dc?>y}BFO|n3dZ$i}2c?%!lu}zuEAKHAKCAEGn0I*N zgY%g(ib^+h7=32ZVb!&dO;svhDu;A~Ar`{OaGOe3WlxvtJ z2R*uu>~h(*UMr_!TaLP@77EJYLi(^`@@AY^m8$!(U3|b?$A!{&xLJp93ustAHD#|- zPiOzW&O3SdYo#62<_~8G&G9FCsSOJ!)_gNVM#cOxd+?#vF)Y)4(EQTXA&zE_7LHbq zFb7`K0UhPwSGSIHBsh{BDULRdG)Fr}2S+DIhNFw4o1=%Lm!prPpJRYykYk8rm}7)v zlw*uzoMVDxl4FWvnq!7zmLtnC$1%^bz_G}YiCww6%2ggdME1&dv073G{GM=rKqLZ*;Q#TR4*m%;9gh3} literal 0 HcmV?d00001 diff --git a/artifacts/sanity/__pycache__/sanity.cpython-310.pyc b/artifacts/sanity/__pycache__/sanity.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..30e99a268a4971b857bb3ae61ad597bac5d83a5e GIT binary patch literal 150956 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 Y{H@1tSKzlJh2g@uyuYpK^@~UU57kKk literal 0 HcmV?d00001 diff --git a/artifacts/sanity/__pycache__/sanity_pb2.cpython-310.pyc b/artifacts/sanity/__pycache__/sanity_pb2.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5b26c0451957da0faf3f85950c216735fda28240 GIT binary patch literal 18969 zcmeHPdvIJ=dDrT_N3YeDA1hry*G_E5wrs5(IUx^cC9R~j^~y@J;|+A`p)CtO}?v(HQ;}5@BAPB!6zFU{+1rR|7*d+J@~iyS75v$ z)xZP1F&9{AOf?0FH|3gFT2if&H-opO+9huR52je4L9k~!o^42VLberYU8!!F-v-{3 z3L(Fp@}KGD?au~MmS}pWPgr8p6AjNcBCqM0&BEeA`Hb>J>%}dcU21$sW8t58hp?Qj zyb~DaU83I^;N3u*_lRxaA)w8B#ddHDX!Aa?1AG(E=9|S%$#;Tp5xc;*0&N}^yTSW` zHXjfX$s^#l*aN-|X!Gr2ujG5dcZi$7cLHs`OWX{;8));0*ayA`X!E^dKln{Ro8K%B zfbRp^e80E_`~cAAw}^w19|S)r4uKy6Qdx(=w*hT_SPX&>0&RXo905NHwE2)Y3LXX8 z{FoS$dYqh+*(Mfi}NOoRItk_}$_* z@RLBB-y?1Zj{$8yB3=PL3bgr{xC1;6wE4KW6MO<_^GR_RcminiQ{ry$(?FX~iIb9_ z1fLf7fX@JJJ}YA2b3mKlD@G(A0Z)oi@Ohxk7sMF&BGBe%L>&Aq(B}7vaqx3Mo2SHt zu43&EF^-@HYW%{*-tX_?v+?e~U;d;|S^;13_!IU!a>Azc!D*IFT8%4hPqT}$QVWl`9b$#XII zA}tOF0_$x{n}N_l$fsXRGr`FxI&idR>b@;Qg6OX;O_Q6QHquH_b);fPNen$Crq zM%q}5L#{-g=wqF81+koccr?GdoIP*tXFUb+P&r$`?9DG-6q%BAz9ZV>x;rbAt;4J* zzed*6IU`9G+bF3jG{CyD0>R+6qfuw*p{1p86NK9*160{ftgX0~&Io5H+)OPs*+{87 znYCQbVNjIUa+q5~M~^xyOW_s>G)*>J$6RQNYn5*Ai^Ecuh9rC zs!D<7aHn5jT(#$9D+vs+!1-_&%JW#5&<)4_1h%uyxoolIadsetisTBnc3r?rD^G1)ZE z&LgPm*4u>q7HcnS$%)G%7v3z(2${y5qQu!%G1)|?=|^eP5zzHl|X#qZ6u%n*~E zBsj=Avul@+J8S6@4eIb#DcfhPCXhF$vL?GK^24rtc!T_~k?$t?L#$&ZopHtcrMP9x zPp30Rx`(8XvmR4voICCwi&71kbm=i#K(Fjbn|Oa;))FBP1eSPk!n zf#Bp8O6_IA3z+f6Ts9-Z5jnobSx>rL$~%a5IqsAMT-hT_+<%P{W6&5Ug$2k@ZdIn6 zSJNvZyjPYMrlg&$^@^(8O(@DU@y@!Fr}beaaI;?^r3KK;kCk&=RQ4c@ zv{?PDv+Pwm0;R6W?WEMtdUcjZ>nOCkjMgyCc`9lMTFsL?JX*-|XhosbjHnfo!^T_Q zG3n$^(nL`6WP7xalcxh2)^660$k}=eFIL)ODP1ZTo#@e{YUS0>$MM`qE3x~0Jk;cQ zz7_e+11DIUUPK~?>Xp%gl~6Yjad;%T((U3SN2Ity zBC0MP5wpFg7QVqzhk{h)E>h*H>x5icCuByx8(^Jk80*n-t2@IKOg6D`y;mrs|xQ4vv_=gUhuA){hI9ceKiusnJLA7(Wzsq%muRFO|5 z4Xg93IyXWOJ7#%|RRK<}JYFZ|N~m2^ZAlKv!KK`gg9?SqFhE5bGAwgoKJo@kA$@MZ z&b>w(;9A08eOya;YmUv2uhJC2-1^dONu{d#N!OAD-3mr_!wq#B#L1=GU7J0f5xIqR zF0SDqDfGRDJXq5ej%S4EwIcGR0PCI>IMil}v`5BS!8%bjkKBs|zud-|gubC07;lV2 z5-q5*?}IAHVVbH5897*Qmb5EFm?U7N?~ep@gF^+$PNM9{m#K49E$WA6EwIt=-K>So z72!Cwk$cpgL!wf$AVLKdQ4ycWI1-fz_Ohm4hwIe~Q(hLNXFnPA)hu!kW1d2Nn;tqC zmL7JNvH!=l49#PCRxG$lwDbkYLd7Qth6MuM*Ew6u&Z12+&`H*G8h4PA+?jdBA@VZfLsMuu8_pSRf9v^4TIgwu0ONo26R@2@T1my}laNHeUxJs?NX;XUx%o-{I zV~ciPv=N{wLrIYntiNtS?k=hl)1@K}p~xlHZtkn(h1QU>Hl(jd{TEsbSMq8(xCz%@ zkc!H|+7azF4JXZv=gS3IF?FCKYc7jo*RBeKEi7{_Ih?UgVeagdW)?0KgpkE4Z4yNM zW0gz`>rd{O(N}vzB}<8sJ6O>5N7f5xY*UoKUUX4M{il>kERtXyiOOx8HKb#>T8wv? z`s(W-k0eoLi~5D)zBXkp;(Us=hon(K@Cawa2+MY?Z8=q#qst9KH5D3E758N)6V zTg%dgSz>jqTpG#qtGLVQDCSp$zWDVV|KtJKlNEUeOX<8QT*lp1Y$=l{i4}RpN6K05 zQLHxUITFCdwRGtM$*Yr$d>Me$9NjoLQMp|T%I%Um-7DkOuE;!XNOG-?(Qf%YoWi}P zg^8Mlx9Sy6N7TKz^@~RSxsmPG9ajHp(>hfZFK?~t$oi_@uqpf1nq$H9=7pP#BHhv3 zZrq&vu1=kX<=Yl)JTv8DDZe7yx9f(FU3kOfdZHE;Wd;Z16D;VKgwRtbHX|hC)tf$1 zFQvI}-IsScu6=drkzPg~53qeT+C1jH+#SuAX-%U*hs!qXzi4)LsTRckt5_0ivhljq zQ4L}l((tr^3~5qV#(UC`Nm4HI$4zY4^?a}rRo#C48vW$+eq*o0LHYW`>ooSx`jrZ8 zz`AIqqMIZ+A5<^mULN=OnSxls)vi1-bVQHbs1v#g)j0%)xG;w3J=x1JME5oWuX2~{ zGxdfAc7(EC>JX@^h4yvJiYEJ}UZg`}--2z5>5ldBuK z!nW%^ty-6AjwXGj;vG%;65}P0rYD=&mf9s-C#%NLEmhrD<>_@sj&{&La)Q=fo(7d? z&5r0z*Dl8l4jGG~?lz(xWjCl!mwN+e+#xab5{Jag7zlJh?GB!6^}lyB@qgR@-jZ*m z|Gn}*%KrD3^D_FsmimuZ|CgDqXQ6Ko_@nOq4>Yk&waUe`H237RdUZ$L!(}b$m)G;& zHACG+SlIo$6GYGEJypS=R`aNJ0?L(8pw@{SQvR`D8(zcqm% ze4D?P#p`T*W_nqrRi7#OB{#=&ro;g@y|(7&RL+&^eQcFYb(E}FlFuG}93k8FM}S4^ z2= zGT^=1F5_EFG>*qqSzdhCG38ao?Q^fk7xgKfx>8r%S-Of(ZKOAykyFg}D!b)swU<~`Y@8)r+Gx+iChSyS>O{`5t*ChdAGx1}I7M}Vq^)i@R%_leVOaH# zl~-1-8c*pq$#8lFQM>kP;xuebEdaS4}shspu#-WQJ^?jGR z(;G0g^I!hZJrO3~X0+NozJJUKGV0nq%0ksPbz{}LOPXc2&y>7_js5@z)nL}a(zS!Z z?2VP4_g`8v`t>%}HoGQPF^a5vSkR3KmOFUdBt7N^`YTQ3hBDo_53;@*VZw6Xa@5E) zR^6>*O&NDg;I2s*YHb-*A9Jg(xAD36V4OY@ulVPRy6rK_7!vhFw%m$T(u_CmFz{w+ zCq`HYQq8Qb>qg~Emx{3K$T;ir&HcJoDzmL-s5r%X;EQ)6*R{0MbX%2z>(dPD-7s_O zT6169Y*2CSEwWJcOKh0fe-oP_ zcKa5Bf(PyUnlqzf^A{I4uT~DPViZR z&k@-Dfb9fl2<{_z7r}c7P7DBUCnynIA^4^Zm?d~C!8wAr5j;=uK7wx%;8O(uPVhZ~(F1@u!5Tq<;IjmuBltc+!!3X@f^mXJ2_7SO zp5QA4-zNAD!O4Sw7{U7po+fyK;Hw0C4gqc=C=*;E_yWNf33?9$`UnyPQv}eAHd0So{pgDX z*L!0ezwj(%@w=u+1Ru}l#5x;`&yOY(a|^S{^&KPhgR^P%dNa1l=>vf=w^GIRw)46C zQaV@Ef(!XIPcG!OW^vte7U$#6s8g{$kM>iaS{K**9PIP74<<3y<;0W8+2mM!A(oh$ zU+?wG$d^j%J>Dd-%2Peg*;sNWF*Bi+Qmx8Hszd#CPA6u@QX$WS6Q5a}Mp1Lg_;}*J z(b<{t#6)U~@6k!d=jUc;=Hn^5cDk~$*`GOfCN{MgpHB_cOjauG&e_?KQ}NM-RJ)UM z**VR6oT=EkcycHakH_)zllvev;bv*(j84ubM&qeXCQBzM`yFoT#5ihgbSB14@o~4% zao4hD70dnvqk76!(5#~1Pf!Y7I$LXP@;w^W{#vP~z|*d;Q!bmXu-MF4Y$1-GT%04K zd$PxwjxQt=qw~r5z37bvbge(Z6m8c|H-&2@3^2`%-lnPqrO@Hb%_bL=D8}CS)a+UP zuoRKBjtZE|!eXETp#8Og4q=zE-X((XJ9n%q+x{)A6wcHA>_fnWl_=*OyTx z4b&E#ipR!NL1!v{CO$Pg6E}3>>?|5UrY=k-l-ueaQM2$ zw50NKhY|OT6r#qrt#$HK^%RXCd+I3GE!~Vvls;UmbZ@?|bZW3DWUHWCDrO$L z!KpZ9xar&c>2h(3y1BCEx^LXXc4u}jK7*CyqYVX|eH47}fg>02q1=%|c@_Wlh9g(< zg-b{B>dp_JOVy!trCdBRI7t78RCYO?!LzzP(0^!SKDc&uz5ULWJTK?O-M9nvg|swW!JKkshSpsxht6pNiYl0 zjxRPl}(j^S3nZAN0`uG4XH?m-llNOxx0!&WyUgrQ@Ee8;#Uf zTG#e7QaZAgc~fhSr8S=2Th=xDgFIa~8$fjJ$68aruU*pE2+Mq=u?)|BnA*zYIm=8u zoASB9axDLmwpE0@z>1I;rM$$9O|4SeUtg=&c+CbK*)?r~vN>yGDf&#JmYaIfVy zS*^Ka`L5LxuJ7JyZ@Ths&Eq!8OcZ+cKEGm0|`B)2eOy?K^)zqifm)?o~yt<=5P% z)u?$MajT)~GG6!cc?+M5uCSbX-MVpo&9h>zXyf0ld2*8A{DO7<`ekb~obl!luHCwF zf#!Fw#<=zR=Cuvkk>D+80P1n%aPGEsdtC@u+_oCr^PC-SIUY1;aS~ddFNjPV8nd>Y zTD>hW3U7LC63hOYPJ>(Mg*V#`sJH3)PSf|S=W3{NhY@toskeE>+D3o3->x;;ZDQ5p z!r!w%KB6N#lM~`rFGq<~NxAWd>La+;aCvV)fgODpX5{O;#%>B_dUu2wAE!E+oskI1 zvJx>Bl9Nc<&+ir_QdCGuA|v?Ds6@sTQkF)D6B5ZPWKtnh5-}Art&kHE$th$; zA+r+6gTb6+Ft3mWi4@d#PAX(kB1MIqQpl1-N(!+QvMiBNg`8H%88!w}E$?4mqZJkH zs_%-G&=ScS&x;-JtXvm*qEGd%(`@qkS?j#DBU;s!weWdGH9DAE4PTv=$of||xsTqr zYdaMqm=OG(HuroR?`zGe*Y>#xro%VY<2HlA#^QrB{r%i(F~{d&S8XB9`siSn;=vB) z`@aw9Du`g~BVeH<)Vn4W6=Z;YDQa_A-Z@8|1L;4$!A1wDbxX^Ai_G0)Z zW`AJyH@WV5y`3a6JYTP0_IV?LAt-Eudz}-0RC7J>6@HJ`Urtod8(etsO&gV`f=Yw%*B{U{QF{eZljjSbRGXYeIA`U~$dy^5ejaoG|6fU1v|)LUIyp?_#q+jgpW4&Q?4 zMy6y-7uebhOxvy@U9jzGic}w30AP2*l-C)f<` zqimMV;XcOZ*#homb`mjeF&K;Wfy4<}ln|6!R8uJ857p^f!}Zug(J>xqh|b719_l(h zrI}7Oe}w5D>L2J8WB(brGRik8z(r9Bd5!0`1tphtW6 zS2DeOloH!!Xx*QcQs<)#O!Nsz9fhRq9< zZ&neY*;xy-b3AUfakUWGkmJf6@i4DAp3cMt^ext@xIzWJ&S4=9@Dv`KxTFD&j>s9D z>7PMDkQh3b=iya6WZZoCvJRnm8uacH>uV^Esu$yg5ojo-6OvLROkWPIYRK?UW7PN6 z@bmq;L7!1P8#+G4B+t4ZrAWsn@GJ)Zg(9$!Kp+m7LmAA;Ao*W#s9^kGDh`YN9C~8! zP!_A6e0Qx&>o+Y#5bJ);ziZJxu1>odzb&v++iP+4+7DTvuYlLD6t|^*Zcuu6BJgB( zkKl`*yuqaWojyZIy$C|TQKXjpNgYWno=gkA;iX7v*RO58&eyXaq${8{2mqO zs5nmr#X3RZLXblii z=X>M@zqnhH^3fjo7}}Sme7r|Kq1sRO$fuNix<`IO$!B`xvr0bKBcI2(3v%3(J@Q4> z{#1{ANy)7q`LdFq?vbBS@~1*MGk#lo&+xSePqS3Vcxb$r>gW%i>7=%0p2jp}e(4SD z4W^=esOO9!m_()~cavS`5tY&xwwL|U-XoC8v*HpKIylv}skV{n*$C*!32mIAusRY_ zX{RU9Qp`{>PsJP+bkGf6Gh;N}5EcMd&>>Z9RR;?P(Czy2@Q$m_= zG*PdT-a^tFrr|+`YFunh9@U5!jP>=|^(xX^7%b8deG$O+U0P4{`ByaYDEOz1wA_xR zu^szzYMH;J*V20W^Rgj+3_?|0Jso)fi53#kNj4?XVj?=tPDr$r zh|aKCiH;_sb8KFsV~OYjJ1Nm}BD%;VnP|#G!YPK0$g1@)M8p;wo-I#&^UH_k*k}e`dfYF***htAaChgo8RSC|8|&y<4(n zVvokFIQ9<;RkuNB^>h*#jNW%}tbr4KTi}p?FUa~}h` zB9g3V?>LCHQeuIaBr8$I3duwUjDaL5u>4Swn21*rB;p<9Ko&bRI+l{`;duIx5o;h7 z3TkgDDwADQ)LwEZm(sDh$e1~h3x(B&;xZj`>D^NfWixtgHqWDFm=+{iI)(Q46`Pru z4Hl_q7dey<`LE-x6gjxTd?>;AMDd9amsXB$AO|vv-9VWbC0npeTcicc+-2ZWQI7LK zk(rH^b7ZqPkV|aGl(rvFJ2HhDNQknmKPW=ocC7Y_L%B>Gn~O~126CZ1@6U>hvSV0I z*N$;0o5^Fdk%{C$Hk51rO|elPyN6A*tsKf}>e!qpr5$X`uK@k0;?(T`-1m`2LbyZ?%x8s+~dS@}~z zTB(eNrvaBx$G$@TP`DERNGJ?Qg^bQAs!?DL3OHSNg)a}*u}zWxBP7VUcXoNzm%nw$ ujlIn0P9 literal 0 HcmV?d00001 diff --git a/artifacts/sanity/requirements.txt b/artifacts/sanity/requirements.txt index bc9b175a..d263fc70 100644 --- a/artifacts/sanity/requirements.txt +++ b/artifacts/sanity/requirements.txt @@ -1,11 +1,11 @@ --prefer-binary +grpcio-tools~=1.54.2 ; python_version > '3.6' grpcio~=1.35.0 ; python_version <= '3.6' -grpcio~=1.54.2 ; python_version > '3.6' grpcio-tools~=1.35.0 ; python_version <= '3.6' -grpcio-tools~=1.54.2 ; python_version > '3.6' -requests +grpcio~=1.54.2 ; python_version > '3.6' protobuf~=3.15.0 ; python_version <= '3.6' protobuf~=4.23.3 ; python_version > '3.6' PyYAML +requests semantic_version urllib3 From aa85db5bb2529c842d512dc5bf6dda4d009b0644 Mon Sep 17 00:00:00 2001 From: Github Actions Bot Date: Thu, 14 Sep 2023 15:54:11 +0000 Subject: [PATCH 11/27] Update auto generated go code --- .../__pycache__/__init__.cpython-310.pyc | Bin 2492 -> 2492 bytes .../sanity/__pycache__/sanity.cpython-310.pyc | Bin 150956 -> 151547 bytes .../__pycache__/sanity_pb2.cpython-310.pyc | Bin 18969 -> 18969 bytes .../sanity_pb2_grpc.cpython-310.pyc | Bin 9089 -> 9089 bytes artifacts/sanity/requirements.txt | 10 +++---- artifacts/sanity/sanity.py | 26 ++++++++++++++++-- 6 files changed, 28 insertions(+), 8 deletions(-) diff --git a/artifacts/sanity/__pycache__/__init__.cpython-310.pyc b/artifacts/sanity/__pycache__/__init__.cpython-310.pyc index 1a450ae1f500f08c23dea5ccfea73b2a84917426..1fb0a629522ea3fb3670fce5fe0511fa48c85d40 100644 GIT binary patch delta 21 bcmdlZyhoTPpO=@50SK&hm{T|MY~Ta{GiC&X delta 21 bcmdlZyhoTPpO=@50SNkd{-O9)SEiA=-Wb~2JbZyA9X{*i+O$C}M`{sQ2Cbi|*=K4#e z21n6Eww9K{L^fTig<(?=tJaMQC>3Kut2Wpq5PwYCAM=0PG;PwfiE8@`#@IQZlh#cG z!copW_uO-S=Xrg7<)Zh~7rmi;FzD0p^WYX;JhkV$q3?y*wGdppf9}sH6k3vTEeWT! z3C0u_!0?YslmRXoPm z&ua^x#@p84$Kxo8@=bg*uFZT4-->I?Y0aS}TgSBc*HvX3bg-DZu?;%sw322xIZ+p9 zNZlNedbnOLsF5^dVO+H}-%3&*#X{fMSI$lN9i0X~ zUGD(uuVF6cQa{=WNA!fLtF9O{Klj6?IVvkFQIx8_OxOf04SS@_*U4Rg;Si*2Dv(&T=+M7U!UFbT6*o($OXHcQXo zY-Mn=xNf)AmAlt++vkoaq3o$>I2?M}OKqOjQSP%Rvm2Z1$9cs4ggpR=6R>e`in;5& zUTVSdwt{6GxQwep{jh_QqBZHD8=HPhot!K_ONBM-V7gNRQz##vQe8h6fMyClbSljU%JS4jxI2C3O=A(`lkR zUQ~bThSvKc)Ur;5_A$VwIsWH!IH+}>M;tzEpo5|8bBFG^9^M5z7~6P#@B!G$*iQBM zZg`rVRX4jJs+xMBf$dWpd*C7VV|A(r?s2||ArGiZ4|K6}HKo7xz-qQ%{kI3c<$8${ zDyy45XbfLM{t!h07)1ycZf07Q+5?ZWg!=a$_z$b7zkdS;*hRH@FMKU_0kx~%F=64% zPoyX1Swae;rQAo{3#zaeHn3OK!d|%F|2&DN>2Px4<~@zhKHMKu|LliNDzXngalcG^ z`HE`jg(m+`Nckd>%W7LMY+@JG@m^?YTJC`~uBfxU(9!fW;(t!$H6mAuJg?sEg?rhA z`b#f-*u3b04vr&<`z0kHmHO?2u*YvhQ`!g^=!4cM!Bm}Ms$iX}q1nN|X%|Y3_JM=V zs*eVtSxxo9KQ`2Xe}}*uq>WXd$V@-1@3d>?8xhtwg(cHw@vfp#NLSR2erRNGsK)~k zWoM{Lk0q}WtTQ3&Jf%pqlm;2TMdUh?svliEl9IV}ZgSB_EjLnlg0duAd7QYn?Ua0n zP;dczFW*r&2H@PIb$&iZwYYb&Tx56KPjE0RQu50@U3S?Qpw^aOko8sd>L7HoSEzi6 z@Upzr<{{`9s&(d0S7A))Xg+Tp6~#h6R}{6hZ0gcdqg%k?x?0QYr$ex7?XO7V z29gyrQlAY$v^HhSaDQDZ(kR-!LtwvA`-frowqFvCD-mbXB-px|y+rMt zU9`SrT>7)wgQ&LhxNr)iuCBggD5%!Tx^4uv+ikpjdpy;*N1%CNr8Wk!jbk{LSwY@b zY@%51>|qrAwdU*(Be3%rr7J%`@&)NM-r?i0I4QE*zmg|aIDi-XV>NvM9vQy7sIvQu zebS|VSjZy2{PnI>!$G{twL3PRMDx$=Jdl}bTzZfv@$JG_%Qihlcdbo^=w^nAM2OI@ z8~F?x)h?m^)%XH!$LR+UeZk9r5qC-b;2>l}yHVYv1;E$oaeJc5a|kX(6e+b6j)TbM K>#rYzPvHNlQ|~bV delta 2330 zcma)6Yiv|i5WZ*j{oZ!BPYR__3R@y6Ef#E{w1u`(pgF7}MZSe~1YY<1b9mnY%#OWif8DGjnFHlm0HNyZH&3Ri~NJv+*{ z5i=~@q-WG%hN(nBuYz7HH|yR;^qTK`ZQP=J+tF)5FKG552WC5y3U;jwD`Hr)kGpni z?jg?v+ecw9w-RlKVV^3*q#%IavwQz+QWU3C9u`>Bh9aP9Wb#T?xgm+pfzgh+x<>4xD$=UBS zXIp~22u0m1qKxhtS8M(ws?iEnSm~ZO9WAF%LbLGbk@G^T*wlu;b7LY@Y z@FaUhe%=W4?XO~)B?uwbr>_0tPyI08>K2s@*Lx6hl8HmKsaP&v2|iXUSFeQa=GW@Oe(4T~8+fOm{=-)=;UOUI|aJ23fxf{$x@vZh}^JOh%hv!Q7+NldVV9*2JO% z;X&~tArT2;6OKCXubGpxv>>WiwI`gr0$Aqd(vpbbg~b0s!Z(|49mQBWb;BR{5CHG zdnbkhc@Oq+bq!QB=%m>@RBeN*iEw}70oLe5r%60Z)d)-MAZt?Yc0v);h`^_VXQ_s% zOJtPoCD*-{XxljwAEKCcV7;xqA{vek-YuB!lM?hYv^QPmyxyL#6CDR=kS?OJ*WZCd zE4y4UTUNJ$n%V5{c(#D;E|G+it|~9Kfv+lqQVLP2Nwe5Q?dW%OfxKtrjW(#lp+Yjd zJXwv&XgidzO<&UtI$F~n?5R5z)4J6}Jce&BO=MPIeY8iX@4UR$4n^iS^q%C+cBn7A zLcu8%xz69*0Y%>I^UJ1nP;B3XTizp_PvxNwSh4gHL72M&O!O0C#+7_VksOooM+Yoy z)+fQcDVE65M#d{5$eDSVX=pM%hus*zBzHd!1CcE1Fc2(2UPi+GYN)rbKNQx~U7<)g zq5a2{v_vB7FfI3#a5~FfHtBm|-;9p0(~Rz12eta;P0mcEoItu-b6uVbFRuruF``nn zoL8r27u$l4Yw2Reov>^(wJW|v@sM_W|EjTG9Z@5-|ErQ|8-iY!pLD|3?GJJ)9({O8 zde>W2kqF14IV;iDOaiwB(ebO^6B>Jc^vqh~;U$Br78*(81WJXQ-iwEXmqZTmK-MxK0LUM>b8u-0Kt-N?i11pq_81m6Gv delta 23 dcmbO^g>mK-MxK0LUM>b8=;!&LvXO_^3jj-E1`YrK diff --git a/artifacts/sanity/__pycache__/sanity_pb2_grpc.cpython-310.pyc b/artifacts/sanity/__pycache__/sanity_pb2_grpc.cpython-310.pyc index 7158b15b747e00061df0f78887169aebdff65b2f..533fd333e10dd66b573ab5045dadec60fb2992d6 100644 GIT binary patch delta 21 acmZp4Z*=F$=jG*M00L_r=G2WmrOE&?iUd>u delta 21 acmZp4Z*=F$=jG*M0D^v=|0x@JN|gaQEd_%B diff --git a/artifacts/sanity/requirements.txt b/artifacts/sanity/requirements.txt index d263fc70..5ed6eee4 100644 --- a/artifacts/sanity/requirements.txt +++ b/artifacts/sanity/requirements.txt @@ -1,11 +1,11 @@ --prefer-binary -grpcio-tools~=1.54.2 ; python_version > '3.6' -grpcio~=1.35.0 ; python_version <= '3.6' -grpcio-tools~=1.35.0 ; python_version <= '3.6' -grpcio~=1.54.2 ; python_version > '3.6' protobuf~=3.15.0 ; python_version <= '3.6' protobuf~=4.23.3 ; python_version > '3.6' -PyYAML requests +PyYAML +grpcio~=1.54.2 ; python_version > '3.6' +grpcio-tools~=1.35.0 ; python_version <= '3.6' +grpcio-tools~=1.54.2 ; python_version > '3.6' +grpcio~=1.35.0 ; python_version <= '3.6' semantic_version urllib3 diff --git a/artifacts/sanity/sanity.py b/artifacts/sanity/sanity.py index be9e0ad8..379f987a 100644 --- a/artifacts/sanity/sanity.py +++ b/artifacts/sanity/sanity.py @@ -7908,6 +7908,8 @@ def __init__(self, **kwargs): super(GrpcApi, self).__init__(**kwargs) self._stub = None self._channel = None + self._cert = None + self._cert_domain = None self._request_timeout = 10 self._keep_alive_timeout = 10 * 1000 self._location = ( @@ -7940,15 +7942,33 @@ def __init__(self, **kwargs): ) ) + def _use_secure_connection(self, cert_path, cert_domain=None): + """Accepts certificate and host_name for SSL Connection.""" + if cert_path is None: + raise Exception("path to certificate cannot be None") + self._cert = cert_path + self._cert_domain = cert_domain + def _get_stub(self): if self._stub is None: CHANNEL_OPTIONS = [ ("grpc.enable_retries", 0), ("grpc.keepalive_timeout_ms", self._keep_alive_timeout), ] - self._channel = grpc.insecure_channel( - self._location, options=CHANNEL_OPTIONS - ) + if self._cert is None: + self._channel = grpc.insecure_channel( + self._location, options=CHANNEL_OPTIONS + ) + else: + crt = open(self._cert, "rb").read() + creds = grpc.ssl_channel_credentials(crt) + if self._cert_domain is not None: + CHANNEL_OPTIONS.append( + ("grpc.ssl_target_name_override", self._cert_domain) + ) + self._channel = grpc.secure_channel( + self._location, credentials=creds, options=CHANNEL_OPTIONS + ) self._stub = pb2_grpc.OpenapiStub(self._channel) return self._stub From 5a7f37139f1f9ec1d06916e915d2f76a9f2fb068 Mon Sep 17 00:00:00 2001 From: Vibaswan Date: Fri, 15 Sep 2023 10:34:39 +0000 Subject: [PATCH 12/27] refactor test as well gen sdk names --- .gitignore | 5 +- artifacts.py | 16 +- artifacts/openapi.json | 2285 -- artifacts/openapi.yaml | 1802 -- artifacts/openapiart_go/go.mod | 13 - artifacts/openapiart_go/go.sum | 1763 -- .../httpapi/controllers/apitest_controller.go | 195 - .../httpapi/controllers/bundler_controller.go | 216 - .../controllers/capabilities_controller.go | 75 - .../httpapi/controllers/metrics_controller.go | 195 - .../controllers/serviceabc_controller.go | 175 - artifacts/openapiart_go/httpapi/http_setup.go | 40 - .../httpapi/interfaces/apitest_interface.go | 35 - .../httpapi/interfaces/bundler_interface.go | 37 - .../interfaces/capabilities_interface.go | 23 - .../httpapi/interfaces/metrics_interface.go | 35 - .../interfaces/serviceabc_interface.go | 40 - artifacts/openapiart_go/httpapi/response.go | 69 - artifacts/openapiart_go/openapiart.go | 24144 ---------------- artifacts/openapiart_go/sanity/sanity.pb.go | 8925 ------ .../openapiart_go/sanity/sanity_grpc.pb.go | 569 - artifacts/sanity.proto | 1171 - artifacts/sanity/__init__.py | 61 - .../__pycache__/__init__.cpython-310.pyc | Bin 2492 -> 0 bytes .../sanity/__pycache__/sanity.cpython-310.pyc | Bin 151547 -> 0 bytes .../__pycache__/sanity_pb2.cpython-310.pyc | Bin 18969 -> 0 bytes .../sanity_pb2_grpc.cpython-310.pyc | Bin 9089 -> 0 bytes artifacts/sanity/requirements.txt | 11 - artifacts/sanity/sanity.py | 8198 ------ artifacts/sanity/sanity_pb2.py | 250 - artifacts/sanity/sanity_pb2_grpc.py | 499 - do.py | 14 +- openapiart/openapiart.py | 16 +- openapiart/tests/conftest.py | 9 +- openapiart/tests/grpcserver.py | 8 +- openapiart/tests/server.py | 2 +- openapiart/tests/test_constraints.py | 2 +- openapiart/tests/test_integer_format.py | 16 +- openapiart/tests/test_perf.py | 2 +- openapiart/tests/test_py_go_diff.py | 2 +- openapiart/tests/test_required_choices.py | 2 +- openapiart/tests/test_set.py | 2 +- pkg/choice_test.go | 40 +- pkg/common.go | 2 +- pkg/common_test.go | 2 +- pkg/generated_invalid_format_test.go | 86 +- pkg/generated_invalid_key_test.go | 86 +- pkg/generated_required_test.go | 14 +- pkg/generated_test.go | 6 +- pkg/generated_validate_test.go | 6 +- pkg/mock_grpcserver_test.go | 14 +- pkg/mock_httpserver_test.go | 54 +- pkg/multiple_iter_test.go | 14 +- pkg/perf_test.go | 10 +- pkg/serdes_test.go | 68 +- pkg/servertests/service_a.handler.go | 18 +- pkg/servertests/service_a_test.go | 8 +- pkg/servertests/service_b.handler.go | 30 +- pkg/servertests/service_b_test.go | 10 +- pkg/servertests/setup.go | 2 +- pkg/status_msg_test.go | 42 +- pkg/transport_test.go | 86 +- pkg/unit1_test.go | 8 +- pkg/unit_test.go | 300 +- 64 files changed, 503 insertions(+), 51325 deletions(-) delete mode 100644 artifacts/openapi.json delete mode 100644 artifacts/openapi.yaml delete mode 100644 artifacts/openapiart_go/go.mod delete mode 100644 artifacts/openapiart_go/go.sum delete mode 100644 artifacts/openapiart_go/httpapi/controllers/apitest_controller.go delete mode 100644 artifacts/openapiart_go/httpapi/controllers/bundler_controller.go delete mode 100644 artifacts/openapiart_go/httpapi/controllers/capabilities_controller.go delete mode 100644 artifacts/openapiart_go/httpapi/controllers/metrics_controller.go delete mode 100644 artifacts/openapiart_go/httpapi/controllers/serviceabc_controller.go delete mode 100644 artifacts/openapiart_go/httpapi/http_setup.go delete mode 100644 artifacts/openapiart_go/httpapi/interfaces/apitest_interface.go delete mode 100644 artifacts/openapiart_go/httpapi/interfaces/bundler_interface.go delete mode 100644 artifacts/openapiart_go/httpapi/interfaces/capabilities_interface.go delete mode 100644 artifacts/openapiart_go/httpapi/interfaces/metrics_interface.go delete mode 100644 artifacts/openapiart_go/httpapi/interfaces/serviceabc_interface.go delete mode 100644 artifacts/openapiart_go/httpapi/response.go delete mode 100644 artifacts/openapiart_go/openapiart.go delete mode 100644 artifacts/openapiart_go/sanity/sanity.pb.go delete mode 100644 artifacts/openapiart_go/sanity/sanity_grpc.pb.go delete mode 100644 artifacts/sanity.proto delete mode 100644 artifacts/sanity/__init__.py delete mode 100644 artifacts/sanity/__pycache__/__init__.cpython-310.pyc delete mode 100644 artifacts/sanity/__pycache__/sanity.cpython-310.pyc delete mode 100644 artifacts/sanity/__pycache__/sanity_pb2.cpython-310.pyc delete mode 100644 artifacts/sanity/__pycache__/sanity_pb2_grpc.cpython-310.pyc delete mode 100644 artifacts/sanity/requirements.txt delete mode 100644 artifacts/sanity/sanity.py delete mode 100644 artifacts/sanity/sanity_pb2.py delete mode 100644 artifacts/sanity/sanity_pb2_grpc.py diff --git a/.gitignore b/.gitignore index ee0385ac..dae29f83 100644 --- a/.gitignore +++ b/.gitignore @@ -14,13 +14,14 @@ __pycache__ /cov_report /**/art /**/art_go +/artifacts/pyapi/__pycache__ .local /pkg/coverage.txt /pkg/coverage.out -/pkg/sanity +/pkg/openapi /pkg/go.mod /pkg/go.sum -/pkg/openapiart.go +/pkg/goapi.go /pkg/httpapi /pkg/log.txt _debug_bin diff --git a/artifacts.py b/artifacts.py index e9c44dc3..0f0ce7ec 100644 --- a/artifacts.py +++ b/artifacts.py @@ -43,26 +43,26 @@ def create_openapi_artifacts(openapiart_class, sdk=None): ), ], artifact_dir=os.path.join(os.path.dirname(__file__), "artifacts"), - extension_prefix="sanity", + extension_prefix="openapi", proto_service="Openapi", generate_version_api=True, ) if sdk == "proto" or sdk is None or sdk == "all": - open_api.GenerateProtoDef(package_name="sanity") + open_api.GenerateProtoDef(package_name="openapi") if sdk == "python" or sdk is None or sdk == "all": - open_api.GeneratePythonSdk(package_name="sanity") + open_api.GeneratePythonSdk(package_name="pyapi") if sdk == "go" or sdk is None or sdk == "all": open_api.GenerateGoSdk( - package_dir="github.com/open-traffic-generator/openapiart/pkg", - package_name="openapiart", + package_dir="github.com/open-traffic-generator/goapi/pkg", + package_name="goapi", sdk_version="0.0.1", ) open_api.GenerateGoServer( - module_path="github.com/open-traffic-generator/openapiart/pkg", - models_prefix="openapiart", - models_path="github.com/open-traffic-generator/openapiart/pkg", + module_path="github.com/open-traffic-generator/goapi/pkg", + models_prefix="openapi", + models_path="github.com/open-traffic-generator/goapi/pkg", ) open_api.GoTidy( relative_package_dir="pkg", diff --git a/artifacts/openapi.json b/artifacts/openapi.json deleted file mode 100644 index 2acb83dc..00000000 --- a/artifacts/openapi.json +++ /dev/null @@ -1,2285 +0,0 @@ -{ - "openapi": "3.0.3", - "info": { - "title": "OpenAPIArt Test API", - "description": "Demonstrates the features of the OpenAPIArt package", - "version": "0.0.1", - "contact": { - "x-info": "Any feedback such as bugs/enhancements/questions regarding OpenApiArt is \nwelcomed by using the contact url. ", - "url": "https://github.com/open-traffic-generator/openapiart/issues" - }, - "license": { - "name": "NO-LICENSE-PRESENT" - } - }, - "servers": [ - { - "url": "https://{hostname}:{port}/{basePath}", - "variables": { - "hostname": { - "default": "0.0.0.0" - }, - "port": { - "default": "8080" - }, - "basePath": { - "default": "api" - } - } - } - ], - "paths": { - "/config": { - "post": { - "tags": [ - "Bundler" - ], - "operationId": "set_config", - "description": "Sets configuration resources.", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Prefix.Config" - } - } - } - }, - "responses": { - "200": { - "x-field-uid": 1, - "description": "Standard success binary payload", - "content": { - "application/octet-stream": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "default": { - "x-field-uid": 2, - "description": "The request did not succeed and server has responded with error details.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - } - } - }, - "patch": { - "tags": [ - "Bundler" - ], - "operationId": "update_configuration", - "description": "Deprecated: please use post instead\n\nSets configuration resources.", - "x-status": { - "status": "deprecated", - "information": "please use post instead" - }, - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Update.Config" - } - } - } - }, - "responses": { - "200": { - "description": "success 2xx", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Prefix.Config" - } - } - }, - "x-field-uid": 1 - }, - "default": { - "x-field-uid": 2, - "description": "The request did not succeed and server has responded with error details.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - } - } - }, - "get": { - "tags": [ - "Bundler" - ], - "operationId": "get_config", - "description": "Gets the configuration resources.", - "responses": { - "200": { - "description": "Config response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Prefix.Config" - } - } - }, - "x-field-uid": 1 - }, - "default": { - "x-field-uid": 2, - "description": "The request did not succeed and server has responded with error details.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - } - } - } - }, - "/metrics": { - "get": { - "tags": [ - "Metrics" - ], - "operationId": "get_metrics", - "description": "Gets metrics.", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Metrics.Request" - } - } - } - }, - "responses": { - "200": { - "description": "Unique metrics response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Metrics" - } - } - }, - "x-field-uid": 1 - }, - "default": { - "x-field-uid": 2, - "description": "The request did not succeed and server has responded with error details.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - } - } - } - }, - "/warnings": { - "get": { - "tags": [ - "Metrics" - ], - "operationId": "get_warnings", - "description": "Gets warnings.", - "responses": { - "200": { - "$ref": "#/components/responses/Warnings", - "x-field-uid": 1 - }, - "default": { - "x-field-uid": 2, - "description": "The request did not succeed and server has responded with error details.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - } - } - }, - "delete": { - "tags": [ - "Metrics" - ], - "operationId": "clear_warnings", - "description": "Clears warnings.", - "responses": { - "200": { - "description": "OK", - "x-field-uid": 1 - }, - "default": { - "x-field-uid": 2, - "description": "The request did not succeed and server has responded with error details.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - } - } - } - }, - "/apitest": { - "get": { - "tags": [ - "ApiTest" - ], - "operationId": "GetRootResponse", - "description": "simple GET api with single return type", - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Common.ResponseSuccess" - } - } - }, - "x-field-uid": 1 - }, - "default": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - }, - "x-field-uid": 2 - } - } - }, - "delete": { - "tags": [ - "ApiTest" - ], - "operationId": "dummyResponseTest", - "responses": { - "200": { - "description": "OK", - "content": { - "text/plain": { - "schema": { - "type": "string" - } - } - }, - "x-field-uid": 1 - }, - "default": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - }, - "x-field-uid": 2 - } - } - }, - "post": { - "tags": [ - "ApiTest" - ], - "operationId": "PostRootResponse", - "description": "simple POST api with single return type", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiTest.InputBody" - } - } - } - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Common.ResponseSuccess" - } - } - }, - "x-field-uid": 1 - }, - "default": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - }, - "x-field-uid": 2 - } - } - } - }, - "/serviceb": { - "get": { - "tags": [ - "ServiceAbc" - ], - "operationId": "GetAllItems", - "description": "return list of some items", - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ServiceAbc.ItemList" - } - } - }, - "x-field-uid": 1 - }, - "default": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - }, - "x-field-uid": 2 - } - } - } - }, - "/serviceb/{item_id}": { - "get": { - "tags": [ - "ServiceAbc" - ], - "operationId": "GetSingleItem", - "description": "return single item", - "parameters": [ - { - "in": "path", - "name": "item_id", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ServiceAbc.Item" - } - } - }, - "x-field-uid": 1 - }, - "default": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - }, - "x-field-uid": 2 - } - } - } - }, - "/serviceb/{item_id}/{level_2}": { - "get": { - "tags": [ - "ServiceAbc" - ], - "operationId": "getSingleItemLevel2", - "description": "return single item", - "parameters": [ - { - "in": "path", - "name": "item_id", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "level_2", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ServiceAbc.Item" - } - } - }, - "x-field-uid": 1 - }, - "default": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - }, - "x-field-uid": 2 - } - } - } - }, - "/capabilities/version": { - "get": { - "tags": [ - "Capabilities" - ], - "operationId": "get_version", - "responses": { - "200": { - "description": "Version details from API server", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Version" - } - } - }, - "x-field-uid": 1 - }, - "default": { - "x-field-uid": 2, - "description": "The request did not succeed and server has responded with error details.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - } - } - } - } - }, - "components": { - "responses": { - "Warnings": { - "description": "Success warning payload similar to otg Success", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Warning.Details" - } - } - } - } - }, - "schemas": { - "Error.Details": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "type": "string" - }, - "x-field-uid": 1 - } - } - }, - "Warning.Details": { - "type": "object", - "properties": { - "warnings": { - "type": "array", - "items": { - "type": "string" - }, - "x-field-uid": 1 - } - } - }, - "Error": { - "description": "Error response generated while serving API request.", - "type": "object", - "required": [ - "code", - "errors" - ], - "properties": { - "code": { - "description": "Numeric status code based on underlying transport being used.", - "type": "integer", - "x-field-uid": 1 - }, - "kind": { - "description": "Kind of error message.", - "type": "string", - "x-enum": { - "transport": { - "x-field-uid": 1 - }, - "validation": { - "x-field-uid": 2 - }, - "internal": { - "x-field-uid": 3 - } - }, - "x-field-uid": 2, - "enum": [ - "transport", - "validation", - "internal" - ] - }, - "errors": { - "description": "List of error messages generated while serving API request.", - "type": "array", - "items": { - "type": "string" - }, - "x-field-uid": 3 - } - } - }, - "Prefix.Config": { - "type": "object", - "required": [ - "a", - "b", - "c", - "required_object" - ], - "description": "Container which retains the configuration", - "properties": { - "required_object": { - "description": "A required object that MUST be generated as such.", - "$ref": "#/components/schemas/EObject", - "x-field-uid": 1 - }, - "optional_object": { - "description": "An optional object that MUST be generated as such.", - "$ref": "#/components/schemas/EObject", - "x-field-uid": 2 - }, - "ieee_802_1qbb": { - "type": "boolean", - "x-field-uid": 3 - }, - "space_1": { - "type": "integer", - "x-status": { - "status": "deprecated", - "information": "Information TBD" - }, - "x-field-uid": 4, - "description": "Deprecated: Information TBD\n\nDescription TBD" - }, - "full_duplex_100_mb": { - "type": "integer", - "format": "int64", - "minimum": -10, - "maximum": 4261412864, - "x-field-uid": 5 - }, - "response": { - "description": "Indicate to the server what response should be returned", - "type": "string", - "default": "status_200", - "x-field-uid": 6, - "x-enum": { - "status_200": { - "x-field-uid": 1 - }, - "status_400": { - "x-field-uid": 2 - }, - "status_404": { - "x-status": { - "status": "deprecated", - "information": "new code will be coming soon" - }, - "x-field-uid": 3, - "description": "Deprecated: new code will be coming soon\n\nDescription TBD" - }, - "status_500": { - "x-status": { - "status": "under_review", - "information": "500 can change to other values" - }, - "x-field-uid": 4, - "description": "Under Review: 500 can change to other values\n\nDescription TBD" - } - }, - "enum": [ - "status_200", - "status_400", - "status_404", - "status_500" - ] - }, - "a": { - "x-status": { - "status": "under_review", - "information": "Information TBD" - }, - "description": "Under Review: Information TBD\n\nSmall single line description", - "type": "string", - "x-field-uid": 7 - }, - "b": { - "description": "Longer multi-line description\nSecond line is here\nThird line", - "type": "number", - "format": "float", - "x-field-uid": 8 - }, - "c": { - "type": "integer", - "x-field-uid": 9 - }, - "d_values": { - "x-status": { - "status": "deprecated", - "information": "Information TBD" - }, - "description": "Deprecated: Information TBD\n\nA list of enum values", - "type": "array", - "items": { - "type": "string", - "x-enum": { - "a": { - "x-field-uid": 1 - }, - "b": { - "x-field-uid": 2 - }, - "c": { - "x-field-uid": 3 - } - }, - "enum": [ - "a", - "b", - "c" - ] - }, - "x-field-uid": 10 - }, - "e": { - "x-status": { - "status": "deprecated", - "information": "Information TBD" - }, - "description": "Deprecated: Information TBD\n\nA child object", - "$ref": "#/components/schemas/EObject", - "x-field-uid": 11 - }, - "f": { - "description": "An object with only choice(s)", - "$ref": "#/components/schemas/FObject", - "x-field-uid": 12 - }, - "g": { - "description": "A list of objects with choice and properties", - "type": "array", - "items": { - "$ref": "#/components/schemas/GObject" - }, - "x-field-uid": 13 - }, - "h": { - "description": "A boolean value", - "type": "boolean", - "default": true, - "x-field-uid": 14 - }, - "i": { - "description": "A byte string", - "type": "string", - "format": "binary", - "x-field-uid": 15 - }, - "j": { - "description": "A list of objects with only choice", - "type": "array", - "items": { - "$ref": "#/components/schemas/JObject" - }, - "x-field-uid": 16 - }, - "k": { - "description": "A nested object with only one property which is a choice object", - "$ref": "#/components/schemas/KObject", - "x-field-uid": 17 - }, - "l": { - "$ref": "#/components/schemas/LObject", - "x-field-uid": 18 - }, - "list_of_string_values": { - "description": "A list of string values", - "type": "array", - "items": { - "type": "string" - }, - "x-field-uid": 19 - }, - "list_of_integer_values": { - "description": "A list of integer values", - "type": "array", - "items": { - "type": "integer" - }, - "x-field-uid": 20 - }, - "level": { - "$ref": "#/components/schemas/Level.One", - "x-field-uid": 21 - }, - "mandatory": { - "$ref": "#/components/schemas/Mandate", - "x-field-uid": 22 - }, - "ipv4_pattern": { - "$ref": "#/components/schemas/Ipv4Pattern", - "x-field-uid": 23 - }, - "ipv6_pattern": { - "$ref": "#/components/schemas/Ipv6Pattern", - "x-field-uid": 24 - }, - "mac_pattern": { - "$ref": "#/components/schemas/MacPattern", - "x-field-uid": 25 - }, - "integer_pattern": { - "$ref": "#/components/schemas/IntegerPattern", - "x-field-uid": 26 - }, - "checksum_pattern": { - "$ref": "#/components/schemas/ChecksumPattern", - "x-field-uid": 27 - }, - "case": { - "$ref": "#/components/schemas/Layer1Ieee802x", - "x-field-uid": 28 - }, - "m_object": { - "$ref": "#/components/schemas/MObject", - "x-field-uid": 29 - }, - "integer64": { - "description": "int64 type", - "type": "integer", - "format": "int64", - "x-field-uid": 30 - }, - "integer64_list": { - "description": "int64 type list", - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "minimum": -12, - "maximum": 4261412864, - "x-field-uid": 31 - }, - "header_checksum": { - "x-field-uid": 32, - "$ref": "#/components/schemas/Pattern.Prefix.Config.HeaderChecksum" - }, - "str_len": { - "x-status": { - "status": "under_review", - "information": "Information TBD" - }, - "description": "Under Review: Information TBD\n\nstring minimum&maximum Length", - "type": "string", - "minLength": 3, - "maxLength": 6, - "x-field-uid": 33 - }, - "hex_slice": { - "x-status": { - "status": "under_review", - "information": "Information TBD" - }, - "description": "Under Review: Information TBD\n\nArray of Hex", - "type": "array", - "items": { - "type": "string", - "format": "hex" - }, - "x-field-uid": 34 - }, - "auto_field_test": { - "x-field-uid": 35, - "$ref": "#/components/schemas/Pattern.Prefix.Config.AutoFieldTest" - }, - "name": { - "x-field-uid": 36, - "type": "string" - }, - "w_list": { - "type": "array", - "items": { - "$ref": "#/components/schemas/WObject" - }, - "x-field-uid": 37 - }, - "x_list": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ZObject" - }, - "x-field-uid": 38 - }, - "z_object": { - "$ref": "#/components/schemas/ZObject", - "x-field-uid": 39 - }, - "y_object": { - "$ref": "#/components/schemas/YObject", - "x-field-uid": 40 - }, - "choice_object": { - "description": "A list of objects with choice with and without properties", - "type": "array", - "items": { - "$ref": "#/components/schemas/ChoiceObject" - }, - "x-field-uid": 41 - }, - "required_choice_object": { - "$ref": "#/components/schemas/RequiredChoiceParent", - "x-field-uid": 42 - }, - "g1": { - "description": "A list of objects with choice and properties", - "type": "array", - "items": { - "$ref": "#/components/schemas/GObject" - }, - "x-field-uid": 43 - }, - "g2": { - "description": "A list of objects with choice and properties", - "type": "array", - "items": { - "$ref": "#/components/schemas/GObject" - }, - "x-field-uid": 44 - }, - "int32_param": { - "description": "int32 type", - "type": "integer", - "format": "int32", - "x-field-uid": 45 - }, - "int32_list_param": { - "description": "int32 type list", - "type": "array", - "items": { - "type": "integer", - "format": "int32" - }, - "minimum": -23456, - "maximum": 23456, - "x-field-uid": 46 - }, - "uint32_param": { - "description": "uint32 type", - "type": "integer", - "format": "uint32", - "x-field-uid": 47 - }, - "uint32_list_param": { - "description": "uint32 type list", - "type": "array", - "items": { - "type": "integer", - "format": "uint32" - }, - "minimum": 0, - "maximum": 4294967293, - "x-field-uid": 48 - }, - "uint64_param": { - "description": "uint64 type", - "type": "integer", - "format": "uint64", - "x-field-uid": 49 - }, - "uint64_list_param": { - "description": "uint64 type list", - "type": "array", - "items": { - "type": "integer", - "format": "uint64" - }, - "x-field-uid": 50 - }, - "auto_int32_param": { - "description": "should automatically set type to int32", - "type": "integer", - "minimum": 64, - "maximum": 9000, - "x-field-uid": 51 - }, - "auto_int32_list_param": { - "description": "should automatically set type to []int32", - "type": "array", - "items": { - "type": "integer" - }, - "minimum": 64, - "maximum": 9000, - "x-field-uid": 52 - } - } - }, - "WObject": { - "required": [ - "w_name" - ], - "properties": { - "w_name": { - "type": "string", - "x-field-uid": 1 - } - } - }, - "ZObject": { - "required": [ - "name" - ], - "properties": { - "name": { - "type": "string", - "x-field-uid": 1 - } - } - }, - "YObject": { - "properties": { - "y_name": { - "type": "string", - "x-field-uid": 1, - "x-constraint": [ - "/components/schemas/ZObject/properties/name", - "/components/schemas/WObject/properties/w_name" - ], - "description": "TBD\n\nx-constraint:\n- /components/schemas/ZObject/properties/name\n- /components/schemas/WObject/properties/w_name\n" - } - } - }, - "Layer1Ieee802x": { - "type": "object", - "properties": { - "flow_control": { - "type": "boolean", - "x-field-uid": 1 - } - } - }, - "GObject": { - "type": "object", - "x-status": { - "status": "deprecated", - "information": "new schema Jobject to be used" - }, - "properties": { - "g_a": { - "type": "string", - "default": "asdf", - "x-field-uid": 1 - }, - "g_b": { - "type": "integer", - "default": 6, - "x-field-uid": 2 - }, - "g_c": { - "type": "number", - "default": 77.7, - "x-status": { - "status": "deprecated", - "information": "Information TBD" - }, - "x-field-uid": 3, - "description": "Deprecated: Information TBD\n\nDescription TBD" - }, - "choice": { - "type": "string", - "default": "g_d", - "x-field-uid": 4, - "x-enum": { - "g_d": { - "x-field-uid": 1 - }, - "g_e": { - "x-field-uid": 2 - } - }, - "enum": [ - "g_d", - "g_e" - ] - }, - "g_d": { - "type": "string", - "default": "some string", - "x-field-uid": 5 - }, - "g_e": { - "type": "number", - "format": "double", - "default": 3.0, - "x-field-uid": 6 - }, - "g_f": { - "description": "Another enum to test protbuf enum generation", - "type": "string", - "default": "a", - "x-field-uid": 7, - "x-enum": { - "a": { - "x-field-uid": 1 - }, - "b": { - "x-field-uid": 2 - }, - "c": { - "x-field-uid": 3 - } - }, - "enum": [ - "a", - "b", - "c" - ] - }, - "name": { - "x-field-uid": 8, - "type": "string" - } - }, - "description": "Deprecated: new schema Jobject to be used\n\nDescription TBD" - }, - "EObject": { - "type": "object", - "required": [ - "e_a", - "e_b" - ], - "properties": { - "e_a": { - "type": "number", - "format": "float", - "x-field-uid": 1 - }, - "e_b": { - "type": "number", - "format": "double", - "x-field-uid": 2 - }, - "name": { - "x-field-uid": 3, - "type": "string" - }, - "m_param1": { - "x-field-uid": 4, - "type": "string" - }, - "m_param2": { - "x-field-uid": 5, - "type": "string" - } - } - }, - "FObject": { - "type": "object", - "properties": { - "choice": { - "type": "string", - "default": "f_a", - "x-field-uid": 1, - "x-enum": { - "f_a": { - "x-field-uid": 1 - }, - "f_b": { - "x-field-uid": 2 - }, - "f_c": { - "x-field-uid": 3 - } - }, - "enum": [ - "f_a", - "f_b", - "f_c" - ] - }, - "f_a": { - "type": "string", - "default": "some string", - "x-field-uid": 2 - }, - "f_b": { - "type": "number", - "format": "double", - "default": 3.0, - "x-field-uid": 3 - } - } - }, - "JObject": { - "type": "object", - "properties": { - "choice": { - "type": "string", - "default": "j_a", - "x-field-uid": 1, - "x-enum": { - "j_a": { - "x-field-uid": 1 - }, - "j_b": { - "x-status": { - "status": "deprecated", - "information": "use j_a instead" - }, - "x-field-uid": 2, - "description": "Deprecated: use j_a instead\n\nDescription TBD" - } - }, - "enum": [ - "j_a", - "j_b" - ] - }, - "j_a": { - "$ref": "#/components/schemas/EObject", - "x-field-uid": 2 - }, - "j_b": { - "$ref": "#/components/schemas/FObject", - "x-field-uid": 3 - } - } - }, - "ChoiceObject": { - "type": "object", - "properties": { - "choice": { - "type": "string", - "default": "no_obj", - "x-field-uid": 1, - "x-enum": { - "e_obj": { - "x-field-uid": 1 - }, - "f_obj": { - "x-field-uid": 2 - }, - "no_obj": { - "x-field-uid": 3 - } - }, - "enum": [ - "e_obj", - "f_obj", - "no_obj" - ] - }, - "e_obj": { - "$ref": "#/components/schemas/EObject", - "x-field-uid": 2 - }, - "f_obj": { - "$ref": "#/components/schemas/FObject", - "x-field-uid": 3 - } - } - }, - "KObject": { - "type": "object", - "properties": { - "e_object": { - "$ref": "#/components/schemas/EObject", - "x-field-uid": 1 - }, - "f_object": { - "$ref": "#/components/schemas/FObject", - "x-field-uid": 2 - } - } - }, - "LObject": { - "description": "Format validation object", - "type": "object", - "properties": { - "string_param": { - "type": "string", - "x-field-uid": 1 - }, - "integer": { - "type": "integer", - "minimum": -10, - "maximum": 90, - "x-field-uid": 2 - }, - "float": { - "type": "number", - "format": "float", - "x-field-uid": 3 - }, - "double": { - "type": "number", - "format": "double", - "x-field-uid": 4 - }, - "mac": { - "type": "string", - "format": "mac", - "x-field-uid": 5 - }, - "ipv4": { - "type": "string", - "format": "ipv4", - "x-field-uid": 6 - }, - "ipv6": { - "type": "string", - "format": "ipv6", - "x-field-uid": 7 - }, - "hex": { - "type": "string", - "format": "hex", - "x-field-uid": 8 - } - } - }, - "MObject": { - "description": "Required format validation object", - "type": "object", - "required": [ - "string_param", - "integer", - "float", - "double", - "mac", - "ipv4", - "ipv6", - "hex" - ], - "properties": { - "string_param": { - "type": "string", - "x-field-uid": 1 - }, - "integer": { - "type": "integer", - "minimum": -10, - "maximum": 90, - "x-field-uid": 2 - }, - "float": { - "type": "number", - "format": "float", - "x-field-uid": 3 - }, - "double": { - "type": "number", - "format": "double", - "x-field-uid": 4 - }, - "mac": { - "type": "string", - "format": "mac", - "x-field-uid": 5 - }, - "ipv4": { - "type": "string", - "format": "ipv4", - "x-field-uid": 6 - }, - "ipv6": { - "type": "string", - "format": "ipv6", - "x-field-uid": 7 - }, - "hex": { - "type": "string", - "format": "hex", - "x-field-uid": 8 - } - } - }, - "Mandate": { - "description": "Object to Test required Parameter", - "type": "object", - "required": [ - "required_param" - ], - "properties": { - "required_param": { - "type": "string", - "x-field-uid": 1 - } - } - }, - "Update.Config": { - "description": "Under Review: the whole schema is being reviewed\n\nObject to Test required Parameter", - "x-status": { - "status": "under_review", - "information": "the whole schema is being reviewed" - }, - "type": "object", - "properties": { - "g": { - "description": "A list of objects with choice and properties", - "type": "array", - "items": { - "$ref": "#/components/schemas/GObject" - }, - "x-field-uid": 1 - } - } - }, - "Metrics.Request": { - "type": "object", - "properties": { - "choice": { - "type": "string", - "default": "port", - "x-field-uid": 1, - "x-enum": { - "port": { - "x-field-uid": 1 - }, - "flow": { - "x-field-uid": 2 - } - }, - "enum": [ - "port", - "flow" - ] - }, - "port": { - "type": "string", - "x-field-uid": 2 - }, - "flow": { - "type": "string", - "x-field-uid": 3 - } - } - }, - "Metrics": { - "type": "object", - "properties": { - "choice": { - "type": "string", - "default": "ports", - "x-field-uid": 1, - "x-enum": { - "ports": { - "x-field-uid": 1 - }, - "flows": { - "x-field-uid": 2 - } - }, - "enum": [ - "ports", - "flows" - ] - }, - "ports": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Port.Metric" - }, - "x-field-uid": 2 - }, - "flows": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Flow.Metric" - }, - "x-field-uid": 3 - } - } - }, - "Port.Metric": { - "type": "object", - "required": [ - "name", - "tx_frames", - "rx_frames" - ], - "properties": { - "name": { - "type": "string", - "x-field-uid": 1 - }, - "tx_frames": { - "type": "number", - "format": "double", - "x-field-uid": 2 - }, - "rx_frames": { - "type": "number", - "format": "double", - "x-field-uid": 3 - } - } - }, - "Flow.Metric": { - "type": "object", - "required": [ - "name", - "tx_frames", - "rx_frames" - ], - "properties": { - "name": { - "type": "string", - "x-field-uid": 1 - }, - "tx_frames": { - "type": "number", - "format": "double", - "x-field-uid": 2 - }, - "rx_frames": { - "type": "number", - "format": "double", - "x-field-uid": 3 - } - } - }, - "RequiredChoiceParent": { - "type": "object", - "required": [ - "choice" - ], - "properties": { - "choice": { - "type": "string", - "x-field-uid": 1, - "x-enum": { - "intermediate_obj": { - "x-field-uid": 1 - }, - "no_obj": { - "x-field-uid": 2 - } - }, - "enum": [ - "intermediate_obj", - "no_obj" - ] - }, - "intermediate_obj": { - "$ref": "#/components/schemas/RequiredChoiceIntermediate", - "x-field-uid": 2 - } - } - }, - "RequiredChoiceIntermediate": { - "type": "object", - "required": [ - "choice" - ], - "properties": { - "choice": { - "type": "string", - "x-field-uid": 1, - "x-enum": { - "f_a": { - "x-field-uid": 1 - }, - "leaf": { - "x-field-uid": 2 - } - }, - "enum": [ - "f_a", - "leaf" - ] - }, - "f_a": { - "type": "string", - "default": "some string", - "x-field-uid": 2 - }, - "leaf": { - "$ref": "#/components/schemas/RequiredChoiceIntermeLeaf", - "x-field-uid": 3 - } - } - }, - "RequiredChoiceIntermeLeaf": { - "type": "object", - "properties": { - "name": { - "type": "string", - "x-field-uid": 1 - } - } - }, - "Level.One": { - "description": "To Test Multi level non-primitive types", - "properties": { - "l1_p1": { - "description": "Level one", - "$ref": "#/components/schemas/Level.Two", - "x-field-uid": 1 - }, - "l1_p2": { - "description": "Level one to four", - "$ref": "#/components/schemas/Level.Four", - "x-field-uid": 2 - } - } - }, - "Level.Two": { - "description": "Test Level 2", - "properties": { - "l2_p1": { - "description": "Level Two", - "$ref": "#/components/schemas/Level.Three", - "x-field-uid": 1 - } - } - }, - "Level.Three": { - "description": "Test Level3", - "properties": { - "l3_p1": { - "description": "Set value at Level 3", - "type": "string", - "x-field-uid": 1 - } - } - }, - "Level.Four": { - "description": "Test level4 redundant junk testing", - "properties": { - "l4_p1": { - "description": "loop over level 1", - "$ref": "#/components/schemas/Level.One", - "x-field-uid": 1 - } - } - }, - "Ipv4Pattern": { - "description": "Test ipv4 pattern", - "type": "object", - "properties": { - "ipv4": { - "x-field-uid": 1, - "$ref": "#/components/schemas/Pattern.Ipv4Pattern.Ipv4" - } - } - }, - "Ipv6Pattern": { - "description": "Test ipv6 pattern", - "type": "object", - "properties": { - "ipv6": { - "x-field-uid": 1, - "$ref": "#/components/schemas/Pattern.Ipv6Pattern.Ipv6" - } - } - }, - "MacPattern": { - "description": "Test mac pattern", - "type": "object", - "properties": { - "mac": { - "x-field-uid": 1, - "$ref": "#/components/schemas/Pattern.MacPattern.Mac" - } - } - }, - "IntegerPattern": { - "description": "Test integer pattern", - "type": "object", - "properties": { - "integer": { - "x-field-uid": 1, - "$ref": "#/components/schemas/Pattern.IntegerPattern.Integer" - } - } - }, - "ChecksumPattern": { - "description": "Test checksum pattern", - "type": "object", - "properties": { - "checksum": { - "x-field-uid": 1, - "$ref": "#/components/schemas/Pattern.ChecksumPattern.Checksum" - } - } - }, - "Common.ResponseSuccess": { - "type": "object", - "properties": { - "message": { - "type": "string", - "x-field-uid": 1 - } - } - }, - "ApiTest.InputBody": { - "type": "object", - "properties": { - "some_string": { - "type": "string", - "x-field-uid": 1 - } - } - }, - "ServiceAbc.Item": { - "type": "object", - "properties": { - "some_id": { - "type": "string", - "x-field-uid": 1 - }, - "some_string": { - "type": "string", - "x-field-uid": 2 - }, - "path_id": { - "type": "string", - "x-field-uid": 3 - }, - "level_2": { - "type": "string", - "x-field-uid": 4 - } - } - }, - "ServiceAbc.ItemList": { - "type": "object", - "properties": { - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ServiceAbc.Item" - }, - "x-field-uid": 1 - } - } - }, - "Pattern.Prefix.Config.HeaderChecksum": { - "description": "Header checksum", - "type": "object", - "properties": { - "choice": { - "description": "The type of checksum", - "type": "string", - "x-enum": { - "generated": { - "x-field-uid": 1 - }, - "custom": { - "x-field-uid": 2 - } - }, - "default": "generated", - "x-field-uid": 1, - "enum": [ - "generated", - "custom" - ] - }, - "generated": { - "description": "A system generated checksum value", - "type": "string", - "x-enum": { - "good": { - "x-field-uid": 1 - }, - "bad": { - "x-field-uid": 2 - } - }, - "default": "good", - "x-field-uid": 2, - "enum": [ - "good", - "bad" - ] - }, - "custom": { - "description": "A custom checksum value", - "type": "integer", - "format": "uint32", - "maximum": 65535, - "x-field-uid": 3 - } - } - }, - "Pattern.Prefix.Config.AutoFieldTest.Counter": { - "description": "integer counter pattern", - "type": "object", - "properties": { - "start": { - "type": "integer", - "x-field-uid": 1, - "default": 0, - "format": "uint32", - "maximum": 255 - }, - "step": { - "type": "integer", - "x-field-uid": 2, - "default": 1, - "format": "uint32", - "maximum": 255 - }, - "count": { - "type": "integer", - "x-field-uid": 3, - "default": 1, - "format": "uint32", - "maximum": 255 - } - } - }, - "Pattern.Prefix.Config.AutoFieldTest": { - "description": "TBD", - "type": "object", - "properties": { - "choice": { - "type": "string", - "x-enum": { - "value": { - "x-field-uid": 2 - }, - "values": { - "x-field-uid": 3 - }, - "auto": { - "x-field-uid": 1 - }, - "increment": { - "x-field-uid": 4 - }, - "decrement": { - "x-field-uid": 5 - } - }, - "default": "auto", - "x-field-uid": 1, - "enum": [ - "value", - "values", - "auto", - "increment", - "decrement" - ] - }, - "value": { - "type": "integer", - "x-field-uid": 2, - "default": 0, - "format": "uint32", - "maximum": 255 - }, - "values": { - "type": "array", - "items": { - "type": "integer", - "format": "uint32", - "maximum": 255 - }, - "x-field-uid": 3, - "default": [ - 0 - ] - }, - "auto": { - "description": "The OTG implementation can provide a system generated\nvalue for this property. If the OTG is unable to generate a value\nthe default value must be used.", - "type": "integer", - "x-field-uid": 4, - "default": 0, - "format": "uint32", - "maximum": 255 - }, - "increment": { - "$ref": "#/components/schemas/Pattern.Prefix.Config.AutoFieldTest.Counter", - "x-field-uid": 6 - }, - "decrement": { - "$ref": "#/components/schemas/Pattern.Prefix.Config.AutoFieldTest.Counter", - "x-field-uid": 7 - } - } - }, - "Pattern.Ipv4Pattern.Ipv4.Counter": { - "description": "ipv4 counter pattern", - "type": "object", - "properties": { - "start": { - "type": "string", - "x-field-uid": 1, - "default": "0.0.0.0", - "format": "ipv4" - }, - "step": { - "type": "string", - "x-field-uid": 2, - "default": "0.0.0.1", - "format": "ipv4" - }, - "count": { - "type": "integer", - "x-field-uid": 3, - "default": 1, - "format": "uint32" - } - } - }, - "Pattern.Ipv4Pattern.Ipv4": { - "description": "TBD", - "type": "object", - "properties": { - "choice": { - "type": "string", - "x-enum": { - "value": { - "x-field-uid": 2 - }, - "values": { - "x-field-uid": 3 - }, - "increment": { - "x-field-uid": 4 - }, - "decrement": { - "x-field-uid": 5 - } - }, - "default": "value", - "x-field-uid": 1, - "enum": [ - "value", - "values", - "increment", - "decrement" - ] - }, - "value": { - "type": "string", - "x-field-uid": 2, - "default": "0.0.0.0", - "format": "ipv4" - }, - "values": { - "type": "array", - "items": { - "type": "string", - "format": "ipv4" - }, - "x-field-uid": 3, - "default": [ - "0.0.0.0" - ] - }, - "increment": { - "$ref": "#/components/schemas/Pattern.Ipv4Pattern.Ipv4.Counter", - "x-field-uid": 5 - }, - "decrement": { - "$ref": "#/components/schemas/Pattern.Ipv4Pattern.Ipv4.Counter", - "x-field-uid": 6 - } - } - }, - "Pattern.Ipv6Pattern.Ipv6.Counter": { - "description": "ipv6 counter pattern", - "type": "object", - "properties": { - "start": { - "type": "string", - "x-field-uid": 1, - "default": "::", - "format": "ipv6" - }, - "step": { - "type": "string", - "x-field-uid": 2, - "default": "::1", - "format": "ipv6" - }, - "count": { - "type": "integer", - "x-field-uid": 3, - "default": 1, - "format": "uint32" - } - } - }, - "Pattern.Ipv6Pattern.Ipv6": { - "description": "TBD", - "type": "object", - "properties": { - "choice": { - "type": "string", - "x-enum": { - "value": { - "x-field-uid": 2 - }, - "values": { - "x-field-uid": 3 - }, - "increment": { - "x-field-uid": 4 - }, - "decrement": { - "x-field-uid": 5 - } - }, - "default": "value", - "x-field-uid": 1, - "enum": [ - "value", - "values", - "increment", - "decrement" - ] - }, - "value": { - "type": "string", - "x-field-uid": 2, - "default": "::", - "format": "ipv6" - }, - "values": { - "type": "array", - "items": { - "type": "string", - "format": "ipv6" - }, - "x-field-uid": 3, - "default": [ - "::" - ] - }, - "increment": { - "$ref": "#/components/schemas/Pattern.Ipv6Pattern.Ipv6.Counter", - "x-field-uid": 5 - }, - "decrement": { - "$ref": "#/components/schemas/Pattern.Ipv6Pattern.Ipv6.Counter", - "x-field-uid": 6 - } - } - }, - "Pattern.MacPattern.Mac.Counter": { - "description": "mac counter pattern", - "type": "object", - "properties": { - "start": { - "type": "string", - "x-field-uid": 1, - "default": "00:00:00:00:00:00", - "format": "mac" - }, - "step": { - "type": "string", - "x-field-uid": 2, - "default": "00:00:00:00:00:01", - "format": "mac" - }, - "count": { - "type": "integer", - "x-field-uid": 3, - "default": 1, - "format": "uint32" - } - } - }, - "Pattern.MacPattern.Mac": { - "description": "TBD", - "type": "object", - "properties": { - "choice": { - "type": "string", - "x-enum": { - "value": { - "x-field-uid": 2 - }, - "values": { - "x-field-uid": 3 - }, - "auto": { - "x-field-uid": 1 - }, - "increment": { - "x-field-uid": 4 - }, - "decrement": { - "x-field-uid": 5 - } - }, - "default": "auto", - "x-field-uid": 1, - "enum": [ - "value", - "values", - "auto", - "increment", - "decrement" - ] - }, - "value": { - "type": "string", - "x-field-uid": 2, - "default": "00:00:00:00:00:00", - "format": "mac" - }, - "values": { - "type": "array", - "items": { - "type": "string", - "format": "mac" - }, - "x-field-uid": 3, - "default": [ - "00:00:00:00:00:00" - ] - }, - "auto": { - "description": "The OTG implementation can provide a system generated\nvalue for this property. If the OTG is unable to generate a value\nthe default value must be used.", - "type": "string", - "x-field-uid": 4, - "default": "00:00:00:00:00:00", - "format": "mac" - }, - "increment": { - "$ref": "#/components/schemas/Pattern.MacPattern.Mac.Counter", - "x-field-uid": 6 - }, - "decrement": { - "$ref": "#/components/schemas/Pattern.MacPattern.Mac.Counter", - "x-field-uid": 7 - } - } - }, - "Pattern.IntegerPattern.Integer.Counter": { - "description": "integer counter pattern", - "type": "object", - "properties": { - "start": { - "type": "integer", - "x-field-uid": 1, - "default": 0, - "format": "uint32", - "maximum": 255 - }, - "step": { - "type": "integer", - "x-field-uid": 2, - "default": 1, - "format": "uint32", - "maximum": 255 - }, - "count": { - "type": "integer", - "x-field-uid": 3, - "default": 1, - "format": "uint32", - "maximum": 255 - } - } - }, - "Pattern.IntegerPattern.Integer": { - "description": "TBD", - "type": "object", - "properties": { - "choice": { - "type": "string", - "x-enum": { - "value": { - "x-field-uid": 2 - }, - "values": { - "x-field-uid": 3 - }, - "increment": { - "x-field-uid": 4 - }, - "decrement": { - "x-field-uid": 5 - } - }, - "default": "value", - "x-field-uid": 1, - "enum": [ - "value", - "values", - "increment", - "decrement" - ] - }, - "value": { - "type": "integer", - "x-field-uid": 2, - "default": 0, - "format": "uint32", - "maximum": 255 - }, - "values": { - "type": "array", - "items": { - "type": "integer", - "format": "uint32", - "maximum": 255 - }, - "x-field-uid": 3, - "default": [ - 0 - ] - }, - "increment": { - "$ref": "#/components/schemas/Pattern.IntegerPattern.Integer.Counter", - "x-field-uid": 5 - }, - "decrement": { - "$ref": "#/components/schemas/Pattern.IntegerPattern.Integer.Counter", - "x-field-uid": 6 - } - } - }, - "Pattern.ChecksumPattern.Checksum": { - "description": "TBD", - "type": "object", - "properties": { - "choice": { - "description": "The type of checksum", - "type": "string", - "x-enum": { - "generated": { - "x-field-uid": 1 - }, - "custom": { - "x-field-uid": 2 - } - }, - "default": "generated", - "x-field-uid": 1, - "enum": [ - "generated", - "custom" - ] - }, - "generated": { - "description": "A system generated checksum value", - "type": "string", - "x-enum": { - "good": { - "x-field-uid": 1 - }, - "bad": { - "x-field-uid": 2 - } - }, - "default": "good", - "x-field-uid": 2, - "enum": [ - "good", - "bad" - ] - }, - "custom": { - "description": "A custom checksum value", - "type": "integer", - "format": "uint32", - "maximum": 255, - "x-field-uid": 3 - } - } - }, - "Version": { - "description": "Version details", - "type": "object", - "properties": { - "api_spec_version": { - "description": "Version of API specification", - "type": "string", - "default": "", - "x-field-uid": 1 - }, - "sdk_version": { - "description": "Version of SDK generated from API specification", - "type": "string", - "default": "", - "x-field-uid": 2 - }, - "app_version": { - "description": "Version of application consuming or serving the API", - "type": "string", - "default": "", - "x-field-uid": 3 - } - } - } - } - } -} \ No newline at end of file diff --git a/artifacts/openapi.yaml b/artifacts/openapi.yaml deleted file mode 100644 index 5d29df7d..00000000 --- a/artifacts/openapi.yaml +++ /dev/null @@ -1,1802 +0,0 @@ -openapi: 3.0.3 -info: - title: OpenAPIArt Test API - description: |- - Demonstrates the features of the OpenAPIArt package - version: 0.0.1 - contact: - x-info: "Any feedback such as bugs/enhancements/questions regarding OpenApiArt\ - \ is \nwelcomed by using the contact url. " - url: https://github.com/open-traffic-generator/openapiart/issues - license: - name: NO-LICENSE-PRESENT -servers: -- url: https://{hostname}:{port}/{basePath} - variables: - hostname: - default: 0.0.0.0 - port: - default: '8080' - basePath: - default: api -paths: - /config: - post: - tags: - - Bundler - operationId: set_config - description: |- - Sets configuration resources. - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/Prefix.Config' - responses: - '200': - x-field-uid: 1 - description: |- - Standard success binary payload - content: - application/octet-stream: - schema: - type: string - format: binary - default: - x-field-uid: 2 - description: |- - The request did not succeed and server has responded with error details. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - patch: - tags: - - Bundler - operationId: update_configuration - description: |- - Deprecated: please use post instead - - Sets configuration resources. - x-status: - status: deprecated - information: please use post instead - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/Update.Config' - responses: - '200': - description: |- - success 2xx - content: - application/json: - schema: - $ref: '#/components/schemas/Prefix.Config' - x-field-uid: 1 - default: - x-field-uid: 2 - description: |- - The request did not succeed and server has responded with error details. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - get: - tags: - - Bundler - operationId: get_config - description: |- - Gets the configuration resources. - responses: - '200': - description: |- - Config response - content: - application/json: - schema: - $ref: '#/components/schemas/Prefix.Config' - x-field-uid: 1 - default: - x-field-uid: 2 - description: |- - The request did not succeed and server has responded with error details. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - /metrics: - get: - tags: - - Metrics - operationId: get_metrics - description: |- - Gets metrics. - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/Metrics.Request' - responses: - '200': - description: |- - Unique metrics response - content: - application/json: - schema: - $ref: '#/components/schemas/Metrics' - x-field-uid: 1 - default: - x-field-uid: 2 - description: |- - The request did not succeed and server has responded with error details. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - /warnings: - get: - tags: - - Metrics - operationId: get_warnings - description: |- - Gets warnings. - responses: - '200': - $ref: '#/components/responses/Warnings' - x-field-uid: 1 - default: - x-field-uid: 2 - description: |- - The request did not succeed and server has responded with error details. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - delete: - tags: - - Metrics - operationId: clear_warnings - description: |- - Clears warnings. - responses: - '200': - description: |- - OK - x-field-uid: 1 - default: - x-field-uid: 2 - description: |- - The request did not succeed and server has responded with error details. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - /apitest: - get: - tags: - - ApiTest - operationId: GetRootResponse - description: |- - simple GET api with single return type - responses: - '200': - description: |- - OK - content: - application/json: - schema: - $ref: '#/components/schemas/Common.ResponseSuccess' - x-field-uid: 1 - default: - description: |- - OK - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - x-field-uid: 2 - delete: - tags: - - ApiTest - operationId: dummyResponseTest - responses: - '200': - description: |- - OK - content: - text/plain: - schema: - type: string - x-field-uid: 1 - default: - description: |- - OK - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - x-field-uid: 2 - post: - tags: - - ApiTest - operationId: PostRootResponse - description: |- - simple POST api with single return type - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ApiTest.InputBody' - responses: - '200': - description: |- - OK - content: - application/json: - schema: - $ref: '#/components/schemas/Common.ResponseSuccess' - x-field-uid: 1 - default: - description: |- - OK - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - x-field-uid: 2 - /serviceb: - get: - tags: - - ServiceAbc - operationId: GetAllItems - description: |- - return list of some items - responses: - '200': - description: |- - OK - content: - application/json: - schema: - $ref: '#/components/schemas/ServiceAbc.ItemList' - x-field-uid: 1 - default: - description: |- - OK - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - x-field-uid: 2 - /serviceb/{item_id}: - get: - tags: - - ServiceAbc - operationId: GetSingleItem - description: |- - return single item - parameters: - - in: path - name: item_id - required: true - schema: - type: string - responses: - '200': - description: |- - OK - content: - application/json: - schema: - $ref: '#/components/schemas/ServiceAbc.Item' - x-field-uid: 1 - default: - description: |- - OK - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - x-field-uid: 2 - /serviceb/{item_id}/{level_2}: - get: - tags: - - ServiceAbc - operationId: getSingleItemLevel2 - description: |- - return single item - parameters: - - in: path - name: item_id - required: true - schema: - type: string - - in: path - name: level_2 - required: true - schema: - type: string - responses: - '200': - description: |- - OK - content: - application/json: - schema: - $ref: '#/components/schemas/ServiceAbc.Item' - x-field-uid: 1 - default: - description: |- - OK - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - x-field-uid: 2 - /capabilities/version: - get: - tags: - - Capabilities - operationId: get_version - responses: - '200': - description: |- - Version details from API server - content: - application/json: - schema: - $ref: '#/components/schemas/Version' - x-field-uid: 1 - default: - x-field-uid: 2 - description: |- - The request did not succeed and server has responded with error details. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' -components: - responses: - Warnings: - description: |- - Success warning payload similar to otg Success - content: - application/json: - schema: - $ref: '#/components/schemas/Warning.Details' - schemas: - Error.Details: - type: object - properties: - errors: - type: array - items: - type: string - x-field-uid: 1 - Warning.Details: - type: object - properties: - warnings: - type: array - items: - type: string - x-field-uid: 1 - Error: - description: |- - Error response generated while serving API request. - type: object - required: - - code - - errors - properties: - code: - description: |- - Numeric status code based on underlying transport being used. - type: integer - x-field-uid: 1 - kind: - description: |- - Kind of error message. - type: string - x-enum: - transport: - x-field-uid: 1 - validation: - x-field-uid: 2 - internal: - x-field-uid: 3 - x-field-uid: 2 - enum: - - transport - - validation - - internal - errors: - description: |- - List of error messages generated while serving API request. - type: array - items: - type: string - x-field-uid: 3 - Prefix.Config: - type: object - required: - - a - - b - - c - - required_object - description: |- - Container which retains the configuration - properties: - required_object: - description: |- - A required object that MUST be generated as such. - $ref: '#/components/schemas/EObject' - x-field-uid: 1 - optional_object: - description: |- - An optional object that MUST be generated as such. - $ref: '#/components/schemas/EObject' - x-field-uid: 2 - ieee_802_1qbb: - type: boolean - x-field-uid: 3 - space_1: - type: integer - x-status: - status: deprecated - information: Information TBD - x-field-uid: 4 - description: |- - Deprecated: Information TBD - - Description TBD - full_duplex_100_mb: - type: integer - format: int64 - minimum: -10 - maximum: 4261412864 - x-field-uid: 5 - response: - description: |- - Indicate to the server what response should be returned - type: string - default: status_200 - x-field-uid: 6 - x-enum: - status_200: - x-field-uid: 1 - status_400: - x-field-uid: 2 - status_404: - x-status: - status: deprecated - information: new code will be coming soon - x-field-uid: 3 - description: |- - Deprecated: new code will be coming soon - - Description TBD - status_500: - x-status: - status: under_review - information: 500 can change to other values - x-field-uid: 4 - description: |- - Under Review: 500 can change to other values - - Description TBD - enum: - - status_200 - - status_400 - - status_404 - - status_500 - a: - x-status: - status: under_review - information: Information TBD - description: |- - Under Review: Information TBD - - Small single line description - type: string - x-field-uid: 7 - b: - description: |- - Longer multi-line description - Second line is here - Third line - type: number - format: float - x-field-uid: 8 - c: - type: integer - x-field-uid: 9 - d_values: - x-status: - status: deprecated - information: Information TBD - description: |- - Deprecated: Information TBD - - A list of enum values - type: array - items: - type: string - x-enum: - a: - x-field-uid: 1 - b: - x-field-uid: 2 - c: - x-field-uid: 3 - enum: - - a - - b - - c - x-field-uid: 10 - e: - x-status: - status: deprecated - information: Information TBD - description: |- - Deprecated: Information TBD - - A child object - $ref: '#/components/schemas/EObject' - x-field-uid: 11 - f: - description: |- - An object with only choice(s) - $ref: '#/components/schemas/FObject' - x-field-uid: 12 - g: - description: |- - A list of objects with choice and properties - type: array - items: - $ref: '#/components/schemas/GObject' - x-field-uid: 13 - h: - description: |- - A boolean value - type: boolean - default: true - x-field-uid: 14 - i: - description: |- - A byte string - type: string - format: binary - x-field-uid: 15 - j: - description: |- - A list of objects with only choice - type: array - items: - $ref: '#/components/schemas/JObject' - x-field-uid: 16 - k: - description: |- - A nested object with only one property which is a choice object - $ref: '#/components/schemas/KObject' - x-field-uid: 17 - l: - $ref: '#/components/schemas/LObject' - x-field-uid: 18 - list_of_string_values: - description: |- - A list of string values - type: array - items: - type: string - x-field-uid: 19 - list_of_integer_values: - description: |- - A list of integer values - type: array - items: - type: integer - x-field-uid: 20 - level: - $ref: '#/components/schemas/Level.One' - x-field-uid: 21 - mandatory: - $ref: '#/components/schemas/Mandate' - x-field-uid: 22 - ipv4_pattern: - $ref: '#/components/schemas/Ipv4Pattern' - x-field-uid: 23 - ipv6_pattern: - $ref: '#/components/schemas/Ipv6Pattern' - x-field-uid: 24 - mac_pattern: - $ref: '#/components/schemas/MacPattern' - x-field-uid: 25 - integer_pattern: - $ref: '#/components/schemas/IntegerPattern' - x-field-uid: 26 - checksum_pattern: - $ref: '#/components/schemas/ChecksumPattern' - x-field-uid: 27 - case: - $ref: '#/components/schemas/Layer1Ieee802x' - x-field-uid: 28 - m_object: - $ref: '#/components/schemas/MObject' - x-field-uid: 29 - integer64: - description: |- - int64 type - type: integer - format: int64 - x-field-uid: 30 - integer64_list: - description: |- - int64 type list - type: array - items: - type: integer - format: int64 - minimum: -12 - maximum: 4261412864 - x-field-uid: 31 - header_checksum: - x-field-uid: 32 - $ref: '#/components/schemas/Pattern.Prefix.Config.HeaderChecksum' - str_len: - x-status: - status: under_review - information: Information TBD - description: |- - Under Review: Information TBD - - string minimum&maximum Length - type: string - minLength: 3 - maxLength: 6 - x-field-uid: 33 - hex_slice: - x-status: - status: under_review - information: Information TBD - description: |- - Under Review: Information TBD - - Array of Hex - type: array - items: - type: string - format: hex - x-field-uid: 34 - auto_field_test: - x-field-uid: 35 - $ref: '#/components/schemas/Pattern.Prefix.Config.AutoFieldTest' - name: - x-field-uid: 36 - type: string - w_list: - type: array - items: - $ref: '#/components/schemas/WObject' - x-field-uid: 37 - x_list: - type: array - items: - $ref: '#/components/schemas/ZObject' - x-field-uid: 38 - z_object: - $ref: '#/components/schemas/ZObject' - x-field-uid: 39 - y_object: - $ref: '#/components/schemas/YObject' - x-field-uid: 40 - choice_object: - description: |- - A list of objects with choice with and without properties - type: array - items: - $ref: '#/components/schemas/ChoiceObject' - x-field-uid: 41 - required_choice_object: - $ref: '#/components/schemas/RequiredChoiceParent' - x-field-uid: 42 - g1: - description: |- - A list of objects with choice and properties - type: array - items: - $ref: '#/components/schemas/GObject' - x-field-uid: 43 - g2: - description: |- - A list of objects with choice and properties - type: array - items: - $ref: '#/components/schemas/GObject' - x-field-uid: 44 - int32_param: - description: |- - int32 type - type: integer - format: int32 - x-field-uid: 45 - int32_list_param: - description: |- - int32 type list - type: array - items: - type: integer - format: int32 - minimum: -23456 - maximum: 23456 - x-field-uid: 46 - uint32_param: - description: |- - uint32 type - type: integer - format: uint32 - x-field-uid: 47 - uint32_list_param: - description: |- - uint32 type list - type: array - items: - type: integer - format: uint32 - minimum: 0 - maximum: 4294967293 - x-field-uid: 48 - uint64_param: - description: |- - uint64 type - type: integer - format: uint64 - x-field-uid: 49 - uint64_list_param: - description: |- - uint64 type list - type: array - items: - type: integer - format: uint64 - x-field-uid: 50 - auto_int32_param: - description: |- - should automatically set type to int32 - type: integer - minimum: 64 - maximum: 9000 - x-field-uid: 51 - auto_int32_list_param: - description: |- - should automatically set type to []int32 - type: array - items: - type: integer - minimum: 64 - maximum: 9000 - x-field-uid: 52 - WObject: - required: - - w_name - properties: - w_name: - type: string - x-field-uid: 1 - ZObject: - required: - - name - properties: - name: - type: string - x-field-uid: 1 - YObject: - properties: - y_name: - type: string - x-field-uid: 1 - x-constraint: - - /components/schemas/ZObject/properties/name - - /components/schemas/WObject/properties/w_name - description: | - TBD - - x-constraint: - - /components/schemas/ZObject/properties/name - - /components/schemas/WObject/properties/w_name - Layer1Ieee802x: - type: object - properties: - flow_control: - type: boolean - x-field-uid: 1 - GObject: - type: object - x-status: - status: deprecated - information: new schema Jobject to be used - properties: - g_a: - type: string - default: asdf - x-field-uid: 1 - g_b: - type: integer - default: 6 - x-field-uid: 2 - g_c: - type: number - default: 77.7 - x-status: - status: deprecated - information: Information TBD - x-field-uid: 3 - description: |- - Deprecated: Information TBD - - Description TBD - choice: - type: string - default: g_d - x-field-uid: 4 - x-enum: - g_d: - x-field-uid: 1 - g_e: - x-field-uid: 2 - enum: - - g_d - - g_e - g_d: - type: string - default: some string - x-field-uid: 5 - g_e: - type: number - format: double - default: 3.0 - x-field-uid: 6 - g_f: - description: |- - Another enum to test protbuf enum generation - type: string - default: a - x-field-uid: 7 - x-enum: - a: - x-field-uid: 1 - b: - x-field-uid: 2 - c: - x-field-uid: 3 - enum: - - a - - b - - c - name: - x-field-uid: 8 - type: string - description: |- - Deprecated: new schema Jobject to be used - - Description TBD - EObject: - type: object - required: - - e_a - - e_b - properties: - e_a: - type: number - format: float - x-field-uid: 1 - e_b: - type: number - format: double - x-field-uid: 2 - name: - x-field-uid: 3 - type: string - m_param1: - x-field-uid: 4 - type: string - m_param2: - x-field-uid: 5 - type: string - FObject: - type: object - properties: - choice: - type: string - default: f_a - x-field-uid: 1 - x-enum: - f_a: - x-field-uid: 1 - f_b: - x-field-uid: 2 - f_c: - x-field-uid: 3 - enum: - - f_a - - f_b - - f_c - f_a: - type: string - default: some string - x-field-uid: 2 - f_b: - type: number - format: double - default: 3.0 - x-field-uid: 3 - JObject: - type: object - properties: - choice: - type: string - default: j_a - x-field-uid: 1 - x-enum: - j_a: - x-field-uid: 1 - j_b: - x-status: - status: deprecated - information: use j_a instead - x-field-uid: 2 - description: |- - Deprecated: use j_a instead - - Description TBD - enum: - - j_a - - j_b - j_a: - $ref: '#/components/schemas/EObject' - x-field-uid: 2 - j_b: - $ref: '#/components/schemas/FObject' - x-field-uid: 3 - ChoiceObject: - type: object - properties: - choice: - type: string - default: no_obj - x-field-uid: 1 - x-enum: - e_obj: - x-field-uid: 1 - f_obj: - x-field-uid: 2 - no_obj: - x-field-uid: 3 - enum: - - e_obj - - f_obj - - no_obj - e_obj: - $ref: '#/components/schemas/EObject' - x-field-uid: 2 - f_obj: - $ref: '#/components/schemas/FObject' - x-field-uid: 3 - KObject: - type: object - properties: - e_object: - $ref: '#/components/schemas/EObject' - x-field-uid: 1 - f_object: - $ref: '#/components/schemas/FObject' - x-field-uid: 2 - LObject: - description: |- - Format validation object - type: object - properties: - string_param: - type: string - x-field-uid: 1 - integer: - type: integer - minimum: -10 - maximum: 90 - x-field-uid: 2 - float: - type: number - format: float - x-field-uid: 3 - double: - type: number - format: double - x-field-uid: 4 - mac: - type: string - format: mac - x-field-uid: 5 - ipv4: - type: string - format: ipv4 - x-field-uid: 6 - ipv6: - type: string - format: ipv6 - x-field-uid: 7 - hex: - type: string - format: hex - x-field-uid: 8 - MObject: - description: |- - Required format validation object - type: object - required: - - string_param - - integer - - float - - double - - mac - - ipv4 - - ipv6 - - hex - properties: - string_param: - type: string - x-field-uid: 1 - integer: - type: integer - minimum: -10 - maximum: 90 - x-field-uid: 2 - float: - type: number - format: float - x-field-uid: 3 - double: - type: number - format: double - x-field-uid: 4 - mac: - type: string - format: mac - x-field-uid: 5 - ipv4: - type: string - format: ipv4 - x-field-uid: 6 - ipv6: - type: string - format: ipv6 - x-field-uid: 7 - hex: - type: string - format: hex - x-field-uid: 8 - Mandate: - description: |- - Object to Test required Parameter - type: object - required: - - required_param - properties: - required_param: - type: string - x-field-uid: 1 - Update.Config: - description: |- - Under Review: the whole schema is being reviewed - - Object to Test required Parameter - x-status: - status: under_review - information: the whole schema is being reviewed - type: object - properties: - g: - description: |- - A list of objects with choice and properties - type: array - items: - $ref: '#/components/schemas/GObject' - x-field-uid: 1 - Metrics.Request: - type: object - properties: - choice: - type: string - default: port - x-field-uid: 1 - x-enum: - port: - x-field-uid: 1 - flow: - x-field-uid: 2 - enum: - - port - - flow - port: - type: string - x-field-uid: 2 - flow: - type: string - x-field-uid: 3 - Metrics: - type: object - properties: - choice: - type: string - default: ports - x-field-uid: 1 - x-enum: - ports: - x-field-uid: 1 - flows: - x-field-uid: 2 - enum: - - ports - - flows - ports: - type: array - items: - $ref: '#/components/schemas/Port.Metric' - x-field-uid: 2 - flows: - type: array - items: - $ref: '#/components/schemas/Flow.Metric' - x-field-uid: 3 - Port.Metric: - type: object - required: - - name - - tx_frames - - rx_frames - properties: - name: - type: string - x-field-uid: 1 - tx_frames: - type: number - format: double - x-field-uid: 2 - rx_frames: - type: number - format: double - x-field-uid: 3 - Flow.Metric: - type: object - required: - - name - - tx_frames - - rx_frames - properties: - name: - type: string - x-field-uid: 1 - tx_frames: - type: number - format: double - x-field-uid: 2 - rx_frames: - type: number - format: double - x-field-uid: 3 - RequiredChoiceParent: - type: object - required: - - choice - properties: - choice: - type: string - x-field-uid: 1 - x-enum: - intermediate_obj: - x-field-uid: 1 - no_obj: - x-field-uid: 2 - enum: - - intermediate_obj - - no_obj - intermediate_obj: - $ref: '#/components/schemas/RequiredChoiceIntermediate' - x-field-uid: 2 - RequiredChoiceIntermediate: - type: object - required: - - choice - properties: - choice: - type: string - x-field-uid: 1 - x-enum: - f_a: - x-field-uid: 1 - leaf: - x-field-uid: 2 - enum: - - f_a - - leaf - f_a: - type: string - default: some string - x-field-uid: 2 - leaf: - $ref: '#/components/schemas/RequiredChoiceIntermeLeaf' - x-field-uid: 3 - RequiredChoiceIntermeLeaf: - type: object - properties: - name: - type: string - x-field-uid: 1 - Level.One: - description: |- - To Test Multi level non-primitive types - properties: - l1_p1: - description: |- - Level one - $ref: '#/components/schemas/Level.Two' - x-field-uid: 1 - l1_p2: - description: |- - Level one to four - $ref: '#/components/schemas/Level.Four' - x-field-uid: 2 - Level.Two: - description: |- - Test Level 2 - properties: - l2_p1: - description: |- - Level Two - $ref: '#/components/schemas/Level.Three' - x-field-uid: 1 - Level.Three: - description: |- - Test Level3 - properties: - l3_p1: - description: |- - Set value at Level 3 - type: string - x-field-uid: 1 - Level.Four: - description: |- - Test level4 redundant junk testing - properties: - l4_p1: - description: |- - loop over level 1 - $ref: '#/components/schemas/Level.One' - x-field-uid: 1 - Ipv4Pattern: - description: |- - Test ipv4 pattern - type: object - properties: - ipv4: - x-field-uid: 1 - $ref: '#/components/schemas/Pattern.Ipv4Pattern.Ipv4' - Ipv6Pattern: - description: |- - Test ipv6 pattern - type: object - properties: - ipv6: - x-field-uid: 1 - $ref: '#/components/schemas/Pattern.Ipv6Pattern.Ipv6' - MacPattern: - description: |- - Test mac pattern - type: object - properties: - mac: - x-field-uid: 1 - $ref: '#/components/schemas/Pattern.MacPattern.Mac' - IntegerPattern: - description: |- - Test integer pattern - type: object - properties: - integer: - x-field-uid: 1 - $ref: '#/components/schemas/Pattern.IntegerPattern.Integer' - ChecksumPattern: - description: |- - Test checksum pattern - type: object - properties: - checksum: - x-field-uid: 1 - $ref: '#/components/schemas/Pattern.ChecksumPattern.Checksum' - Common.ResponseSuccess: - type: object - properties: - message: - type: string - x-field-uid: 1 - ApiTest.InputBody: - type: object - properties: - some_string: - type: string - x-field-uid: 1 - ServiceAbc.Item: - type: object - properties: - some_id: - type: string - x-field-uid: 1 - some_string: - type: string - x-field-uid: 2 - path_id: - type: string - x-field-uid: 3 - level_2: - type: string - x-field-uid: 4 - ServiceAbc.ItemList: - type: object - properties: - items: - type: array - items: - $ref: '#/components/schemas/ServiceAbc.Item' - x-field-uid: 1 - Pattern.Prefix.Config.HeaderChecksum: - description: |- - Header checksum - type: object - properties: - choice: - description: |- - The type of checksum - type: string - x-enum: - generated: - x-field-uid: 1 - custom: - x-field-uid: 2 - default: generated - x-field-uid: 1 - enum: - - generated - - custom - generated: - description: |- - A system generated checksum value - type: string - x-enum: - good: - x-field-uid: 1 - bad: - x-field-uid: 2 - default: good - x-field-uid: 2 - enum: - - good - - bad - custom: - description: |- - A custom checksum value - type: integer - format: uint32 - maximum: 65535 - x-field-uid: 3 - Pattern.Prefix.Config.AutoFieldTest.Counter: - description: |- - integer counter pattern - type: object - properties: - start: - type: integer - x-field-uid: 1 - default: 0 - format: uint32 - maximum: 255 - step: - type: integer - x-field-uid: 2 - default: 1 - format: uint32 - maximum: 255 - count: - type: integer - x-field-uid: 3 - default: 1 - format: uint32 - maximum: 255 - Pattern.Prefix.Config.AutoFieldTest: - description: |- - TBD - type: object - properties: - choice: - type: string - x-enum: - value: - x-field-uid: 2 - values: - x-field-uid: 3 - auto: - x-field-uid: 1 - increment: - x-field-uid: 4 - decrement: - x-field-uid: 5 - default: auto - x-field-uid: 1 - enum: - - value - - values - - auto - - increment - - decrement - value: - type: integer - x-field-uid: 2 - default: 0 - format: uint32 - maximum: 255 - values: - type: array - items: - type: integer - format: uint32 - maximum: 255 - x-field-uid: 3 - default: - - 0 - auto: - description: |- - The OTG implementation can provide a system generated - value for this property. If the OTG is unable to generate a value - the default value must be used. - type: integer - x-field-uid: 4 - default: 0 - format: uint32 - maximum: 255 - increment: - $ref: '#/components/schemas/Pattern.Prefix.Config.AutoFieldTest.Counter' - x-field-uid: 6 - decrement: - $ref: '#/components/schemas/Pattern.Prefix.Config.AutoFieldTest.Counter' - x-field-uid: 7 - Pattern.Ipv4Pattern.Ipv4.Counter: - description: |- - ipv4 counter pattern - type: object - properties: - start: - type: string - x-field-uid: 1 - default: 0.0.0.0 - format: ipv4 - step: - type: string - x-field-uid: 2 - default: 0.0.0.1 - format: ipv4 - count: - type: integer - x-field-uid: 3 - default: 1 - format: uint32 - Pattern.Ipv4Pattern.Ipv4: - description: |- - TBD - type: object - properties: - choice: - type: string - x-enum: - value: - x-field-uid: 2 - values: - x-field-uid: 3 - increment: - x-field-uid: 4 - decrement: - x-field-uid: 5 - default: value - x-field-uid: 1 - enum: - - value - - values - - increment - - decrement - value: - type: string - x-field-uid: 2 - default: 0.0.0.0 - format: ipv4 - values: - type: array - items: - type: string - format: ipv4 - x-field-uid: 3 - default: - - 0.0.0.0 - increment: - $ref: '#/components/schemas/Pattern.Ipv4Pattern.Ipv4.Counter' - x-field-uid: 5 - decrement: - $ref: '#/components/schemas/Pattern.Ipv4Pattern.Ipv4.Counter' - x-field-uid: 6 - Pattern.Ipv6Pattern.Ipv6.Counter: - description: |- - ipv6 counter pattern - type: object - properties: - start: - type: string - x-field-uid: 1 - default: '::' - format: ipv6 - step: - type: string - x-field-uid: 2 - default: ::1 - format: ipv6 - count: - type: integer - x-field-uid: 3 - default: 1 - format: uint32 - Pattern.Ipv6Pattern.Ipv6: - description: |- - TBD - type: object - properties: - choice: - type: string - x-enum: - value: - x-field-uid: 2 - values: - x-field-uid: 3 - increment: - x-field-uid: 4 - decrement: - x-field-uid: 5 - default: value - x-field-uid: 1 - enum: - - value - - values - - increment - - decrement - value: - type: string - x-field-uid: 2 - default: '::' - format: ipv6 - values: - type: array - items: - type: string - format: ipv6 - x-field-uid: 3 - default: - - '::' - increment: - $ref: '#/components/schemas/Pattern.Ipv6Pattern.Ipv6.Counter' - x-field-uid: 5 - decrement: - $ref: '#/components/schemas/Pattern.Ipv6Pattern.Ipv6.Counter' - x-field-uid: 6 - Pattern.MacPattern.Mac.Counter: - description: |- - mac counter pattern - type: object - properties: - start: - type: string - x-field-uid: 1 - default: 00:00:00:00:00:00 - format: mac - step: - type: string - x-field-uid: 2 - default: 00:00:00:00:00:01 - format: mac - count: - type: integer - x-field-uid: 3 - default: 1 - format: uint32 - Pattern.MacPattern.Mac: - description: |- - TBD - type: object - properties: - choice: - type: string - x-enum: - value: - x-field-uid: 2 - values: - x-field-uid: 3 - auto: - x-field-uid: 1 - increment: - x-field-uid: 4 - decrement: - x-field-uid: 5 - default: auto - x-field-uid: 1 - enum: - - value - - values - - auto - - increment - - decrement - value: - type: string - x-field-uid: 2 - default: 00:00:00:00:00:00 - format: mac - values: - type: array - items: - type: string - format: mac - x-field-uid: 3 - default: - - 00:00:00:00:00:00 - auto: - description: |- - The OTG implementation can provide a system generated - value for this property. If the OTG is unable to generate a value - the default value must be used. - type: string - x-field-uid: 4 - default: 00:00:00:00:00:00 - format: mac - increment: - $ref: '#/components/schemas/Pattern.MacPattern.Mac.Counter' - x-field-uid: 6 - decrement: - $ref: '#/components/schemas/Pattern.MacPattern.Mac.Counter' - x-field-uid: 7 - Pattern.IntegerPattern.Integer.Counter: - description: |- - integer counter pattern - type: object - properties: - start: - type: integer - x-field-uid: 1 - default: 0 - format: uint32 - maximum: 255 - step: - type: integer - x-field-uid: 2 - default: 1 - format: uint32 - maximum: 255 - count: - type: integer - x-field-uid: 3 - default: 1 - format: uint32 - maximum: 255 - Pattern.IntegerPattern.Integer: - description: |- - TBD - type: object - properties: - choice: - type: string - x-enum: - value: - x-field-uid: 2 - values: - x-field-uid: 3 - increment: - x-field-uid: 4 - decrement: - x-field-uid: 5 - default: value - x-field-uid: 1 - enum: - - value - - values - - increment - - decrement - value: - type: integer - x-field-uid: 2 - default: 0 - format: uint32 - maximum: 255 - values: - type: array - items: - type: integer - format: uint32 - maximum: 255 - x-field-uid: 3 - default: - - 0 - increment: - $ref: '#/components/schemas/Pattern.IntegerPattern.Integer.Counter' - x-field-uid: 5 - decrement: - $ref: '#/components/schemas/Pattern.IntegerPattern.Integer.Counter' - x-field-uid: 6 - Pattern.ChecksumPattern.Checksum: - description: |- - TBD - type: object - properties: - choice: - description: |- - The type of checksum - type: string - x-enum: - generated: - x-field-uid: 1 - custom: - x-field-uid: 2 - default: generated - x-field-uid: 1 - enum: - - generated - - custom - generated: - description: |- - A system generated checksum value - type: string - x-enum: - good: - x-field-uid: 1 - bad: - x-field-uid: 2 - default: good - x-field-uid: 2 - enum: - - good - - bad - custom: - description: |- - A custom checksum value - type: integer - format: uint32 - maximum: 255 - x-field-uid: 3 - Version: - description: |- - Version details - type: object - properties: - api_spec_version: - description: |- - Version of API specification - type: string - default: '' - x-field-uid: 1 - sdk_version: - description: |- - Version of SDK generated from API specification - type: string - default: '' - x-field-uid: 2 - app_version: - description: |- - Version of application consuming or serving the API - type: string - default: '' - x-field-uid: 3 diff --git a/artifacts/openapiart_go/go.mod b/artifacts/openapiart_go/go.mod deleted file mode 100644 index bc1502e8..00000000 --- a/artifacts/openapiart_go/go.mod +++ /dev/null @@ -1,13 +0,0 @@ -module github.com/open-traffic-generator/openapiart/pkg - -go 1.16 - -require ( - github.com/Masterminds/semver/v3 v3.2.1 - github.com/ghodss/yaml v1.0.0 - github.com/golang/protobuf v1.5.3 - github.com/gorilla/mux v1.8.0 - github.com/stretchr/testify v1.8.4 - google.golang.org/grpc v1.58.0 - google.golang.org/protobuf v1.31.0 -) diff --git a/artifacts/openapiart_go/go.sum b/artifacts/openapiart_go/go.sum deleted file mode 100644 index 27a150c1..00000000 --- a/artifacts/openapiart_go/go.sum +++ /dev/null @@ -1,1763 +0,0 @@ -cloud.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/Masterminds/semver/v3 v3.2.1 h1:RN9w6+7QoMeJVGyfmbcgs28Br8cvmnucEXnY0rYXWg0= -github.com/Masterminds/semver/v3 v3.2.1/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ= -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/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/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/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 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= -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/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= -github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= -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 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= -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 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/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= -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/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 h1:cfawfvKITfUsFCeJIHJrbSxpeu/E81khclypR0GVT50= -golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= -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 h1:SqMFp9UcQJZa+pmYuAKjd9xq1f0j5rLcDIk0mj4qAsA= -golang.org/x/sys v0.10.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/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 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4= -golang.org/x/text v0.11.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/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.0 h1:32JY8YpPMSR45K+c3o6b8VL73V+rR8k+DeMIr4vRH8o= -google.golang.org/grpc v1.58.0/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 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/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 h1:fvjTMHxHEw/mxHbtzPi3JCcKXQRAnQTBRo6YCJSVHKI= -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= diff --git a/artifacts/openapiart_go/httpapi/controllers/apitest_controller.go b/artifacts/openapiart_go/httpapi/controllers/apitest_controller.go deleted file mode 100644 index 17fc85c8..00000000 --- a/artifacts/openapiart_go/httpapi/controllers/apitest_controller.go +++ /dev/null @@ -1,195 +0,0 @@ -// This file is autogenerated. Do not modify -package controllers - -import ( - "errors" - "io" - "log" - "net/http" - - openapiart "github.com/open-traffic-generator/openapiart/pkg" - "github.com/open-traffic-generator/openapiart/pkg/httpapi" - "github.com/open-traffic-generator/openapiart/pkg/httpapi/interfaces" -) - -type apiTestController struct { - handler interfaces.ApiTestHandler -} - -func NewHttpApiTestController(handler interfaces.ApiTestHandler) interfaces.ApiTestController { - return &apiTestController{handler} -} - -func (ctrl *apiTestController) Routes() []httpapi.Route { - return []httpapi.Route{ - {Path: "/api/apitest", Method: "GET", Name: "GetRootResponse", Handler: ctrl.GetRootResponse}, - {Path: "/api/apitest", Method: "DELETE", Name: "DummyResponseTest", Handler: ctrl.DummyResponseTest}, - {Path: "/api/apitest", Method: "POST", Name: "PostRootResponse", Handler: ctrl.PostRootResponse}, - } -} - -/* -GetRootResponse: GET /api/apitest -Description: simple GET api with single return type -*/ -func (ctrl *apiTestController) GetRootResponse(w http.ResponseWriter, r *http.Request) { - result, err := ctrl.handler.GetRootResponse(r) - if err != nil { - ctrl.responseGetRootResponseError(w, "internal", err) - return - } - - if result.HasCommonResponseSuccess() { - if _, err := httpapi.WriteJSONResponse(w, 200, result.CommonResponseSuccess()); err != nil { - log.Print(err.Error()) - } - return - } - ctrl.responseGetRootResponseError(w, "internal", errors.New("Unknown error")) -} - -func (ctrl *apiTestController) responseGetRootResponseError(w http.ResponseWriter, errorKind openapiart.ErrorKindEnum, rsp_err error) { - var result openapiart.Error - var statusCode int32 - if errorKind == "validation" { - statusCode = 400 - } else if errorKind == "internal" { - statusCode = 500 - } - - if rErr, ok := rsp_err.(openapiart.Error); ok { - result = rErr - } else { - result = openapiart.NewError() - err := result.FromJson(rsp_err.Error()) - if err != nil { - result.Msg().Code = statusCode - err = result.SetKind(errorKind) - if err != nil { - log.Print(err.Error()) - } - result.Msg().Errors = []string{rsp_err.Error()} - } - } - - if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { - log.Print(err.Error()) - } -} - -/* -DummyResponseTest: DELETE /api/apitest -Description: -*/ -func (ctrl *apiTestController) DummyResponseTest(w http.ResponseWriter, r *http.Request) { - result, err := ctrl.handler.DummyResponseTest(r) - if err != nil { - ctrl.responseDummyResponseTestError(w, "internal", err) - return - } - - if result.HasResponseString() { - if _, err := httpapi.WriteAnyResponse(w, 200, result.ResponseString()); err != nil { - log.Print(err.Error()) - } - return - } - ctrl.responseDummyResponseTestError(w, "internal", errors.New("Unknown error")) -} - -func (ctrl *apiTestController) responseDummyResponseTestError(w http.ResponseWriter, errorKind openapiart.ErrorKindEnum, rsp_err error) { - var result openapiart.Error - var statusCode int32 - if errorKind == "validation" { - statusCode = 400 - } else if errorKind == "internal" { - statusCode = 500 - } - - if rErr, ok := rsp_err.(openapiart.Error); ok { - result = rErr - } else { - result = openapiart.NewError() - err := result.FromJson(rsp_err.Error()) - if err != nil { - result.Msg().Code = statusCode - err = result.SetKind(errorKind) - if err != nil { - log.Print(err.Error()) - } - result.Msg().Errors = []string{rsp_err.Error()} - } - } - - if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { - log.Print(err.Error()) - } -} - -/* -PostRootResponse: POST /api/apitest -Description: simple POST api with single return type -*/ -func (ctrl *apiTestController) PostRootResponse(w http.ResponseWriter, r *http.Request) { - var item openapiart.ApiTestInputBody - if r.Body != nil { - body, readError := io.ReadAll(r.Body) - if body != nil { - item = openapiart.NewApiTestInputBody() - err := item.FromJson(string(body)) - if err != nil { - ctrl.responsePostRootResponseError(w, "validation", err) - return - } - } else { - ctrl.responsePostRootResponseError(w, "validation", readError) - return - } - } else { - bodyError := errors.New("Request does not have a body") - ctrl.responsePostRootResponseError(w, "validation", bodyError) - return - } - result, err := ctrl.handler.PostRootResponse(item, r) - if err != nil { - ctrl.responsePostRootResponseError(w, "internal", err) - return - } - - if result.HasCommonResponseSuccess() { - if _, err := httpapi.WriteJSONResponse(w, 200, result.CommonResponseSuccess()); err != nil { - log.Print(err.Error()) - } - return - } - ctrl.responsePostRootResponseError(w, "internal", errors.New("Unknown error")) -} - -func (ctrl *apiTestController) responsePostRootResponseError(w http.ResponseWriter, errorKind openapiart.ErrorKindEnum, rsp_err error) { - var result openapiart.Error - var statusCode int32 - if errorKind == "validation" { - statusCode = 400 - } else if errorKind == "internal" { - statusCode = 500 - } - - if rErr, ok := rsp_err.(openapiart.Error); ok { - result = rErr - } else { - result = openapiart.NewError() - err := result.FromJson(rsp_err.Error()) - if err != nil { - result.Msg().Code = statusCode - err = result.SetKind(errorKind) - if err != nil { - log.Print(err.Error()) - } - result.Msg().Errors = []string{rsp_err.Error()} - } - } - - if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { - log.Print(err.Error()) - } -} diff --git a/artifacts/openapiart_go/httpapi/controllers/bundler_controller.go b/artifacts/openapiart_go/httpapi/controllers/bundler_controller.go deleted file mode 100644 index a33b0710..00000000 --- a/artifacts/openapiart_go/httpapi/controllers/bundler_controller.go +++ /dev/null @@ -1,216 +0,0 @@ -// This file is autogenerated. Do not modify -package controllers - -import ( - "errors" - "io" - "log" - "net/http" - - openapiart "github.com/open-traffic-generator/openapiart/pkg" - "github.com/open-traffic-generator/openapiart/pkg/httpapi" - "github.com/open-traffic-generator/openapiart/pkg/httpapi/interfaces" -) - -type bundlerController struct { - handler interfaces.BundlerHandler -} - -func NewHttpBundlerController(handler interfaces.BundlerHandler) interfaces.BundlerController { - return &bundlerController{handler} -} - -func (ctrl *bundlerController) Routes() []httpapi.Route { - return []httpapi.Route{ - {Path: "/api/config", Method: "POST", Name: "SetConfig", Handler: ctrl.SetConfig}, - {Path: "/api/config", Method: "PATCH", Name: "UpdateConfiguration", Handler: ctrl.UpdateConfiguration}, - {Path: "/api/config", Method: "GET", Name: "GetConfig", Handler: ctrl.GetConfig}, - } -} - -/* -SetConfig: POST /api/config -Description: Sets configuration resources. -*/ -func (ctrl *bundlerController) SetConfig(w http.ResponseWriter, r *http.Request) { - var item openapiart.PrefixConfig - if r.Body != nil { - body, readError := io.ReadAll(r.Body) - if body != nil { - item = openapiart.NewPrefixConfig() - err := item.FromJson(string(body)) - if err != nil { - ctrl.responseSetConfigError(w, "validation", err) - return - } - } else { - ctrl.responseSetConfigError(w, "validation", readError) - return - } - } else { - bodyError := errors.New("Request does not have a body") - ctrl.responseSetConfigError(w, "validation", bodyError) - return - } - result, err := ctrl.handler.SetConfig(item, r) - if err != nil { - ctrl.responseSetConfigError(w, "internal", err) - return - } - - if result.HasResponseBytes() { - if _, err := httpapi.WriteByteResponse(w, 200, result.ResponseBytes()); err != nil { - log.Print(err.Error()) - } - return - } - ctrl.responseSetConfigError(w, "internal", errors.New("Unknown error")) -} - -func (ctrl *bundlerController) responseSetConfigError(w http.ResponseWriter, errorKind openapiart.ErrorKindEnum, rsp_err error) { - var result openapiart.Error - var statusCode int32 - if errorKind == "validation" { - statusCode = 400 - } else if errorKind == "internal" { - statusCode = 500 - } - - if rErr, ok := rsp_err.(openapiart.Error); ok { - result = rErr - } else { - result = openapiart.NewError() - err := result.FromJson(rsp_err.Error()) - if err != nil { - result.Msg().Code = statusCode - err = result.SetKind(errorKind) - if err != nil { - log.Print(err.Error()) - } - result.Msg().Errors = []string{rsp_err.Error()} - } - } - - if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { - log.Print(err.Error()) - } -} - -/* -UpdateConfiguration: PATCH /api/config -Description: Deprecated: please use post instead - -Sets configuration resources. -*/ -func (ctrl *bundlerController) UpdateConfiguration(w http.ResponseWriter, r *http.Request) { - var item openapiart.UpdateConfig - if r.Body != nil { - body, readError := io.ReadAll(r.Body) - if body != nil { - item = openapiart.NewUpdateConfig() - err := item.FromJson(string(body)) - if err != nil { - ctrl.responseUpdateConfigurationError(w, "validation", err) - return - } - } else { - ctrl.responseUpdateConfigurationError(w, "validation", readError) - return - } - } else { - bodyError := errors.New("Request does not have a body") - ctrl.responseUpdateConfigurationError(w, "validation", bodyError) - return - } - result, err := ctrl.handler.UpdateConfiguration(item, r) - if err != nil { - ctrl.responseUpdateConfigurationError(w, "internal", err) - return - } - - if result.HasPrefixConfig() { - if _, err := httpapi.WriteJSONResponse(w, 200, result.PrefixConfig()); err != nil { - log.Print(err.Error()) - } - return - } - ctrl.responseUpdateConfigurationError(w, "internal", errors.New("Unknown error")) -} - -func (ctrl *bundlerController) responseUpdateConfigurationError(w http.ResponseWriter, errorKind openapiart.ErrorKindEnum, rsp_err error) { - var result openapiart.Error - var statusCode int32 - if errorKind == "validation" { - statusCode = 400 - } else if errorKind == "internal" { - statusCode = 500 - } - - if rErr, ok := rsp_err.(openapiart.Error); ok { - result = rErr - } else { - result = openapiart.NewError() - err := result.FromJson(rsp_err.Error()) - if err != nil { - result.Msg().Code = statusCode - err = result.SetKind(errorKind) - if err != nil { - log.Print(err.Error()) - } - result.Msg().Errors = []string{rsp_err.Error()} - } - } - - if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { - log.Print(err.Error()) - } -} - -/* -GetConfig: GET /api/config -Description: Gets the configuration resources. -*/ -func (ctrl *bundlerController) GetConfig(w http.ResponseWriter, r *http.Request) { - result, err := ctrl.handler.GetConfig(r) - if err != nil { - ctrl.responseGetConfigError(w, "internal", err) - return - } - - if result.HasPrefixConfig() { - if _, err := httpapi.WriteJSONResponse(w, 200, result.PrefixConfig()); err != nil { - log.Print(err.Error()) - } - return - } - ctrl.responseGetConfigError(w, "internal", errors.New("Unknown error")) -} - -func (ctrl *bundlerController) responseGetConfigError(w http.ResponseWriter, errorKind openapiart.ErrorKindEnum, rsp_err error) { - var result openapiart.Error - var statusCode int32 - if errorKind == "validation" { - statusCode = 400 - } else if errorKind == "internal" { - statusCode = 500 - } - - if rErr, ok := rsp_err.(openapiart.Error); ok { - result = rErr - } else { - result = openapiart.NewError() - err := result.FromJson(rsp_err.Error()) - if err != nil { - result.Msg().Code = statusCode - err = result.SetKind(errorKind) - if err != nil { - log.Print(err.Error()) - } - result.Msg().Errors = []string{rsp_err.Error()} - } - } - - if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { - log.Print(err.Error()) - } -} diff --git a/artifacts/openapiart_go/httpapi/controllers/capabilities_controller.go b/artifacts/openapiart_go/httpapi/controllers/capabilities_controller.go deleted file mode 100644 index fa3648cf..00000000 --- a/artifacts/openapiart_go/httpapi/controllers/capabilities_controller.go +++ /dev/null @@ -1,75 +0,0 @@ -// This file is autogenerated. Do not modify -package controllers - -import ( - "errors" - "log" - "net/http" - - openapiart "github.com/open-traffic-generator/openapiart/pkg" - "github.com/open-traffic-generator/openapiart/pkg/httpapi" - "github.com/open-traffic-generator/openapiart/pkg/httpapi/interfaces" -) - -type capabilitiesController struct { - handler interfaces.CapabilitiesHandler -} - -func NewHttpCapabilitiesController(handler interfaces.CapabilitiesHandler) interfaces.CapabilitiesController { - return &capabilitiesController{handler} -} - -func (ctrl *capabilitiesController) Routes() []httpapi.Route { - return []httpapi.Route{ - {Path: "/api/capabilities/version", Method: "GET", Name: "GetVersion", Handler: ctrl.GetVersion}, - } -} - -/* -GetVersion: GET /api/capabilities/version -Description: -*/ -func (ctrl *capabilitiesController) GetVersion(w http.ResponseWriter, r *http.Request) { - result, err := ctrl.handler.GetVersion(r) - if err != nil { - ctrl.responseGetVersionError(w, "internal", err) - return - } - - if result.HasVersion() { - if _, err := httpapi.WriteJSONResponse(w, 200, result.Version()); err != nil { - log.Print(err.Error()) - } - return - } - ctrl.responseGetVersionError(w, "internal", errors.New("Unknown error")) -} - -func (ctrl *capabilitiesController) responseGetVersionError(w http.ResponseWriter, errorKind openapiart.ErrorKindEnum, rsp_err error) { - var result openapiart.Error - var statusCode int32 - if errorKind == "validation" { - statusCode = 400 - } else if errorKind == "internal" { - statusCode = 500 - } - - if rErr, ok := rsp_err.(openapiart.Error); ok { - result = rErr - } else { - result = openapiart.NewError() - err := result.FromJson(rsp_err.Error()) - if err != nil { - result.Msg().Code = statusCode - err = result.SetKind(errorKind) - if err != nil { - log.Print(err.Error()) - } - result.Msg().Errors = []string{rsp_err.Error()} - } - } - - if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { - log.Print(err.Error()) - } -} diff --git a/artifacts/openapiart_go/httpapi/controllers/metrics_controller.go b/artifacts/openapiart_go/httpapi/controllers/metrics_controller.go deleted file mode 100644 index 5c3be79a..00000000 --- a/artifacts/openapiart_go/httpapi/controllers/metrics_controller.go +++ /dev/null @@ -1,195 +0,0 @@ -// This file is autogenerated. Do not modify -package controllers - -import ( - "errors" - "io" - "log" - "net/http" - - openapiart "github.com/open-traffic-generator/openapiart/pkg" - "github.com/open-traffic-generator/openapiart/pkg/httpapi" - "github.com/open-traffic-generator/openapiart/pkg/httpapi/interfaces" -) - -type metricsController struct { - handler interfaces.MetricsHandler -} - -func NewHttpMetricsController(handler interfaces.MetricsHandler) interfaces.MetricsController { - return &metricsController{handler} -} - -func (ctrl *metricsController) Routes() []httpapi.Route { - return []httpapi.Route{ - {Path: "/api/metrics", Method: "GET", Name: "GetMetrics", Handler: ctrl.GetMetrics}, - {Path: "/api/warnings", Method: "GET", Name: "GetWarnings", Handler: ctrl.GetWarnings}, - {Path: "/api/warnings", Method: "DELETE", Name: "ClearWarnings", Handler: ctrl.ClearWarnings}, - } -} - -/* -GetMetrics: GET /api/metrics -Description: Gets metrics. -*/ -func (ctrl *metricsController) GetMetrics(w http.ResponseWriter, r *http.Request) { - var item openapiart.MetricsRequest - if r.Body != nil { - body, readError := io.ReadAll(r.Body) - if body != nil { - item = openapiart.NewMetricsRequest() - err := item.FromJson(string(body)) - if err != nil { - ctrl.responseGetMetricsError(w, "validation", err) - return - } - } else { - ctrl.responseGetMetricsError(w, "validation", readError) - return - } - } else { - bodyError := errors.New("Request does not have a body") - ctrl.responseGetMetricsError(w, "validation", bodyError) - return - } - result, err := ctrl.handler.GetMetrics(item, r) - if err != nil { - ctrl.responseGetMetricsError(w, "internal", err) - return - } - - if result.HasMetrics() { - if _, err := httpapi.WriteJSONResponse(w, 200, result.Metrics()); err != nil { - log.Print(err.Error()) - } - return - } - ctrl.responseGetMetricsError(w, "internal", errors.New("Unknown error")) -} - -func (ctrl *metricsController) responseGetMetricsError(w http.ResponseWriter, errorKind openapiart.ErrorKindEnum, rsp_err error) { - var result openapiart.Error - var statusCode int32 - if errorKind == "validation" { - statusCode = 400 - } else if errorKind == "internal" { - statusCode = 500 - } - - if rErr, ok := rsp_err.(openapiart.Error); ok { - result = rErr - } else { - result = openapiart.NewError() - err := result.FromJson(rsp_err.Error()) - if err != nil { - result.Msg().Code = statusCode - err = result.SetKind(errorKind) - if err != nil { - log.Print(err.Error()) - } - result.Msg().Errors = []string{rsp_err.Error()} - } - } - - if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { - log.Print(err.Error()) - } -} - -/* -GetWarnings: GET /api/warnings -Description: Gets warnings. -*/ -func (ctrl *metricsController) GetWarnings(w http.ResponseWriter, r *http.Request) { - result, err := ctrl.handler.GetWarnings(r) - if err != nil { - ctrl.responseGetWarningsError(w, "internal", err) - return - } - - if result.HasWarningDetails() { - if _, err := httpapi.WriteJSONResponse(w, 200, result.WarningDetails()); err != nil { - log.Print(err.Error()) - } - return - } - ctrl.responseGetWarningsError(w, "internal", errors.New("Unknown error")) -} - -func (ctrl *metricsController) responseGetWarningsError(w http.ResponseWriter, errorKind openapiart.ErrorKindEnum, rsp_err error) { - var result openapiart.Error - var statusCode int32 - if errorKind == "validation" { - statusCode = 400 - } else if errorKind == "internal" { - statusCode = 500 - } - - if rErr, ok := rsp_err.(openapiart.Error); ok { - result = rErr - } else { - result = openapiart.NewError() - err := result.FromJson(rsp_err.Error()) - if err != nil { - result.Msg().Code = statusCode - err = result.SetKind(errorKind) - if err != nil { - log.Print(err.Error()) - } - result.Msg().Errors = []string{rsp_err.Error()} - } - } - - if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { - log.Print(err.Error()) - } -} - -/* -ClearWarnings: DELETE /api/warnings -Description: Clears warnings. -*/ -func (ctrl *metricsController) ClearWarnings(w http.ResponseWriter, r *http.Request) { - result, err := ctrl.handler.ClearWarnings(r) - if err != nil { - ctrl.responseClearWarningsError(w, "internal", err) - return - } - - if result.HasResponseString() { - if _, err := httpapi.WriteAnyResponse(w, 200, result.ResponseString()); err != nil { - log.Print(err.Error()) - } - return - } - ctrl.responseClearWarningsError(w, "internal", errors.New("Unknown error")) -} - -func (ctrl *metricsController) responseClearWarningsError(w http.ResponseWriter, errorKind openapiart.ErrorKindEnum, rsp_err error) { - var result openapiart.Error - var statusCode int32 - if errorKind == "validation" { - statusCode = 400 - } else if errorKind == "internal" { - statusCode = 500 - } - - if rErr, ok := rsp_err.(openapiart.Error); ok { - result = rErr - } else { - result = openapiart.NewError() - err := result.FromJson(rsp_err.Error()) - if err != nil { - result.Msg().Code = statusCode - err = result.SetKind(errorKind) - if err != nil { - log.Print(err.Error()) - } - result.Msg().Errors = []string{rsp_err.Error()} - } - } - - if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { - log.Print(err.Error()) - } -} diff --git a/artifacts/openapiart_go/httpapi/controllers/serviceabc_controller.go b/artifacts/openapiart_go/httpapi/controllers/serviceabc_controller.go deleted file mode 100644 index 1052353a..00000000 --- a/artifacts/openapiart_go/httpapi/controllers/serviceabc_controller.go +++ /dev/null @@ -1,175 +0,0 @@ -// This file is autogenerated. Do not modify -package controllers - -import ( - "errors" - "log" - "net/http" - - openapiart "github.com/open-traffic-generator/openapiart/pkg" - "github.com/open-traffic-generator/openapiart/pkg/httpapi" - "github.com/open-traffic-generator/openapiart/pkg/httpapi/interfaces" -) - -type serviceAbcController struct { - handler interfaces.ServiceAbcHandler -} - -func NewHttpServiceAbcController(handler interfaces.ServiceAbcHandler) interfaces.ServiceAbcController { - return &serviceAbcController{handler} -} - -func (ctrl *serviceAbcController) Routes() []httpapi.Route { - return []httpapi.Route{ - {Path: "/api/serviceb", Method: "GET", Name: "GetAllItems", Handler: ctrl.GetAllItems}, - {Path: "/api/serviceb/{item_id}", Method: "GET", Name: "GetSingleItem", Handler: ctrl.GetSingleItem}, - {Path: "/api/serviceb/{item_id}/{level_2}", Method: "GET", Name: "GetSingleItemLevel2", Handler: ctrl.GetSingleItemLevel2}, - } -} - -/* -GetAllItems: GET /api/serviceb -Description: return list of some items -*/ -func (ctrl *serviceAbcController) GetAllItems(w http.ResponseWriter, r *http.Request) { - result, err := ctrl.handler.GetAllItems(r) - if err != nil { - ctrl.responseGetAllItemsError(w, "internal", err) - return - } - - if result.HasServiceAbcItemList() { - if _, err := httpapi.WriteJSONResponse(w, 200, result.ServiceAbcItemList()); err != nil { - log.Print(err.Error()) - } - return - } - ctrl.responseGetAllItemsError(w, "internal", errors.New("Unknown error")) -} - -func (ctrl *serviceAbcController) responseGetAllItemsError(w http.ResponseWriter, errorKind openapiart.ErrorKindEnum, rsp_err error) { - var result openapiart.Error - var statusCode int32 - if errorKind == "validation" { - statusCode = 400 - } else if errorKind == "internal" { - statusCode = 500 - } - - if rErr, ok := rsp_err.(openapiart.Error); ok { - result = rErr - } else { - result = openapiart.NewError() - err := result.FromJson(rsp_err.Error()) - if err != nil { - result.Msg().Code = statusCode - err = result.SetKind(errorKind) - if err != nil { - log.Print(err.Error()) - } - result.Msg().Errors = []string{rsp_err.Error()} - } - } - - if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { - log.Print(err.Error()) - } -} - -/* -GetSingleItem: GET /api/serviceb/{item_id} -Description: return single item -*/ -func (ctrl *serviceAbcController) GetSingleItem(w http.ResponseWriter, r *http.Request) { - result, err := ctrl.handler.GetSingleItem(r) - if err != nil { - ctrl.responseGetSingleItemError(w, "internal", err) - return - } - - if result.HasServiceAbcItem() { - if _, err := httpapi.WriteJSONResponse(w, 200, result.ServiceAbcItem()); err != nil { - log.Print(err.Error()) - } - return - } - ctrl.responseGetSingleItemError(w, "internal", errors.New("Unknown error")) -} - -func (ctrl *serviceAbcController) responseGetSingleItemError(w http.ResponseWriter, errorKind openapiart.ErrorKindEnum, rsp_err error) { - var result openapiart.Error - var statusCode int32 - if errorKind == "validation" { - statusCode = 400 - } else if errorKind == "internal" { - statusCode = 500 - } - - if rErr, ok := rsp_err.(openapiart.Error); ok { - result = rErr - } else { - result = openapiart.NewError() - err := result.FromJson(rsp_err.Error()) - if err != nil { - result.Msg().Code = statusCode - err = result.SetKind(errorKind) - if err != nil { - log.Print(err.Error()) - } - result.Msg().Errors = []string{rsp_err.Error()} - } - } - - if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { - log.Print(err.Error()) - } -} - -/* -GetSingleItemLevel2: GET /api/serviceb/{item_id}/{level_2} -Description: return single item -*/ -func (ctrl *serviceAbcController) GetSingleItemLevel2(w http.ResponseWriter, r *http.Request) { - result, err := ctrl.handler.GetSingleItemLevel2(r) - if err != nil { - ctrl.responseGetSingleItemLevel2Error(w, "internal", err) - return - } - - if result.HasServiceAbcItem() { - if _, err := httpapi.WriteJSONResponse(w, 200, result.ServiceAbcItem()); err != nil { - log.Print(err.Error()) - } - return - } - ctrl.responseGetSingleItemLevel2Error(w, "internal", errors.New("Unknown error")) -} - -func (ctrl *serviceAbcController) responseGetSingleItemLevel2Error(w http.ResponseWriter, errorKind openapiart.ErrorKindEnum, rsp_err error) { - var result openapiart.Error - var statusCode int32 - if errorKind == "validation" { - statusCode = 400 - } else if errorKind == "internal" { - statusCode = 500 - } - - if rErr, ok := rsp_err.(openapiart.Error); ok { - result = rErr - } else { - result = openapiart.NewError() - err := result.FromJson(rsp_err.Error()) - if err != nil { - result.Msg().Code = statusCode - err = result.SetKind(errorKind) - if err != nil { - log.Print(err.Error()) - } - result.Msg().Errors = []string{rsp_err.Error()} - } - } - - if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { - log.Print(err.Error()) - } -} diff --git a/artifacts/openapiart_go/httpapi/http_setup.go b/artifacts/openapiart_go/httpapi/http_setup.go deleted file mode 100644 index 21eda6d7..00000000 --- a/artifacts/openapiart_go/httpapi/http_setup.go +++ /dev/null @@ -1,40 +0,0 @@ -// This file is autogenerated. Do not modify -package httpapi - -import ( - "net/http" - - "github.com/gorilla/mux" -) - -// Route defines the parameters for an api endpoint. -type Route struct { - Name string - Method string - Path string - Handler http.HandlerFunc -} - -// Controller creates a set of HTTP routes. -type HttpController interface { - Routes() []Route -} - -// AppendRoutes appends the routes of one or more Controllers to a mux.Router. -// If a nil router is passed, a new router will be created here. -func AppendRoutes(router *mux.Router, controllers ...HttpController) *mux.Router { - if router == nil { - router = mux.NewRouter() - } - - for _, controller := range controllers { - for _, route := range controller.Routes() { - router. - Methods(route.Method). - Path(route.Path). - Name(route.Name). - Handler(route.Handler) - } - } - return router -} diff --git a/artifacts/openapiart_go/httpapi/interfaces/apitest_interface.go b/artifacts/openapiart_go/httpapi/interfaces/apitest_interface.go deleted file mode 100644 index f2867bff..00000000 --- a/artifacts/openapiart_go/httpapi/interfaces/apitest_interface.go +++ /dev/null @@ -1,35 +0,0 @@ -// This file is autogenerated. Do not modify -package interfaces - -import ( - "net/http" - - openapiart "github.com/open-traffic-generator/openapiart/pkg" - "github.com/open-traffic-generator/openapiart/pkg/httpapi" -) - -type ApiTestController interface { - Routes() []httpapi.Route - GetRootResponse(w http.ResponseWriter, r *http.Request) - DummyResponseTest(w http.ResponseWriter, r *http.Request) - PostRootResponse(w http.ResponseWriter, r *http.Request) -} - -type ApiTestHandler interface { - GetController() ApiTestController - /* - GetRootResponse: GET /api/apitest - Description: simple GET api with single return type - */ - GetRootResponse(r *http.Request) (openapiart.GetRootResponseResponse, error) - /* - DummyResponseTest: DELETE /api/apitest - Description: - */ - DummyResponseTest(r *http.Request) (openapiart.DummyResponseTestResponse, error) - /* - PostRootResponse: POST /api/apitest - Description: simple POST api with single return type - */ - PostRootResponse(rbody openapiart.ApiTestInputBody, r *http.Request) (openapiart.PostRootResponseResponse, error) -} diff --git a/artifacts/openapiart_go/httpapi/interfaces/bundler_interface.go b/artifacts/openapiart_go/httpapi/interfaces/bundler_interface.go deleted file mode 100644 index 64f147e5..00000000 --- a/artifacts/openapiart_go/httpapi/interfaces/bundler_interface.go +++ /dev/null @@ -1,37 +0,0 @@ -// This file is autogenerated. Do not modify -package interfaces - -import ( - "net/http" - - openapiart "github.com/open-traffic-generator/openapiart/pkg" - "github.com/open-traffic-generator/openapiart/pkg/httpapi" -) - -type BundlerController interface { - Routes() []httpapi.Route - SetConfig(w http.ResponseWriter, r *http.Request) - UpdateConfiguration(w http.ResponseWriter, r *http.Request) - GetConfig(w http.ResponseWriter, r *http.Request) -} - -type BundlerHandler interface { - GetController() BundlerController - /* - SetConfig: POST /api/config - Description: Sets configuration resources. - */ - SetConfig(rbody openapiart.PrefixConfig, r *http.Request) (openapiart.SetConfigResponse, error) - /* - UpdateConfiguration: PATCH /api/config - Description: Deprecated: please use post instead - - Sets configuration resources. - */ - UpdateConfiguration(rbody openapiart.UpdateConfig, r *http.Request) (openapiart.UpdateConfigurationResponse, error) - /* - GetConfig: GET /api/config - Description: Gets the configuration resources. - */ - GetConfig(r *http.Request) (openapiart.GetConfigResponse, error) -} diff --git a/artifacts/openapiart_go/httpapi/interfaces/capabilities_interface.go b/artifacts/openapiart_go/httpapi/interfaces/capabilities_interface.go deleted file mode 100644 index bb86ab41..00000000 --- a/artifacts/openapiart_go/httpapi/interfaces/capabilities_interface.go +++ /dev/null @@ -1,23 +0,0 @@ -// This file is autogenerated. Do not modify -package interfaces - -import ( - "net/http" - - openapiart "github.com/open-traffic-generator/openapiart/pkg" - "github.com/open-traffic-generator/openapiart/pkg/httpapi" -) - -type CapabilitiesController interface { - Routes() []httpapi.Route - GetVersion(w http.ResponseWriter, r *http.Request) -} - -type CapabilitiesHandler interface { - GetController() CapabilitiesController - /* - GetVersion: GET /api/capabilities/version - Description: - */ - GetVersion(r *http.Request) (openapiart.GetVersionResponse, error) -} diff --git a/artifacts/openapiart_go/httpapi/interfaces/metrics_interface.go b/artifacts/openapiart_go/httpapi/interfaces/metrics_interface.go deleted file mode 100644 index b3326753..00000000 --- a/artifacts/openapiart_go/httpapi/interfaces/metrics_interface.go +++ /dev/null @@ -1,35 +0,0 @@ -// This file is autogenerated. Do not modify -package interfaces - -import ( - "net/http" - - openapiart "github.com/open-traffic-generator/openapiart/pkg" - "github.com/open-traffic-generator/openapiart/pkg/httpapi" -) - -type MetricsController interface { - Routes() []httpapi.Route - GetMetrics(w http.ResponseWriter, r *http.Request) - GetWarnings(w http.ResponseWriter, r *http.Request) - ClearWarnings(w http.ResponseWriter, r *http.Request) -} - -type MetricsHandler interface { - GetController() MetricsController - /* - GetMetrics: GET /api/metrics - Description: Gets metrics. - */ - GetMetrics(rbody openapiart.MetricsRequest, r *http.Request) (openapiart.GetMetricsResponse, error) - /* - GetWarnings: GET /api/warnings - Description: Gets warnings. - */ - GetWarnings(r *http.Request) (openapiart.GetWarningsResponse, error) - /* - ClearWarnings: DELETE /api/warnings - Description: Clears warnings. - */ - ClearWarnings(r *http.Request) (openapiart.ClearWarningsResponse, error) -} diff --git a/artifacts/openapiart_go/httpapi/interfaces/serviceabc_interface.go b/artifacts/openapiart_go/httpapi/interfaces/serviceabc_interface.go deleted file mode 100644 index 4e46dd52..00000000 --- a/artifacts/openapiart_go/httpapi/interfaces/serviceabc_interface.go +++ /dev/null @@ -1,40 +0,0 @@ -// This file is autogenerated. Do not modify -package interfaces - -import ( - "net/http" - - openapiart "github.com/open-traffic-generator/openapiart/pkg" - "github.com/open-traffic-generator/openapiart/pkg/httpapi" -) - -const ( - ServiceAbcItemId = "item_id" - ServiceAbcLevel2 = "level_2" -) - -type ServiceAbcController interface { - Routes() []httpapi.Route - GetAllItems(w http.ResponseWriter, r *http.Request) - GetSingleItem(w http.ResponseWriter, r *http.Request) - GetSingleItemLevel2(w http.ResponseWriter, r *http.Request) -} - -type ServiceAbcHandler interface { - GetController() ServiceAbcController - /* - GetAllItems: GET /api/serviceb - Description: return list of some items - */ - GetAllItems(r *http.Request) (openapiart.GetAllItemsResponse, error) - /* - GetSingleItem: GET /api/serviceb/{item_id} - Description: return single item - */ - GetSingleItem(r *http.Request) (openapiart.GetSingleItemResponse, error) - /* - GetSingleItemLevel2: GET /api/serviceb/{item_id}/{level_2} - Description: return single item - */ - GetSingleItemLevel2(r *http.Request) (openapiart.GetSingleItemLevel2Response, error) -} diff --git a/artifacts/openapiart_go/httpapi/response.go b/artifacts/openapiart_go/httpapi/response.go deleted file mode 100644 index abfe8cd6..00000000 --- a/artifacts/openapiart_go/httpapi/response.go +++ /dev/null @@ -1,69 +0,0 @@ -// This file is autogenerated. Do not modify -package httpapi - -import ( - "encoding/json" - "fmt" - "log" - "net/http" -) - -// JSONWriter offers conversion to JSON. -type JSONWriter interface { - ToJson() (string, error) -} - -// WriteJSONResponse sets an HTTP response with the provided status-code and JSON body. -func WriteJSONResponse(w http.ResponseWriter, statuscode int, data JSONWriter) (int, error) { - w.Header().Set("Content-Type", "application/json; charset=UTF-8") - w.WriteHeader(statuscode) - dataStr, err := data.ToJson() - if err != nil { - if _, err := WriteDefaultResponse(w, http.StatusInternalServerError); err != nil { - log.Print(err.Error()) - } - } - return w.Write([]byte(dataStr)) -} - -// WriteJSONResponse sets an HTTP response with the provided status-code and JSON data. -func WriteCustomJSONResponse(w http.ResponseWriter, statuscode int, data []byte) (int, error) { - w.Header().Set("Content-Type", "application/json; charset=UTF-8") - w.WriteHeader(statuscode) - return w.Write([]byte(data)) -} - -func WriteByteResponse(w http.ResponseWriter, statuscode int, data []byte) (int, error) { - w.Header().Set("Content-Type", "application/octet-stream; charset=UTF-8") - w.WriteHeader(statuscode) - return w.Write(data) -} - -// WriteTextResponse sets an HTTP response with the provided status-code and string. -func WriteAnyResponse(w http.ResponseWriter, statuscode int, data interface{}) (int, error) { - w.Header().Set("Content-Type", "text/plain; charset=UTF-8") - w.WriteHeader(statuscode) - var dataBytes, _ = json.Marshal(data) - return w.Write(dataBytes) -} - -// YAMLWriter offers conversion to YAML. -type YAMLWriter interface { - ToYaml() string -} - -// WriteYAMLResponse sets an HTTP response with the provided status-code and JSON body. -func WriteYAMLResponse(w http.ResponseWriter, statuscode int, data YAMLWriter) (int, error) { - w.Header().Set("Content-Type", "application/yaml; charset=UTF-8") - w.WriteHeader(statuscode) - return w.Write([]byte(data.ToYaml())) -} - -// WriteDefaultResponse sets the body of a response with the text associated with the HTTP status. -func WriteDefaultResponse(w http.ResponseWriter, status int) (int, error) { - w.Header().Set("Content-Type", "text/plain; charset=utf-8") - w.Header().Set("X-Content-Type-Options", "nosniff") - w.WriteHeader(status) - fmt.Fprintf(w, "%d %s", status, http.StatusText(status)) - return status, nil -} diff --git a/artifacts/openapiart_go/openapiart.go b/artifacts/openapiart_go/openapiart.go deleted file mode 100644 index 492c9096..00000000 --- a/artifacts/openapiart_go/openapiart.go +++ /dev/null @@ -1,24144 +0,0 @@ -/* OpenAPIArt Test API 0.0.1 - * Demonstrates the features of the OpenAPIArt package - * License: NO-LICENSE-PRESENT */ - -package openapiart - -import ( - "bytes" - "context" - "crypto/tls" - "fmt" - "io" - "net" - "net/http" - "net/url" - "strings" - - "github.com/ghodss/yaml" - sanity "github.com/open-traffic-generator/openapiart/pkg/sanity" - "google.golang.org/grpc" - "google.golang.org/grpc/credentials/insecure" - "google.golang.org/protobuf/encoding/protojson" - "google.golang.org/protobuf/proto" - "google.golang.org/protobuf/types/known/emptypb" -) - -type versionMeta struct { - checkVersion bool - localVersion Version - remoteVersion Version - checkError error -} -type openapiartApi struct { - api - grpcClient sanity.OpenapiClient - httpClient httpClient - versionMeta *versionMeta -} - -// grpcConnect builds up a grpc connection -func (api *openapiartApi) grpcConnect() error { - if api.grpcClient == nil { - if api.grpc.clientConnection == nil { - ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.dialTimeout) - defer cancelFunc() - conn, err := grpc.DialContext(ctx, api.grpc.location, grpc.WithTransportCredentials(insecure.NewCredentials())) - if err != nil { - return err - } - api.grpcClient = sanity.NewOpenapiClient(conn) - api.grpc.clientConnection = conn - } else { - api.grpcClient = sanity.NewOpenapiClient(api.grpc.clientConnection) - } - } - return nil -} - -func (api *openapiartApi) grpcClose() error { - if api.grpc != nil { - if api.grpc.clientConnection != nil { - err := api.grpc.clientConnection.Close() - if err != nil { - return err - } - } - } - api.grpcClient = nil - api.grpc = nil - return nil -} - -func (api *openapiartApi) Close() error { - if api.hasGrpcTransport() { - err := api.grpcClose() - return err - } - if api.hasHttpTransport() { - err := api.http.conn.(*net.TCPConn).SetLinger(0) - api.http.conn.Close() - api.http.conn = nil - api.http = nil - api.httpClient.client = nil - return err - } - return nil -} - -// NewApi returns a new instance of the top level interface hierarchy -func NewApi() OpenapiartApi { - api := openapiartApi{} - api.versionMeta = &versionMeta{checkVersion: false} - return &api -} - -// httpConnect builds up a http connection -func (api *openapiartApi) httpConnect() error { - if api.httpClient.client == nil { - tr := http.Transport{ - DialTLSContext: func(ctx context.Context, network, addr string) (net.Conn, error) { - tcpConn, err := (&net.Dialer{}).DialContext(ctx, network, addr) - if err != nil { - return nil, err - } - tlsConn := tls.Client(tcpConn, &tls.Config{InsecureSkipVerify: !api.http.verify}) - err = tlsConn.Handshake() - if err != nil { - return nil, err - } - api.http.conn = tcpConn - return tlsConn, nil - }, - DialContext: func(ctx context.Context, network, addr string) (net.Conn, error) { - tcpConn, err := (&net.Dialer{}).DialContext(ctx, network, addr) - if err != nil { - return nil, err - } - api.http.conn = tcpConn - return tcpConn, nil - }, - } - client := httpClient{ - client: &http.Client{ - Transport: &tr, - }, - ctx: context.Background(), - } - api.httpClient = client - } - return nil -} - -func (api *openapiartApi) httpSendRecv(urlPath string, jsonBody string, method string) (*http.Response, error) { - err := api.httpConnect() - if err != nil { - return nil, err - } - httpClient := api.httpClient - var bodyReader = bytes.NewReader([]byte(jsonBody)) - queryUrl, err := url.Parse(api.http.location) - if err != nil { - return nil, err - } - queryUrl, _ = queryUrl.Parse(urlPath) - req, _ := http.NewRequest(method, queryUrl.String(), bodyReader) - req.Header.Set("Content-Type", "application/json") - req = req.WithContext(httpClient.ctx) - response, err := httpClient.client.Do(req) - return response, err -} - -// OpenapiartApi demonstrates the features of the OpenAPIArt package -type OpenapiartApi interface { - Api - // PrefixConfig is container which retains the configuration - // NewPrefixConfig returns a new instance of PrefixConfig. - NewPrefixConfig() PrefixConfig - // UpdateConfig is under Review: the whole schema is being reviewed - // - // Object to Test required Parameter - // NewUpdateConfig returns a new instance of UpdateConfig. - NewUpdateConfig() UpdateConfig - // MetricsRequest is description is TBD - // NewMetricsRequest returns a new instance of MetricsRequest. - NewMetricsRequest() MetricsRequest - // ApiTestInputBody is description is TBD - // NewApiTestInputBody returns a new instance of ApiTestInputBody. - NewApiTestInputBody() ApiTestInputBody - // SetConfigResponse is description is TBD - // NewSetConfigResponse returns a new instance of SetConfigResponse. - NewSetConfigResponse() SetConfigResponse - // UpdateConfigurationResponse is description is TBD - // NewUpdateConfigurationResponse returns a new instance of UpdateConfigurationResponse. - NewUpdateConfigurationResponse() UpdateConfigurationResponse - // GetConfigResponse is description is TBD - // NewGetConfigResponse returns a new instance of GetConfigResponse. - NewGetConfigResponse() GetConfigResponse - // GetMetricsResponse is description is TBD - // NewGetMetricsResponse returns a new instance of GetMetricsResponse. - NewGetMetricsResponse() GetMetricsResponse - // GetWarningsResponse is description is TBD - // NewGetWarningsResponse returns a new instance of GetWarningsResponse. - NewGetWarningsResponse() GetWarningsResponse - // ClearWarningsResponse is description is TBD - // NewClearWarningsResponse returns a new instance of ClearWarningsResponse. - NewClearWarningsResponse() ClearWarningsResponse - // GetRootResponseResponse is description is TBD - // NewGetRootResponseResponse returns a new instance of GetRootResponseResponse. - NewGetRootResponseResponse() GetRootResponseResponse - // DummyResponseTestResponse is description is TBD - // NewDummyResponseTestResponse returns a new instance of DummyResponseTestResponse. - NewDummyResponseTestResponse() DummyResponseTestResponse - // PostRootResponseResponse is description is TBD - // NewPostRootResponseResponse returns a new instance of PostRootResponseResponse. - NewPostRootResponseResponse() PostRootResponseResponse - // GetAllItemsResponse is description is TBD - // NewGetAllItemsResponse returns a new instance of GetAllItemsResponse. - NewGetAllItemsResponse() GetAllItemsResponse - // GetSingleItemResponse is description is TBD - // NewGetSingleItemResponse returns a new instance of GetSingleItemResponse. - NewGetSingleItemResponse() GetSingleItemResponse - // GetSingleItemLevel2Response is description is TBD - // NewGetSingleItemLevel2Response returns a new instance of GetSingleItemLevel2Response. - NewGetSingleItemLevel2Response() GetSingleItemLevel2Response - // GetVersionResponse is description is TBD - // NewGetVersionResponse returns a new instance of GetVersionResponse. - NewGetVersionResponse() GetVersionResponse - // SetConfig sets configuration resources. - SetConfig(prefixConfig PrefixConfig) ([]byte, error) - // UpdateConfiguration deprecated: please use post instead - // - // Sets configuration resources. - UpdateConfiguration(updateConfig UpdateConfig) (PrefixConfig, error) - // GetConfig gets the configuration resources. - GetConfig() (PrefixConfig, error) - // GetMetrics gets metrics. - GetMetrics(metricsRequest MetricsRequest) (Metrics, error) - // GetWarnings gets warnings. - GetWarnings() (WarningDetails, error) - // ClearWarnings clears warnings. - ClearWarnings() (*string, error) - // GetRootResponse simple GET api with single return type - GetRootResponse() (CommonResponseSuccess, error) - // DummyResponseTest description is TBD - DummyResponseTest() (*string, error) - // PostRootResponse simple POST api with single return type - PostRootResponse(apiTestInputBody ApiTestInputBody) (CommonResponseSuccess, error) - // GetAllItems return list of some items - GetAllItems() (ServiceAbcItemList, error) - // GetSingleItem return single item - GetSingleItem() (ServiceAbcItem, error) - // GetSingleItemLevel2 return single item - GetSingleItemLevel2() (ServiceAbcItem, error) - // GetVersion description is TBD - GetVersion() (Version, error) - // GetLocalVersion provides version details of local client - GetLocalVersion() Version - // GetRemoteVersion provides version details received from remote server - GetRemoteVersion() (Version, error) - // SetVersionCompatibilityCheck allows enabling or disabling automatic version - // compatibility check between client and server API spec version upon API call - SetVersionCompatibilityCheck(bool) - // CheckVersionCompatibility compares API spec version for local client and remote server, - // and returns an error if they are not compatible according to Semantic Versioning 2.0.0 - CheckVersionCompatibility() error -} - -func (api *openapiartApi) NewPrefixConfig() PrefixConfig { - return NewPrefixConfig() -} - -func (api *openapiartApi) NewUpdateConfig() UpdateConfig { - return NewUpdateConfig() -} - -func (api *openapiartApi) NewMetricsRequest() MetricsRequest { - return NewMetricsRequest() -} - -func (api *openapiartApi) NewApiTestInputBody() ApiTestInputBody { - return NewApiTestInputBody() -} - -func (api *openapiartApi) NewSetConfigResponse() SetConfigResponse { - return NewSetConfigResponse() -} - -func (api *openapiartApi) NewUpdateConfigurationResponse() UpdateConfigurationResponse { - return NewUpdateConfigurationResponse() -} - -func (api *openapiartApi) NewGetConfigResponse() GetConfigResponse { - return NewGetConfigResponse() -} - -func (api *openapiartApi) NewGetMetricsResponse() GetMetricsResponse { - return NewGetMetricsResponse() -} - -func (api *openapiartApi) NewGetWarningsResponse() GetWarningsResponse { - return NewGetWarningsResponse() -} - -func (api *openapiartApi) NewClearWarningsResponse() ClearWarningsResponse { - return NewClearWarningsResponse() -} - -func (api *openapiartApi) NewGetRootResponseResponse() GetRootResponseResponse { - return NewGetRootResponseResponse() -} - -func (api *openapiartApi) NewDummyResponseTestResponse() DummyResponseTestResponse { - return NewDummyResponseTestResponse() -} - -func (api *openapiartApi) NewPostRootResponseResponse() PostRootResponseResponse { - return NewPostRootResponseResponse() -} - -func (api *openapiartApi) NewGetAllItemsResponse() GetAllItemsResponse { - return NewGetAllItemsResponse() -} - -func (api *openapiartApi) NewGetSingleItemResponse() GetSingleItemResponse { - return NewGetSingleItemResponse() -} - -func (api *openapiartApi) NewGetSingleItemLevel2Response() GetSingleItemLevel2Response { - return NewGetSingleItemLevel2Response() -} - -func (api *openapiartApi) NewGetVersionResponse() GetVersionResponse { - return NewGetVersionResponse() -} - -func (api *openapiartApi) GetLocalVersion() Version { - if api.versionMeta.localVersion == nil { - api.versionMeta.localVersion = NewVersion().SetApiSpecVersion("0.0.1").SetSdkVersion("0.0.1") - } - - return api.versionMeta.localVersion -} - -func (api *openapiartApi) GetRemoteVersion() (Version, error) { - if api.versionMeta.remoteVersion == nil { - v, err := api.GetVersion() - if err != nil { - return nil, fmt.Errorf("could not fetch remote version: %v", err) - } - - api.versionMeta.remoteVersion = v - } - - return api.versionMeta.remoteVersion, nil -} - -func (api *openapiartApi) SetVersionCompatibilityCheck(v bool) { - api.versionMeta.checkVersion = v -} - -func (api *openapiartApi) checkLocalRemoteVersionCompatibility() (error, error) { - localVer := api.GetLocalVersion() - remoteVer, err := api.GetRemoteVersion() - if err != nil { - return nil, err - } - err = checkClientServerVersionCompatibility(localVer.ApiSpecVersion(), remoteVer.ApiSpecVersion(), "API spec") - if err != nil { - return fmt.Errorf( - "client SDK version '%s' is not compatible with server SDK version '%s': %v", - localVer.SdkVersion(), remoteVer.SdkVersion(), err, - ), nil - } - - return nil, nil -} - -func (api *openapiartApi) checkLocalRemoteVersionCompatibilityOnce() error { - if !api.versionMeta.checkVersion { - return nil - } - - if api.versionMeta.checkError != nil { - return api.versionMeta.checkError - } - - compatErr, apiErr := api.checkLocalRemoteVersionCompatibility() - if compatErr != nil { - api.versionMeta.checkError = compatErr - return compatErr - } - if apiErr != nil { - api.versionMeta.checkError = nil - return apiErr - } - - api.versionMeta.checkVersion = false - api.versionMeta.checkError = nil - return nil -} - -func (api *openapiartApi) CheckVersionCompatibility() error { - compatErr, apiErr := api.checkLocalRemoteVersionCompatibility() - if compatErr != nil { - return fmt.Errorf("version error: %v", compatErr) - } - if apiErr != nil { - return apiErr - } - - return nil -} - -func (api *openapiartApi) SetConfig(prefixConfig PrefixConfig) ([]byte, error) { - - if err := prefixConfig.Validate(); err != nil { - return nil, err - } - - if err := api.checkLocalRemoteVersionCompatibilityOnce(); err != nil { - return nil, err - } - if api.hasHttpTransport() { - return api.httpSetConfig(prefixConfig) - } - if err := api.grpcConnect(); err != nil { - return nil, err - } - request := sanity.SetConfigRequest{PrefixConfig: prefixConfig.Msg()} - ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) - defer cancelFunc() - resp, err := api.grpcClient.SetConfig(ctx, &request) - if err != nil { - if er, ok := api.fromGrpcError(err); ok { - return nil, er - } - return nil, err - } - if resp.ResponseBytes != nil { - return resp.ResponseBytes, nil - } - return nil, nil -} - -func (api *openapiartApi) UpdateConfiguration(updateConfig UpdateConfig) (PrefixConfig, error) { - api.addWarnings("UpdateConfiguration api is deprecated, please use post instead") - - if err := updateConfig.Validate(); err != nil { - return nil, err - } - - if err := api.checkLocalRemoteVersionCompatibilityOnce(); err != nil { - return nil, err - } - if api.hasHttpTransport() { - return api.httpUpdateConfiguration(updateConfig) - } - if err := api.grpcConnect(); err != nil { - return nil, err - } - request := sanity.UpdateConfigurationRequest{UpdateConfig: updateConfig.Msg()} - ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) - defer cancelFunc() - resp, err := api.grpcClient.UpdateConfiguration(ctx, &request) - if err != nil { - if er, ok := api.fromGrpcError(err); ok { - return nil, er - } - return nil, err - } - ret := NewPrefixConfig() - if resp.GetPrefixConfig() != nil { - return ret.SetMsg(resp.GetPrefixConfig()), nil - } - - return ret, nil -} - -func (api *openapiartApi) GetConfig() (PrefixConfig, error) { - - if err := api.checkLocalRemoteVersionCompatibilityOnce(); err != nil { - return nil, err - } - if api.hasHttpTransport() { - return api.httpGetConfig() - } - if err := api.grpcConnect(); err != nil { - return nil, err - } - request := emptypb.Empty{} - ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) - defer cancelFunc() - resp, err := api.grpcClient.GetConfig(ctx, &request) - if err != nil { - if er, ok := api.fromGrpcError(err); ok { - return nil, er - } - return nil, err - } - ret := NewPrefixConfig() - if resp.GetPrefixConfig() != nil { - return ret.SetMsg(resp.GetPrefixConfig()), nil - } - - return ret, nil -} - -func (api *openapiartApi) GetMetrics(metricsRequest MetricsRequest) (Metrics, error) { - - if err := metricsRequest.Validate(); err != nil { - return nil, err - } - - if err := api.checkLocalRemoteVersionCompatibilityOnce(); err != nil { - return nil, err - } - if api.hasHttpTransport() { - return api.httpGetMetrics(metricsRequest) - } - if err := api.grpcConnect(); err != nil { - return nil, err - } - request := sanity.GetMetricsRequest{MetricsRequest: metricsRequest.Msg()} - ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) - defer cancelFunc() - resp, err := api.grpcClient.GetMetrics(ctx, &request) - if err != nil { - if er, ok := api.fromGrpcError(err); ok { - return nil, er - } - return nil, err - } - ret := NewMetrics() - if resp.GetMetrics() != nil { - return ret.SetMsg(resp.GetMetrics()), nil - } - - return ret, nil -} - -func (api *openapiartApi) GetWarnings() (WarningDetails, error) { - - if err := api.checkLocalRemoteVersionCompatibilityOnce(); err != nil { - return nil, err - } - if api.hasHttpTransport() { - return api.httpGetWarnings() - } - if err := api.grpcConnect(); err != nil { - return nil, err - } - request := emptypb.Empty{} - ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) - defer cancelFunc() - resp, err := api.grpcClient.GetWarnings(ctx, &request) - if err != nil { - if er, ok := api.fromGrpcError(err); ok { - return nil, er - } - return nil, err - } - ret := NewWarningDetails() - if resp.GetWarningDetails() != nil { - return ret.SetMsg(resp.GetWarningDetails()), nil - } - - return ret, nil -} - -func (api *openapiartApi) ClearWarnings() (*string, error) { - - if err := api.checkLocalRemoteVersionCompatibilityOnce(); err != nil { - return nil, err - } - if api.hasHttpTransport() { - return api.httpClearWarnings() - } - if err := api.grpcConnect(); err != nil { - return nil, err - } - request := emptypb.Empty{} - ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) - defer cancelFunc() - resp, err := api.grpcClient.ClearWarnings(ctx, &request) - if err != nil { - if er, ok := api.fromGrpcError(err); ok { - return nil, er - } - return nil, err - } - if resp.GetString_() != "" { - status_code_value := resp.GetString_() - return &status_code_value, nil - } - return nil, nil -} - -func (api *openapiartApi) GetRootResponse() (CommonResponseSuccess, error) { - - if err := api.checkLocalRemoteVersionCompatibilityOnce(); err != nil { - return nil, err - } - if api.hasHttpTransport() { - return api.httpGetRootResponse() - } - if err := api.grpcConnect(); err != nil { - return nil, err - } - request := emptypb.Empty{} - ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) - defer cancelFunc() - resp, err := api.grpcClient.GetRootResponse(ctx, &request) - if err != nil { - if er, ok := api.fromGrpcError(err); ok { - return nil, er - } - return nil, err - } - ret := NewCommonResponseSuccess() - if resp.GetCommonResponseSuccess() != nil { - return ret.SetMsg(resp.GetCommonResponseSuccess()), nil - } - - return ret, nil -} - -func (api *openapiartApi) DummyResponseTest() (*string, error) { - - if err := api.checkLocalRemoteVersionCompatibilityOnce(); err != nil { - return nil, err - } - if api.hasHttpTransport() { - return api.httpDummyResponseTest() - } - if err := api.grpcConnect(); err != nil { - return nil, err - } - request := emptypb.Empty{} - ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) - defer cancelFunc() - resp, err := api.grpcClient.DummyResponseTest(ctx, &request) - if err != nil { - if er, ok := api.fromGrpcError(err); ok { - return nil, er - } - return nil, err - } - if resp.GetString_() != "" { - status_code_value := resp.GetString_() - return &status_code_value, nil - } - return nil, nil -} - -func (api *openapiartApi) PostRootResponse(apiTestInputBody ApiTestInputBody) (CommonResponseSuccess, error) { - - if err := apiTestInputBody.Validate(); err != nil { - return nil, err - } - - if err := api.checkLocalRemoteVersionCompatibilityOnce(); err != nil { - return nil, err - } - if api.hasHttpTransport() { - return api.httpPostRootResponse(apiTestInputBody) - } - if err := api.grpcConnect(); err != nil { - return nil, err - } - request := sanity.PostRootResponseRequest{ApiTestInputBody: apiTestInputBody.Msg()} - ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) - defer cancelFunc() - resp, err := api.grpcClient.PostRootResponse(ctx, &request) - if err != nil { - if er, ok := api.fromGrpcError(err); ok { - return nil, er - } - return nil, err - } - ret := NewCommonResponseSuccess() - if resp.GetCommonResponseSuccess() != nil { - return ret.SetMsg(resp.GetCommonResponseSuccess()), nil - } - - return ret, nil -} - -func (api *openapiartApi) GetAllItems() (ServiceAbcItemList, error) { - - if err := api.checkLocalRemoteVersionCompatibilityOnce(); err != nil { - return nil, err - } - if api.hasHttpTransport() { - return api.httpGetAllItems() - } - if err := api.grpcConnect(); err != nil { - return nil, err - } - request := emptypb.Empty{} - ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) - defer cancelFunc() - resp, err := api.grpcClient.GetAllItems(ctx, &request) - if err != nil { - if er, ok := api.fromGrpcError(err); ok { - return nil, er - } - return nil, err - } - ret := NewServiceAbcItemList() - if resp.GetServiceAbcItemList() != nil { - return ret.SetMsg(resp.GetServiceAbcItemList()), nil - } - - return ret, nil -} - -func (api *openapiartApi) GetSingleItem() (ServiceAbcItem, error) { - - if err := api.checkLocalRemoteVersionCompatibilityOnce(); err != nil { - return nil, err - } - if api.hasHttpTransport() { - return api.httpGetSingleItem() - } - if err := api.grpcConnect(); err != nil { - return nil, err - } - request := emptypb.Empty{} - ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) - defer cancelFunc() - resp, err := api.grpcClient.GetSingleItem(ctx, &request) - if err != nil { - if er, ok := api.fromGrpcError(err); ok { - return nil, er - } - return nil, err - } - ret := NewServiceAbcItem() - if resp.GetServiceAbcItem() != nil { - return ret.SetMsg(resp.GetServiceAbcItem()), nil - } - - return ret, nil -} - -func (api *openapiartApi) GetSingleItemLevel2() (ServiceAbcItem, error) { - - if err := api.checkLocalRemoteVersionCompatibilityOnce(); err != nil { - return nil, err - } - if api.hasHttpTransport() { - return api.httpGetSingleItemLevel2() - } - if err := api.grpcConnect(); err != nil { - return nil, err - } - request := emptypb.Empty{} - ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) - defer cancelFunc() - resp, err := api.grpcClient.GetSingleItemLevel2(ctx, &request) - if err != nil { - if er, ok := api.fromGrpcError(err); ok { - return nil, er - } - return nil, err - } - ret := NewServiceAbcItem() - if resp.GetServiceAbcItem() != nil { - return ret.SetMsg(resp.GetServiceAbcItem()), nil - } - - return ret, nil -} - -func (api *openapiartApi) GetVersion() (Version, error) { - - if api.hasHttpTransport() { - return api.httpGetVersion() - } - if err := api.grpcConnect(); err != nil { - return nil, err - } - request := emptypb.Empty{} - ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) - defer cancelFunc() - resp, err := api.grpcClient.GetVersion(ctx, &request) - if err != nil { - if er, ok := api.fromGrpcError(err); ok { - return nil, er - } - return nil, err - } - ret := NewVersion() - if resp.GetVersion() != nil { - return ret.SetMsg(resp.GetVersion()), nil - } - - return ret, nil -} - -func (api *openapiartApi) httpSetConfig(prefixConfig PrefixConfig) ([]byte, error) { - prefixConfigJson, err := prefixConfig.ToJson() - if err != nil { - return nil, err - } - resp, err := api.httpSendRecv("api/config", prefixConfigJson, "POST") - - if err != nil { - return nil, err - } - bodyBytes, err := io.ReadAll(resp.Body) - defer resp.Body.Close() - if err != nil { - return nil, err - } - if resp.StatusCode == 200 { - return bodyBytes, nil - } else { - return nil, api.fromHttpError(resp.StatusCode, bodyBytes) - } -} - -func (api *openapiartApi) httpUpdateConfiguration(updateConfig UpdateConfig) (PrefixConfig, error) { - updateConfigJson, err := updateConfig.ToJson() - if err != nil { - return nil, err - } - resp, err := api.httpSendRecv("api/config", updateConfigJson, "PATCH") - - if err != nil { - return nil, err - } - bodyBytes, err := io.ReadAll(resp.Body) - defer resp.Body.Close() - if err != nil { - return nil, err - } - if resp.StatusCode == 200 { - obj := api.NewUpdateConfigurationResponse().PrefixConfig() - if err := obj.FromJson(string(bodyBytes)); err != nil { - return nil, err - } - return obj, nil - } else { - return nil, api.fromHttpError(resp.StatusCode, bodyBytes) - } -} - -func (api *openapiartApi) httpGetConfig() (PrefixConfig, error) { - resp, err := api.httpSendRecv("api/config", "", "GET") - if err != nil { - return nil, err - } - bodyBytes, err := io.ReadAll(resp.Body) - defer resp.Body.Close() - if err != nil { - return nil, err - } - if resp.StatusCode == 200 { - obj := api.NewGetConfigResponse().PrefixConfig() - if err := obj.FromJson(string(bodyBytes)); err != nil { - return nil, err - } - return obj, nil - } else { - return nil, api.fromHttpError(resp.StatusCode, bodyBytes) - } -} - -func (api *openapiartApi) httpGetMetrics(metricsRequest MetricsRequest) (Metrics, error) { - metricsRequestJson, err := metricsRequest.ToJson() - if err != nil { - return nil, err - } - resp, err := api.httpSendRecv("api/metrics", metricsRequestJson, "GET") - - if err != nil { - return nil, err - } - bodyBytes, err := io.ReadAll(resp.Body) - defer resp.Body.Close() - if err != nil { - return nil, err - } - if resp.StatusCode == 200 { - obj := api.NewGetMetricsResponse().Metrics() - if err := obj.FromJson(string(bodyBytes)); err != nil { - return nil, err - } - return obj, nil - } else { - return nil, api.fromHttpError(resp.StatusCode, bodyBytes) - } -} - -func (api *openapiartApi) httpGetWarnings() (WarningDetails, error) { - resp, err := api.httpSendRecv("api/warnings", "", "GET") - if err != nil { - return nil, err - } - bodyBytes, err := io.ReadAll(resp.Body) - defer resp.Body.Close() - if err != nil { - return nil, err - } - if resp.StatusCode == 200 { - obj := api.NewGetWarningsResponse().WarningDetails() - if err := obj.FromJson(string(bodyBytes)); err != nil { - return nil, err - } - return obj, nil - } else { - return nil, api.fromHttpError(resp.StatusCode, bodyBytes) - } -} - -func (api *openapiartApi) httpClearWarnings() (*string, error) { - resp, err := api.httpSendRecv("api/warnings", "", "DELETE") - if err != nil { - return nil, err - } - bodyBytes, err := io.ReadAll(resp.Body) - defer resp.Body.Close() - if err != nil { - return nil, err - } - if resp.StatusCode == 200 { - bodyString := string(bodyBytes) - return &bodyString, nil - } else { - return nil, api.fromHttpError(resp.StatusCode, bodyBytes) - } -} - -func (api *openapiartApi) httpGetRootResponse() (CommonResponseSuccess, error) { - resp, err := api.httpSendRecv("api/apitest", "", "GET") - if err != nil { - return nil, err - } - bodyBytes, err := io.ReadAll(resp.Body) - defer resp.Body.Close() - if err != nil { - return nil, err - } - if resp.StatusCode == 200 { - obj := api.NewGetRootResponseResponse().CommonResponseSuccess() - if err := obj.FromJson(string(bodyBytes)); err != nil { - return nil, err - } - return obj, nil - } else { - return nil, api.fromHttpError(resp.StatusCode, bodyBytes) - } -} - -func (api *openapiartApi) httpDummyResponseTest() (*string, error) { - resp, err := api.httpSendRecv("api/apitest", "", "DELETE") - if err != nil { - return nil, err - } - bodyBytes, err := io.ReadAll(resp.Body) - defer resp.Body.Close() - if err != nil { - return nil, err - } - if resp.StatusCode == 200 { - bodyString := string(bodyBytes) - return &bodyString, nil - } else { - return nil, api.fromHttpError(resp.StatusCode, bodyBytes) - } -} - -func (api *openapiartApi) httpPostRootResponse(apiTestInputBody ApiTestInputBody) (CommonResponseSuccess, error) { - apiTestInputBodyJson, err := apiTestInputBody.ToJson() - if err != nil { - return nil, err - } - resp, err := api.httpSendRecv("api/apitest", apiTestInputBodyJson, "POST") - - if err != nil { - return nil, err - } - bodyBytes, err := io.ReadAll(resp.Body) - defer resp.Body.Close() - if err != nil { - return nil, err - } - if resp.StatusCode == 200 { - obj := api.NewPostRootResponseResponse().CommonResponseSuccess() - if err := obj.FromJson(string(bodyBytes)); err != nil { - return nil, err - } - return obj, nil - } else { - return nil, api.fromHttpError(resp.StatusCode, bodyBytes) - } -} - -func (api *openapiartApi) httpGetAllItems() (ServiceAbcItemList, error) { - resp, err := api.httpSendRecv("api/serviceb", "", "GET") - if err != nil { - return nil, err - } - bodyBytes, err := io.ReadAll(resp.Body) - defer resp.Body.Close() - if err != nil { - return nil, err - } - if resp.StatusCode == 200 { - obj := api.NewGetAllItemsResponse().ServiceAbcItemList() - if err := obj.FromJson(string(bodyBytes)); err != nil { - return nil, err - } - return obj, nil - } else { - return nil, api.fromHttpError(resp.StatusCode, bodyBytes) - } -} - -func (api *openapiartApi) httpGetSingleItem() (ServiceAbcItem, error) { - resp, err := api.httpSendRecv("api/serviceb/{item_id}", "", "GET") - if err != nil { - return nil, err - } - bodyBytes, err := io.ReadAll(resp.Body) - defer resp.Body.Close() - if err != nil { - return nil, err - } - if resp.StatusCode == 200 { - obj := api.NewGetSingleItemResponse().ServiceAbcItem() - if err := obj.FromJson(string(bodyBytes)); err != nil { - return nil, err - } - return obj, nil - } else { - return nil, api.fromHttpError(resp.StatusCode, bodyBytes) - } -} - -func (api *openapiartApi) httpGetSingleItemLevel2() (ServiceAbcItem, error) { - resp, err := api.httpSendRecv("api/serviceb/{item_id}/{level_2}", "", "GET") - if err != nil { - return nil, err - } - bodyBytes, err := io.ReadAll(resp.Body) - defer resp.Body.Close() - if err != nil { - return nil, err - } - if resp.StatusCode == 200 { - obj := api.NewGetSingleItemLevel2Response().ServiceAbcItem() - if err := obj.FromJson(string(bodyBytes)); err != nil { - return nil, err - } - return obj, nil - } else { - return nil, api.fromHttpError(resp.StatusCode, bodyBytes) - } -} - -func (api *openapiartApi) httpGetVersion() (Version, error) { - resp, err := api.httpSendRecv("api/capabilities/version", "", "GET") - if err != nil { - return nil, err - } - bodyBytes, err := io.ReadAll(resp.Body) - defer resp.Body.Close() - if err != nil { - return nil, err - } - if resp.StatusCode == 200 { - obj := api.NewGetVersionResponse().Version() - if err := obj.FromJson(string(bodyBytes)); err != nil { - return nil, err - } - return obj, nil - } else { - return nil, api.fromHttpError(resp.StatusCode, bodyBytes) - } -} - -// ***** PrefixConfig ***** -type prefixConfig struct { - validation - obj *sanity.PrefixConfig - requiredObjectHolder EObject - optionalObjectHolder EObject - eHolder EObject - fHolder FObject - gHolder PrefixConfigGObjectIter - jHolder PrefixConfigJObjectIter - kHolder KObject - lHolder LObject - levelHolder LevelOne - mandatoryHolder Mandate - ipv4PatternHolder Ipv4Pattern - ipv6PatternHolder Ipv6Pattern - macPatternHolder MacPattern - integerPatternHolder IntegerPattern - checksumPatternHolder ChecksumPattern - caseHolder Layer1Ieee802X - mObjectHolder MObject - headerChecksumHolder PatternPrefixConfigHeaderChecksum - autoFieldTestHolder PatternPrefixConfigAutoFieldTest - wListHolder PrefixConfigWObjectIter - xListHolder PrefixConfigZObjectIter - zObjectHolder ZObject - yObjectHolder YObject - choiceObjectHolder PrefixConfigChoiceObjectIter - requiredChoiceObjectHolder RequiredChoiceParent - g1Holder PrefixConfigGObjectIter - g2Holder PrefixConfigGObjectIter -} - -func NewPrefixConfig() PrefixConfig { - obj := prefixConfig{obj: &sanity.PrefixConfig{}} - obj.setDefault() - return &obj -} - -func (obj *prefixConfig) Msg() *sanity.PrefixConfig { - return obj.obj -} - -func (obj *prefixConfig) SetMsg(msg *sanity.PrefixConfig) PrefixConfig { - obj.setNil() - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *prefixConfig) ToProto() (*sanity.PrefixConfig, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *prefixConfig) FromProto(msg *sanity.PrefixConfig) (PrefixConfig, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *prefixConfig) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *prefixConfig) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *prefixConfig) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *prefixConfig) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *prefixConfig) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *prefixConfig) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *prefixConfig) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *prefixConfig) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *prefixConfig) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *prefixConfig) Clone() (PrefixConfig, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewPrefixConfig() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -func (obj *prefixConfig) setNil() { - obj.requiredObjectHolder = nil - obj.optionalObjectHolder = nil - obj.eHolder = nil - obj.fHolder = nil - obj.gHolder = nil - obj.jHolder = nil - obj.kHolder = nil - obj.lHolder = nil - obj.levelHolder = nil - obj.mandatoryHolder = nil - obj.ipv4PatternHolder = nil - obj.ipv6PatternHolder = nil - obj.macPatternHolder = nil - obj.integerPatternHolder = nil - obj.checksumPatternHolder = nil - obj.caseHolder = nil - obj.mObjectHolder = nil - obj.headerChecksumHolder = nil - obj.autoFieldTestHolder = nil - obj.wListHolder = nil - obj.xListHolder = nil - obj.zObjectHolder = nil - obj.yObjectHolder = nil - obj.choiceObjectHolder = nil - obj.requiredChoiceObjectHolder = nil - obj.g1Holder = nil - obj.g2Holder = nil - obj.validationErrors = nil - obj.warnings = nil - obj.constraints = make(map[string]map[string]Constraints) -} - -// PrefixConfig is container which retains the configuration -type PrefixConfig interface { - Validation - // Msg marshals PrefixConfig to protobuf object *sanity.PrefixConfig - // and doesn't set defaults - Msg() *sanity.PrefixConfig - // SetMsg unmarshals PrefixConfig from protobuf object *sanity.PrefixConfig - // and doesn't set defaults - SetMsg(*sanity.PrefixConfig) PrefixConfig - // ToProto marshals PrefixConfig to protobuf object *sanity.PrefixConfig - ToProto() (*sanity.PrefixConfig, error) - // ToPbText marshals PrefixConfig to protobuf text - ToPbText() (string, error) - // ToYaml marshals PrefixConfig to YAML text - ToYaml() (string, error) - // ToJson marshals PrefixConfig to JSON text - ToJson() (string, error) - // FromProto unmarshals PrefixConfig from protobuf object *sanity.PrefixConfig - FromProto(msg *sanity.PrefixConfig) (PrefixConfig, error) - // FromPbText unmarshals PrefixConfig from protobuf text - FromPbText(value string) error - // FromYaml unmarshals PrefixConfig from YAML text - FromYaml(value string) error - // FromJson unmarshals PrefixConfig from JSON text - FromJson(value string) error - // Validate validates PrefixConfig - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (PrefixConfig, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // RequiredObject returns EObject, set in PrefixConfig. - // EObject is description is TBD - RequiredObject() EObject - // SetRequiredObject assigns EObject provided by user to PrefixConfig. - // EObject is description is TBD - SetRequiredObject(value EObject) PrefixConfig - // OptionalObject returns EObject, set in PrefixConfig. - // EObject is description is TBD - OptionalObject() EObject - // SetOptionalObject assigns EObject provided by user to PrefixConfig. - // EObject is description is TBD - SetOptionalObject(value EObject) PrefixConfig - // HasOptionalObject checks if OptionalObject has been set in PrefixConfig - HasOptionalObject() bool - // Ieee8021Qbb returns bool, set in PrefixConfig. - Ieee8021Qbb() bool - // SetIeee8021Qbb assigns bool provided by user to PrefixConfig - SetIeee8021Qbb(value bool) PrefixConfig - // HasIeee8021Qbb checks if Ieee8021Qbb has been set in PrefixConfig - HasIeee8021Qbb() bool - // Space1 returns int32, set in PrefixConfig. - Space1() int32 - // SetSpace1 assigns int32 provided by user to PrefixConfig - SetSpace1(value int32) PrefixConfig - // HasSpace1 checks if Space1 has been set in PrefixConfig - HasSpace1() bool - // FullDuplex100Mb returns int64, set in PrefixConfig. - FullDuplex100Mb() int64 - // SetFullDuplex100Mb assigns int64 provided by user to PrefixConfig - SetFullDuplex100Mb(value int64) PrefixConfig - // HasFullDuplex100Mb checks if FullDuplex100Mb has been set in PrefixConfig - HasFullDuplex100Mb() bool - // Response returns PrefixConfigResponseEnum, set in PrefixConfig - Response() PrefixConfigResponseEnum - // SetResponse assigns PrefixConfigResponseEnum provided by user to PrefixConfig - SetResponse(value PrefixConfigResponseEnum) PrefixConfig - // HasResponse checks if Response has been set in PrefixConfig - HasResponse() bool - // A returns string, set in PrefixConfig. - A() string - // SetA assigns string provided by user to PrefixConfig - SetA(value string) PrefixConfig - // B returns float32, set in PrefixConfig. - B() float32 - // SetB assigns float32 provided by user to PrefixConfig - SetB(value float32) PrefixConfig - // C returns int32, set in PrefixConfig. - C() int32 - // SetC assigns int32 provided by user to PrefixConfig - SetC(value int32) PrefixConfig - // DValues returns []PrefixConfigDValuesEnum, set in PrefixConfig - DValues() []PrefixConfigDValuesEnum - // SetDValues assigns []PrefixConfigDValuesEnum provided by user to PrefixConfig - SetDValues(value []PrefixConfigDValuesEnum) PrefixConfig - // E returns EObject, set in PrefixConfig. - // EObject is description is TBD - E() EObject - // SetE assigns EObject provided by user to PrefixConfig. - // EObject is description is TBD - SetE(value EObject) PrefixConfig - // HasE checks if E has been set in PrefixConfig - HasE() bool - // F returns FObject, set in PrefixConfig. - // FObject is description is TBD - F() FObject - // SetF assigns FObject provided by user to PrefixConfig. - // FObject is description is TBD - SetF(value FObject) PrefixConfig - // HasF checks if F has been set in PrefixConfig - HasF() bool - // G returns PrefixConfigGObjectIterIter, set in PrefixConfig - G() PrefixConfigGObjectIter - // H returns bool, set in PrefixConfig. - H() bool - // SetH assigns bool provided by user to PrefixConfig - SetH(value bool) PrefixConfig - // HasH checks if H has been set in PrefixConfig - HasH() bool - // I returns []byte, set in PrefixConfig. - I() []byte - // SetI assigns []byte provided by user to PrefixConfig - SetI(value []byte) PrefixConfig - // J returns PrefixConfigJObjectIterIter, set in PrefixConfig - J() PrefixConfigJObjectIter - // K returns KObject, set in PrefixConfig. - // KObject is description is TBD - K() KObject - // SetK assigns KObject provided by user to PrefixConfig. - // KObject is description is TBD - SetK(value KObject) PrefixConfig - // HasK checks if K has been set in PrefixConfig - HasK() bool - // L returns LObject, set in PrefixConfig. - // LObject is format validation object - L() LObject - // SetL assigns LObject provided by user to PrefixConfig. - // LObject is format validation object - SetL(value LObject) PrefixConfig - // HasL checks if L has been set in PrefixConfig - HasL() bool - // ListOfStringValues returns []string, set in PrefixConfig. - ListOfStringValues() []string - // SetListOfStringValues assigns []string provided by user to PrefixConfig - SetListOfStringValues(value []string) PrefixConfig - // ListOfIntegerValues returns []int32, set in PrefixConfig. - ListOfIntegerValues() []int32 - // SetListOfIntegerValues assigns []int32 provided by user to PrefixConfig - SetListOfIntegerValues(value []int32) PrefixConfig - // Level returns LevelOne, set in PrefixConfig. - // LevelOne is to Test Multi level non-primitive types - Level() LevelOne - // SetLevel assigns LevelOne provided by user to PrefixConfig. - // LevelOne is to Test Multi level non-primitive types - SetLevel(value LevelOne) PrefixConfig - // HasLevel checks if Level has been set in PrefixConfig - HasLevel() bool - // Mandatory returns Mandate, set in PrefixConfig. - // Mandate is object to Test required Parameter - Mandatory() Mandate - // SetMandatory assigns Mandate provided by user to PrefixConfig. - // Mandate is object to Test required Parameter - SetMandatory(value Mandate) PrefixConfig - // HasMandatory checks if Mandatory has been set in PrefixConfig - HasMandatory() bool - // Ipv4Pattern returns Ipv4Pattern, set in PrefixConfig. - // Ipv4Pattern is test ipv4 pattern - Ipv4Pattern() Ipv4Pattern - // SetIpv4Pattern assigns Ipv4Pattern provided by user to PrefixConfig. - // Ipv4Pattern is test ipv4 pattern - SetIpv4Pattern(value Ipv4Pattern) PrefixConfig - // HasIpv4Pattern checks if Ipv4Pattern has been set in PrefixConfig - HasIpv4Pattern() bool - // Ipv6Pattern returns Ipv6Pattern, set in PrefixConfig. - // Ipv6Pattern is test ipv6 pattern - Ipv6Pattern() Ipv6Pattern - // SetIpv6Pattern assigns Ipv6Pattern provided by user to PrefixConfig. - // Ipv6Pattern is test ipv6 pattern - SetIpv6Pattern(value Ipv6Pattern) PrefixConfig - // HasIpv6Pattern checks if Ipv6Pattern has been set in PrefixConfig - HasIpv6Pattern() bool - // MacPattern returns MacPattern, set in PrefixConfig. - // MacPattern is test mac pattern - MacPattern() MacPattern - // SetMacPattern assigns MacPattern provided by user to PrefixConfig. - // MacPattern is test mac pattern - SetMacPattern(value MacPattern) PrefixConfig - // HasMacPattern checks if MacPattern has been set in PrefixConfig - HasMacPattern() bool - // IntegerPattern returns IntegerPattern, set in PrefixConfig. - // IntegerPattern is test integer pattern - IntegerPattern() IntegerPattern - // SetIntegerPattern assigns IntegerPattern provided by user to PrefixConfig. - // IntegerPattern is test integer pattern - SetIntegerPattern(value IntegerPattern) PrefixConfig - // HasIntegerPattern checks if IntegerPattern has been set in PrefixConfig - HasIntegerPattern() bool - // ChecksumPattern returns ChecksumPattern, set in PrefixConfig. - // ChecksumPattern is test checksum pattern - ChecksumPattern() ChecksumPattern - // SetChecksumPattern assigns ChecksumPattern provided by user to PrefixConfig. - // ChecksumPattern is test checksum pattern - SetChecksumPattern(value ChecksumPattern) PrefixConfig - // HasChecksumPattern checks if ChecksumPattern has been set in PrefixConfig - HasChecksumPattern() bool - // Case returns Layer1Ieee802X, set in PrefixConfig. - Case() Layer1Ieee802X - // SetCase assigns Layer1Ieee802X provided by user to PrefixConfig. - SetCase(value Layer1Ieee802X) PrefixConfig - // HasCase checks if Case has been set in PrefixConfig - HasCase() bool - // MObject returns MObject, set in PrefixConfig. - // MObject is required format validation object - MObject() MObject - // SetMObject assigns MObject provided by user to PrefixConfig. - // MObject is required format validation object - SetMObject(value MObject) PrefixConfig - // HasMObject checks if MObject has been set in PrefixConfig - HasMObject() bool - // Integer64 returns int64, set in PrefixConfig. - Integer64() int64 - // SetInteger64 assigns int64 provided by user to PrefixConfig - SetInteger64(value int64) PrefixConfig - // HasInteger64 checks if Integer64 has been set in PrefixConfig - HasInteger64() bool - // Integer64List returns []int64, set in PrefixConfig. - Integer64List() []int64 - // SetInteger64List assigns []int64 provided by user to PrefixConfig - SetInteger64List(value []int64) PrefixConfig - // HeaderChecksum returns PatternPrefixConfigHeaderChecksum, set in PrefixConfig. - // PatternPrefixConfigHeaderChecksum is header checksum - HeaderChecksum() PatternPrefixConfigHeaderChecksum - // SetHeaderChecksum assigns PatternPrefixConfigHeaderChecksum provided by user to PrefixConfig. - // PatternPrefixConfigHeaderChecksum is header checksum - SetHeaderChecksum(value PatternPrefixConfigHeaderChecksum) PrefixConfig - // HasHeaderChecksum checks if HeaderChecksum has been set in PrefixConfig - HasHeaderChecksum() bool - // StrLen returns string, set in PrefixConfig. - StrLen() string - // SetStrLen assigns string provided by user to PrefixConfig - SetStrLen(value string) PrefixConfig - // HasStrLen checks if StrLen has been set in PrefixConfig - HasStrLen() bool - // HexSlice returns []string, set in PrefixConfig. - HexSlice() []string - // SetHexSlice assigns []string provided by user to PrefixConfig - SetHexSlice(value []string) PrefixConfig - // AutoFieldTest returns PatternPrefixConfigAutoFieldTest, set in PrefixConfig. - // PatternPrefixConfigAutoFieldTest is tBD - AutoFieldTest() PatternPrefixConfigAutoFieldTest - // SetAutoFieldTest assigns PatternPrefixConfigAutoFieldTest provided by user to PrefixConfig. - // PatternPrefixConfigAutoFieldTest is tBD - SetAutoFieldTest(value PatternPrefixConfigAutoFieldTest) PrefixConfig - // HasAutoFieldTest checks if AutoFieldTest has been set in PrefixConfig - HasAutoFieldTest() bool - // Name returns string, set in PrefixConfig. - Name() string - // SetName assigns string provided by user to PrefixConfig - SetName(value string) PrefixConfig - // HasName checks if Name has been set in PrefixConfig - HasName() bool - // WList returns PrefixConfigWObjectIterIter, set in PrefixConfig - WList() PrefixConfigWObjectIter - // XList returns PrefixConfigZObjectIterIter, set in PrefixConfig - XList() PrefixConfigZObjectIter - // ZObject returns ZObject, set in PrefixConfig. - // ZObject is description is TBD - ZObject() ZObject - // SetZObject assigns ZObject provided by user to PrefixConfig. - // ZObject is description is TBD - SetZObject(value ZObject) PrefixConfig - // HasZObject checks if ZObject has been set in PrefixConfig - HasZObject() bool - // YObject returns YObject, set in PrefixConfig. - // YObject is description is TBD - YObject() YObject - // SetYObject assigns YObject provided by user to PrefixConfig. - // YObject is description is TBD - SetYObject(value YObject) PrefixConfig - // HasYObject checks if YObject has been set in PrefixConfig - HasYObject() bool - // ChoiceObject returns PrefixConfigChoiceObjectIterIter, set in PrefixConfig - ChoiceObject() PrefixConfigChoiceObjectIter - // RequiredChoiceObject returns RequiredChoiceParent, set in PrefixConfig. - // RequiredChoiceParent is description is TBD - RequiredChoiceObject() RequiredChoiceParent - // SetRequiredChoiceObject assigns RequiredChoiceParent provided by user to PrefixConfig. - // RequiredChoiceParent is description is TBD - SetRequiredChoiceObject(value RequiredChoiceParent) PrefixConfig - // HasRequiredChoiceObject checks if RequiredChoiceObject has been set in PrefixConfig - HasRequiredChoiceObject() bool - // G1 returns PrefixConfigGObjectIterIter, set in PrefixConfig - G1() PrefixConfigGObjectIter - // G2 returns PrefixConfigGObjectIterIter, set in PrefixConfig - G2() PrefixConfigGObjectIter - // Int32Param returns int32, set in PrefixConfig. - Int32Param() int32 - // SetInt32Param assigns int32 provided by user to PrefixConfig - SetInt32Param(value int32) PrefixConfig - // HasInt32Param checks if Int32Param has been set in PrefixConfig - HasInt32Param() bool - // Int32ListParam returns []int32, set in PrefixConfig. - Int32ListParam() []int32 - // SetInt32ListParam assigns []int32 provided by user to PrefixConfig - SetInt32ListParam(value []int32) PrefixConfig - // Uint32Param returns uint32, set in PrefixConfig. - Uint32Param() uint32 - // SetUint32Param assigns uint32 provided by user to PrefixConfig - SetUint32Param(value uint32) PrefixConfig - // HasUint32Param checks if Uint32Param has been set in PrefixConfig - HasUint32Param() bool - // Uint32ListParam returns []uint32, set in PrefixConfig. - Uint32ListParam() []uint32 - // SetUint32ListParam assigns []uint32 provided by user to PrefixConfig - SetUint32ListParam(value []uint32) PrefixConfig - // Uint64Param returns uint64, set in PrefixConfig. - Uint64Param() uint64 - // SetUint64Param assigns uint64 provided by user to PrefixConfig - SetUint64Param(value uint64) PrefixConfig - // HasUint64Param checks if Uint64Param has been set in PrefixConfig - HasUint64Param() bool - // Uint64ListParam returns []uint64, set in PrefixConfig. - Uint64ListParam() []uint64 - // SetUint64ListParam assigns []uint64 provided by user to PrefixConfig - SetUint64ListParam(value []uint64) PrefixConfig - // AutoInt32Param returns int32, set in PrefixConfig. - AutoInt32Param() int32 - // SetAutoInt32Param assigns int32 provided by user to PrefixConfig - SetAutoInt32Param(value int32) PrefixConfig - // HasAutoInt32Param checks if AutoInt32Param has been set in PrefixConfig - HasAutoInt32Param() bool - // AutoInt32ListParam returns []int32, set in PrefixConfig. - AutoInt32ListParam() []int32 - // SetAutoInt32ListParam assigns []int32 provided by user to PrefixConfig - SetAutoInt32ListParam(value []int32) PrefixConfig - setNil() -} - -// A required object that MUST be generated as such. -// RequiredObject returns a EObject -func (obj *prefixConfig) RequiredObject() EObject { - if obj.obj.RequiredObject == nil { - obj.obj.RequiredObject = NewEObject().Msg() - } - if obj.requiredObjectHolder == nil { - obj.requiredObjectHolder = &eObject{obj: obj.obj.RequiredObject} - } - return obj.requiredObjectHolder -} - -// A required object that MUST be generated as such. -// SetRequiredObject sets the EObject value in the PrefixConfig object -func (obj *prefixConfig) SetRequiredObject(value EObject) PrefixConfig { - - obj.requiredObjectHolder = nil - obj.obj.RequiredObject = value.Msg() - - return obj -} - -// An optional object that MUST be generated as such. -// OptionalObject returns a EObject -func (obj *prefixConfig) OptionalObject() EObject { - if obj.obj.OptionalObject == nil { - obj.obj.OptionalObject = NewEObject().Msg() - } - if obj.optionalObjectHolder == nil { - obj.optionalObjectHolder = &eObject{obj: obj.obj.OptionalObject} - } - return obj.optionalObjectHolder -} - -// An optional object that MUST be generated as such. -// OptionalObject returns a EObject -func (obj *prefixConfig) HasOptionalObject() bool { - return obj.obj.OptionalObject != nil -} - -// An optional object that MUST be generated as such. -// SetOptionalObject sets the EObject value in the PrefixConfig object -func (obj *prefixConfig) SetOptionalObject(value EObject) PrefixConfig { - - obj.optionalObjectHolder = nil - obj.obj.OptionalObject = value.Msg() - - return obj -} - -// description is TBD -// Ieee8021Qbb returns a bool -func (obj *prefixConfig) Ieee8021Qbb() bool { - - return *obj.obj.Ieee_802_1Qbb - -} - -// description is TBD -// Ieee8021Qbb returns a bool -func (obj *prefixConfig) HasIeee8021Qbb() bool { - return obj.obj.Ieee_802_1Qbb != nil -} - -// description is TBD -// SetIeee8021Qbb sets the bool value in the PrefixConfig object -func (obj *prefixConfig) SetIeee8021Qbb(value bool) PrefixConfig { - - obj.obj.Ieee_802_1Qbb = &value - return obj -} - -// Deprecated: Information TBD -// -// Description TBD -// Space1 returns a int32 -func (obj *prefixConfig) Space1() int32 { - - return *obj.obj.Space_1 - -} - -// Deprecated: Information TBD -// -// Description TBD -// Space1 returns a int32 -func (obj *prefixConfig) HasSpace1() bool { - return obj.obj.Space_1 != nil -} - -// Deprecated: Information TBD -// -// Description TBD -// SetSpace1 sets the int32 value in the PrefixConfig object -func (obj *prefixConfig) SetSpace1(value int32) PrefixConfig { - - obj.obj.Space_1 = &value - return obj -} - -// description is TBD -// FullDuplex100Mb returns a int64 -func (obj *prefixConfig) FullDuplex100Mb() int64 { - - return *obj.obj.FullDuplex_100Mb - -} - -// description is TBD -// FullDuplex100Mb returns a int64 -func (obj *prefixConfig) HasFullDuplex100Mb() bool { - return obj.obj.FullDuplex_100Mb != nil -} - -// description is TBD -// SetFullDuplex100Mb sets the int64 value in the PrefixConfig object -func (obj *prefixConfig) SetFullDuplex100Mb(value int64) PrefixConfig { - - obj.obj.FullDuplex_100Mb = &value - return obj -} - -type PrefixConfigResponseEnum string - -// Enum of Response on PrefixConfig -var PrefixConfigResponse = struct { - STATUS_200 PrefixConfigResponseEnum - STATUS_400 PrefixConfigResponseEnum - STATUS_404 PrefixConfigResponseEnum - STATUS_500 PrefixConfigResponseEnum -}{ - STATUS_200: PrefixConfigResponseEnum("status_200"), - STATUS_400: PrefixConfigResponseEnum("status_400"), - STATUS_404: PrefixConfigResponseEnum("status_404"), - STATUS_500: PrefixConfigResponseEnum("status_500"), -} - -func (obj *prefixConfig) Response() PrefixConfigResponseEnum { - return PrefixConfigResponseEnum(obj.obj.Response.Enum().String()) -} - -// Indicate to the server what response should be returned -// Response returns a string -func (obj *prefixConfig) HasResponse() bool { - return obj.obj.Response != nil -} - -func (obj *prefixConfig) SetResponse(value PrefixConfigResponseEnum) PrefixConfig { - intValue, ok := sanity.PrefixConfig_Response_Enum_value[string(value)] - if !ok { - obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( - "%s is not a valid choice on PrefixConfigResponseEnum", string(value))) - return obj - } - enumValue := sanity.PrefixConfig_Response_Enum(intValue) - obj.obj.Response = &enumValue - - return obj -} - -// Under Review: Information TBD -// -// Small single line description -// A returns a string -func (obj *prefixConfig) A() string { - - return obj.obj.A -} - -// Under Review: Information TBD -// -// Small single line description -// SetA sets the string value in the PrefixConfig object -func (obj *prefixConfig) SetA(value string) PrefixConfig { - - obj.obj.A = value - return obj -} - -// Longer multi-line description -// Second line is here -// Third line -// B returns a float32 -func (obj *prefixConfig) B() float32 { - - return obj.obj.B -} - -// Longer multi-line description -// Second line is here -// Third line -// SetB sets the float32 value in the PrefixConfig object -func (obj *prefixConfig) SetB(value float32) PrefixConfig { - - obj.obj.B = value - return obj -} - -// description is TBD -// C returns a int32 -func (obj *prefixConfig) C() int32 { - - return obj.obj.C -} - -// description is TBD -// SetC sets the int32 value in the PrefixConfig object -func (obj *prefixConfig) SetC(value int32) PrefixConfig { - - obj.obj.C = value - return obj -} - -type PrefixConfigDValuesEnum string - -// Enum of DValues on PrefixConfig -var PrefixConfigDValues = struct { - A PrefixConfigDValuesEnum - B PrefixConfigDValuesEnum - C PrefixConfigDValuesEnum -}{ - A: PrefixConfigDValuesEnum("a"), - B: PrefixConfigDValuesEnum("b"), - C: PrefixConfigDValuesEnum("c"), -} - -func (obj *prefixConfig) DValues() []PrefixConfigDValuesEnum { - items := []PrefixConfigDValuesEnum{} - for _, item := range obj.obj.DValues { - items = append(items, PrefixConfigDValuesEnum(item.String())) - } - return items -} - -// Deprecated: Information TBD -// -// A list of enum values -// SetDValues sets the []string value in the PrefixConfig object -func (obj *prefixConfig) SetDValues(value []PrefixConfigDValuesEnum) PrefixConfig { - - items := []sanity.PrefixConfig_DValues_Enum{} - for _, item := range value { - intValue := sanity.PrefixConfig_DValues_Enum_value[string(item)] - items = append(items, sanity.PrefixConfig_DValues_Enum(intValue)) - } - obj.obj.DValues = items - return obj -} - -// Deprecated: Information TBD -// -// A child object -// E returns a EObject -func (obj *prefixConfig) E() EObject { - if obj.obj.E == nil { - obj.obj.E = NewEObject().Msg() - } - if obj.eHolder == nil { - obj.eHolder = &eObject{obj: obj.obj.E} - } - return obj.eHolder -} - -// Deprecated: Information TBD -// -// A child object -// E returns a EObject -func (obj *prefixConfig) HasE() bool { - return obj.obj.E != nil -} - -// Deprecated: Information TBD -// -// A child object -// SetE sets the EObject value in the PrefixConfig object -func (obj *prefixConfig) SetE(value EObject) PrefixConfig { - - obj.eHolder = nil - obj.obj.E = value.Msg() - - return obj -} - -// An object with only choice(s) -// F returns a FObject -func (obj *prefixConfig) F() FObject { - if obj.obj.F == nil { - obj.obj.F = NewFObject().Msg() - } - if obj.fHolder == nil { - obj.fHolder = &fObject{obj: obj.obj.F} - } - return obj.fHolder -} - -// An object with only choice(s) -// F returns a FObject -func (obj *prefixConfig) HasF() bool { - return obj.obj.F != nil -} - -// An object with only choice(s) -// SetF sets the FObject value in the PrefixConfig object -func (obj *prefixConfig) SetF(value FObject) PrefixConfig { - - obj.fHolder = nil - obj.obj.F = value.Msg() - - return obj -} - -// A list of objects with choice and properties -// G returns a []GObject -func (obj *prefixConfig) G() PrefixConfigGObjectIter { - if len(obj.obj.G) == 0 { - obj.obj.G = []*sanity.GObject{} - } - if obj.gHolder == nil { - obj.gHolder = newPrefixConfigGObjectIter(&obj.obj.G).setMsg(obj) - } - return obj.gHolder -} - -type prefixConfigGObjectIter struct { - obj *prefixConfig - gObjectSlice []GObject - fieldPtr *[]*sanity.GObject -} - -func newPrefixConfigGObjectIter(ptr *[]*sanity.GObject) PrefixConfigGObjectIter { - return &prefixConfigGObjectIter{fieldPtr: ptr} -} - -type PrefixConfigGObjectIter interface { - setMsg(*prefixConfig) PrefixConfigGObjectIter - Items() []GObject - Add() GObject - Append(items ...GObject) PrefixConfigGObjectIter - Set(index int, newObj GObject) PrefixConfigGObjectIter - Clear() PrefixConfigGObjectIter - clearHolderSlice() PrefixConfigGObjectIter - appendHolderSlice(item GObject) PrefixConfigGObjectIter -} - -func (obj *prefixConfigGObjectIter) setMsg(msg *prefixConfig) PrefixConfigGObjectIter { - obj.clearHolderSlice() - for _, val := range *obj.fieldPtr { - obj.appendHolderSlice(&gObject{obj: val}) - } - obj.obj = msg - return obj -} - -func (obj *prefixConfigGObjectIter) Items() []GObject { - return obj.gObjectSlice -} - -func (obj *prefixConfigGObjectIter) Add() GObject { - newObj := &sanity.GObject{} - *obj.fieldPtr = append(*obj.fieldPtr, newObj) - newLibObj := &gObject{obj: newObj} - newLibObj.setDefault() - obj.gObjectSlice = append(obj.gObjectSlice, newLibObj) - return newLibObj -} - -func (obj *prefixConfigGObjectIter) Append(items ...GObject) PrefixConfigGObjectIter { - for _, item := range items { - newObj := item.Msg() - *obj.fieldPtr = append(*obj.fieldPtr, newObj) - obj.gObjectSlice = append(obj.gObjectSlice, item) - } - return obj -} - -func (obj *prefixConfigGObjectIter) Set(index int, newObj GObject) PrefixConfigGObjectIter { - (*obj.fieldPtr)[index] = newObj.Msg() - obj.gObjectSlice[index] = newObj - return obj -} -func (obj *prefixConfigGObjectIter) Clear() PrefixConfigGObjectIter { - if len(*obj.fieldPtr) > 0 { - *obj.fieldPtr = []*sanity.GObject{} - obj.gObjectSlice = []GObject{} - } - return obj -} -func (obj *prefixConfigGObjectIter) clearHolderSlice() PrefixConfigGObjectIter { - if len(obj.gObjectSlice) > 0 { - obj.gObjectSlice = []GObject{} - } - return obj -} -func (obj *prefixConfigGObjectIter) appendHolderSlice(item GObject) PrefixConfigGObjectIter { - obj.gObjectSlice = append(obj.gObjectSlice, item) - return obj -} - -// A boolean value -// H returns a bool -func (obj *prefixConfig) H() bool { - - return *obj.obj.H - -} - -// A boolean value -// H returns a bool -func (obj *prefixConfig) HasH() bool { - return obj.obj.H != nil -} - -// A boolean value -// SetH sets the bool value in the PrefixConfig object -func (obj *prefixConfig) SetH(value bool) PrefixConfig { - - obj.obj.H = &value - return obj -} - -// A byte string -// I returns a []byte -func (obj *prefixConfig) I() []byte { - - return obj.obj.I -} - -// A byte string -// SetI sets the []byte value in the PrefixConfig object -func (obj *prefixConfig) SetI(value []byte) PrefixConfig { - - obj.obj.I = value - return obj -} - -// A list of objects with only choice -// J returns a []JObject -func (obj *prefixConfig) J() PrefixConfigJObjectIter { - if len(obj.obj.J) == 0 { - obj.obj.J = []*sanity.JObject{} - } - if obj.jHolder == nil { - obj.jHolder = newPrefixConfigJObjectIter(&obj.obj.J).setMsg(obj) - } - return obj.jHolder -} - -type prefixConfigJObjectIter struct { - obj *prefixConfig - jObjectSlice []JObject - fieldPtr *[]*sanity.JObject -} - -func newPrefixConfigJObjectIter(ptr *[]*sanity.JObject) PrefixConfigJObjectIter { - return &prefixConfigJObjectIter{fieldPtr: ptr} -} - -type PrefixConfigJObjectIter interface { - setMsg(*prefixConfig) PrefixConfigJObjectIter - Items() []JObject - Add() JObject - Append(items ...JObject) PrefixConfigJObjectIter - Set(index int, newObj JObject) PrefixConfigJObjectIter - Clear() PrefixConfigJObjectIter - clearHolderSlice() PrefixConfigJObjectIter - appendHolderSlice(item JObject) PrefixConfigJObjectIter -} - -func (obj *prefixConfigJObjectIter) setMsg(msg *prefixConfig) PrefixConfigJObjectIter { - obj.clearHolderSlice() - for _, val := range *obj.fieldPtr { - obj.appendHolderSlice(&jObject{obj: val}) - } - obj.obj = msg - return obj -} - -func (obj *prefixConfigJObjectIter) Items() []JObject { - return obj.jObjectSlice -} - -func (obj *prefixConfigJObjectIter) Add() JObject { - newObj := &sanity.JObject{} - *obj.fieldPtr = append(*obj.fieldPtr, newObj) - newLibObj := &jObject{obj: newObj} - newLibObj.setDefault() - obj.jObjectSlice = append(obj.jObjectSlice, newLibObj) - return newLibObj -} - -func (obj *prefixConfigJObjectIter) Append(items ...JObject) PrefixConfigJObjectIter { - for _, item := range items { - newObj := item.Msg() - *obj.fieldPtr = append(*obj.fieldPtr, newObj) - obj.jObjectSlice = append(obj.jObjectSlice, item) - } - return obj -} - -func (obj *prefixConfigJObjectIter) Set(index int, newObj JObject) PrefixConfigJObjectIter { - (*obj.fieldPtr)[index] = newObj.Msg() - obj.jObjectSlice[index] = newObj - return obj -} -func (obj *prefixConfigJObjectIter) Clear() PrefixConfigJObjectIter { - if len(*obj.fieldPtr) > 0 { - *obj.fieldPtr = []*sanity.JObject{} - obj.jObjectSlice = []JObject{} - } - return obj -} -func (obj *prefixConfigJObjectIter) clearHolderSlice() PrefixConfigJObjectIter { - if len(obj.jObjectSlice) > 0 { - obj.jObjectSlice = []JObject{} - } - return obj -} -func (obj *prefixConfigJObjectIter) appendHolderSlice(item JObject) PrefixConfigJObjectIter { - obj.jObjectSlice = append(obj.jObjectSlice, item) - return obj -} - -// A nested object with only one property which is a choice object -// K returns a KObject -func (obj *prefixConfig) K() KObject { - if obj.obj.K == nil { - obj.obj.K = NewKObject().Msg() - } - if obj.kHolder == nil { - obj.kHolder = &kObject{obj: obj.obj.K} - } - return obj.kHolder -} - -// A nested object with only one property which is a choice object -// K returns a KObject -func (obj *prefixConfig) HasK() bool { - return obj.obj.K != nil -} - -// A nested object with only one property which is a choice object -// SetK sets the KObject value in the PrefixConfig object -func (obj *prefixConfig) SetK(value KObject) PrefixConfig { - - obj.kHolder = nil - obj.obj.K = value.Msg() - - return obj -} - -// description is TBD -// L returns a LObject -func (obj *prefixConfig) L() LObject { - if obj.obj.L == nil { - obj.obj.L = NewLObject().Msg() - } - if obj.lHolder == nil { - obj.lHolder = &lObject{obj: obj.obj.L} - } - return obj.lHolder -} - -// description is TBD -// L returns a LObject -func (obj *prefixConfig) HasL() bool { - return obj.obj.L != nil -} - -// description is TBD -// SetL sets the LObject value in the PrefixConfig object -func (obj *prefixConfig) SetL(value LObject) PrefixConfig { - - obj.lHolder = nil - obj.obj.L = value.Msg() - - return obj -} - -// A list of string values -// ListOfStringValues returns a []string -func (obj *prefixConfig) ListOfStringValues() []string { - if obj.obj.ListOfStringValues == nil { - obj.obj.ListOfStringValues = make([]string, 0) - } - return obj.obj.ListOfStringValues -} - -// A list of string values -// SetListOfStringValues sets the []string value in the PrefixConfig object -func (obj *prefixConfig) SetListOfStringValues(value []string) PrefixConfig { - - if obj.obj.ListOfStringValues == nil { - obj.obj.ListOfStringValues = make([]string, 0) - } - obj.obj.ListOfStringValues = value - - return obj -} - -// A list of integer values -// ListOfIntegerValues returns a []int32 -func (obj *prefixConfig) ListOfIntegerValues() []int32 { - if obj.obj.ListOfIntegerValues == nil { - obj.obj.ListOfIntegerValues = make([]int32, 0) - } - return obj.obj.ListOfIntegerValues -} - -// A list of integer values -// SetListOfIntegerValues sets the []int32 value in the PrefixConfig object -func (obj *prefixConfig) SetListOfIntegerValues(value []int32) PrefixConfig { - - if obj.obj.ListOfIntegerValues == nil { - obj.obj.ListOfIntegerValues = make([]int32, 0) - } - obj.obj.ListOfIntegerValues = value - - return obj -} - -// description is TBD -// Level returns a LevelOne -func (obj *prefixConfig) Level() LevelOne { - if obj.obj.Level == nil { - obj.obj.Level = NewLevelOne().Msg() - } - if obj.levelHolder == nil { - obj.levelHolder = &levelOne{obj: obj.obj.Level} - } - return obj.levelHolder -} - -// description is TBD -// Level returns a LevelOne -func (obj *prefixConfig) HasLevel() bool { - return obj.obj.Level != nil -} - -// description is TBD -// SetLevel sets the LevelOne value in the PrefixConfig object -func (obj *prefixConfig) SetLevel(value LevelOne) PrefixConfig { - - obj.levelHolder = nil - obj.obj.Level = value.Msg() - - return obj -} - -// description is TBD -// Mandatory returns a Mandate -func (obj *prefixConfig) Mandatory() Mandate { - if obj.obj.Mandatory == nil { - obj.obj.Mandatory = NewMandate().Msg() - } - if obj.mandatoryHolder == nil { - obj.mandatoryHolder = &mandate{obj: obj.obj.Mandatory} - } - return obj.mandatoryHolder -} - -// description is TBD -// Mandatory returns a Mandate -func (obj *prefixConfig) HasMandatory() bool { - return obj.obj.Mandatory != nil -} - -// description is TBD -// SetMandatory sets the Mandate value in the PrefixConfig object -func (obj *prefixConfig) SetMandatory(value Mandate) PrefixConfig { - - obj.mandatoryHolder = nil - obj.obj.Mandatory = value.Msg() - - return obj -} - -// description is TBD -// Ipv4Pattern returns a Ipv4Pattern -func (obj *prefixConfig) Ipv4Pattern() Ipv4Pattern { - if obj.obj.Ipv4Pattern == nil { - obj.obj.Ipv4Pattern = NewIpv4Pattern().Msg() - } - if obj.ipv4PatternHolder == nil { - obj.ipv4PatternHolder = &ipv4Pattern{obj: obj.obj.Ipv4Pattern} - } - return obj.ipv4PatternHolder -} - -// description is TBD -// Ipv4Pattern returns a Ipv4Pattern -func (obj *prefixConfig) HasIpv4Pattern() bool { - return obj.obj.Ipv4Pattern != nil -} - -// description is TBD -// SetIpv4Pattern sets the Ipv4Pattern value in the PrefixConfig object -func (obj *prefixConfig) SetIpv4Pattern(value Ipv4Pattern) PrefixConfig { - - obj.ipv4PatternHolder = nil - obj.obj.Ipv4Pattern = value.Msg() - - return obj -} - -// description is TBD -// Ipv6Pattern returns a Ipv6Pattern -func (obj *prefixConfig) Ipv6Pattern() Ipv6Pattern { - if obj.obj.Ipv6Pattern == nil { - obj.obj.Ipv6Pattern = NewIpv6Pattern().Msg() - } - if obj.ipv6PatternHolder == nil { - obj.ipv6PatternHolder = &ipv6Pattern{obj: obj.obj.Ipv6Pattern} - } - return obj.ipv6PatternHolder -} - -// description is TBD -// Ipv6Pattern returns a Ipv6Pattern -func (obj *prefixConfig) HasIpv6Pattern() bool { - return obj.obj.Ipv6Pattern != nil -} - -// description is TBD -// SetIpv6Pattern sets the Ipv6Pattern value in the PrefixConfig object -func (obj *prefixConfig) SetIpv6Pattern(value Ipv6Pattern) PrefixConfig { - - obj.ipv6PatternHolder = nil - obj.obj.Ipv6Pattern = value.Msg() - - return obj -} - -// description is TBD -// MacPattern returns a MacPattern -func (obj *prefixConfig) MacPattern() MacPattern { - if obj.obj.MacPattern == nil { - obj.obj.MacPattern = NewMacPattern().Msg() - } - if obj.macPatternHolder == nil { - obj.macPatternHolder = &macPattern{obj: obj.obj.MacPattern} - } - return obj.macPatternHolder -} - -// description is TBD -// MacPattern returns a MacPattern -func (obj *prefixConfig) HasMacPattern() bool { - return obj.obj.MacPattern != nil -} - -// description is TBD -// SetMacPattern sets the MacPattern value in the PrefixConfig object -func (obj *prefixConfig) SetMacPattern(value MacPattern) PrefixConfig { - - obj.macPatternHolder = nil - obj.obj.MacPattern = value.Msg() - - return obj -} - -// description is TBD -// IntegerPattern returns a IntegerPattern -func (obj *prefixConfig) IntegerPattern() IntegerPattern { - if obj.obj.IntegerPattern == nil { - obj.obj.IntegerPattern = NewIntegerPattern().Msg() - } - if obj.integerPatternHolder == nil { - obj.integerPatternHolder = &integerPattern{obj: obj.obj.IntegerPattern} - } - return obj.integerPatternHolder -} - -// description is TBD -// IntegerPattern returns a IntegerPattern -func (obj *prefixConfig) HasIntegerPattern() bool { - return obj.obj.IntegerPattern != nil -} - -// description is TBD -// SetIntegerPattern sets the IntegerPattern value in the PrefixConfig object -func (obj *prefixConfig) SetIntegerPattern(value IntegerPattern) PrefixConfig { - - obj.integerPatternHolder = nil - obj.obj.IntegerPattern = value.Msg() - - return obj -} - -// description is TBD -// ChecksumPattern returns a ChecksumPattern -func (obj *prefixConfig) ChecksumPattern() ChecksumPattern { - if obj.obj.ChecksumPattern == nil { - obj.obj.ChecksumPattern = NewChecksumPattern().Msg() - } - if obj.checksumPatternHolder == nil { - obj.checksumPatternHolder = &checksumPattern{obj: obj.obj.ChecksumPattern} - } - return obj.checksumPatternHolder -} - -// description is TBD -// ChecksumPattern returns a ChecksumPattern -func (obj *prefixConfig) HasChecksumPattern() bool { - return obj.obj.ChecksumPattern != nil -} - -// description is TBD -// SetChecksumPattern sets the ChecksumPattern value in the PrefixConfig object -func (obj *prefixConfig) SetChecksumPattern(value ChecksumPattern) PrefixConfig { - - obj.checksumPatternHolder = nil - obj.obj.ChecksumPattern = value.Msg() - - return obj -} - -// description is TBD -// Case returns a Layer1Ieee802X -func (obj *prefixConfig) Case() Layer1Ieee802X { - if obj.obj.Case == nil { - obj.obj.Case = NewLayer1Ieee802X().Msg() - } - if obj.caseHolder == nil { - obj.caseHolder = &layer1Ieee802X{obj: obj.obj.Case} - } - return obj.caseHolder -} - -// description is TBD -// Case returns a Layer1Ieee802X -func (obj *prefixConfig) HasCase() bool { - return obj.obj.Case != nil -} - -// description is TBD -// SetCase sets the Layer1Ieee802X value in the PrefixConfig object -func (obj *prefixConfig) SetCase(value Layer1Ieee802X) PrefixConfig { - - obj.caseHolder = nil - obj.obj.Case = value.Msg() - - return obj -} - -// description is TBD -// MObject returns a MObject -func (obj *prefixConfig) MObject() MObject { - if obj.obj.MObject == nil { - obj.obj.MObject = NewMObject().Msg() - } - if obj.mObjectHolder == nil { - obj.mObjectHolder = &mObject{obj: obj.obj.MObject} - } - return obj.mObjectHolder -} - -// description is TBD -// MObject returns a MObject -func (obj *prefixConfig) HasMObject() bool { - return obj.obj.MObject != nil -} - -// description is TBD -// SetMObject sets the MObject value in the PrefixConfig object -func (obj *prefixConfig) SetMObject(value MObject) PrefixConfig { - - obj.mObjectHolder = nil - obj.obj.MObject = value.Msg() - - return obj -} - -// int64 type -// Integer64 returns a int64 -func (obj *prefixConfig) Integer64() int64 { - - return *obj.obj.Integer64 - -} - -// int64 type -// Integer64 returns a int64 -func (obj *prefixConfig) HasInteger64() bool { - return obj.obj.Integer64 != nil -} - -// int64 type -// SetInteger64 sets the int64 value in the PrefixConfig object -func (obj *prefixConfig) SetInteger64(value int64) PrefixConfig { - - obj.obj.Integer64 = &value - return obj -} - -// int64 type list -// Integer64List returns a []int64 -func (obj *prefixConfig) Integer64List() []int64 { - if obj.obj.Integer64List == nil { - obj.obj.Integer64List = make([]int64, 0) - } - return obj.obj.Integer64List -} - -// int64 type list -// SetInteger64List sets the []int64 value in the PrefixConfig object -func (obj *prefixConfig) SetInteger64List(value []int64) PrefixConfig { - - if obj.obj.Integer64List == nil { - obj.obj.Integer64List = make([]int64, 0) - } - obj.obj.Integer64List = value - - return obj -} - -// description is TBD -// HeaderChecksum returns a PatternPrefixConfigHeaderChecksum -func (obj *prefixConfig) HeaderChecksum() PatternPrefixConfigHeaderChecksum { - if obj.obj.HeaderChecksum == nil { - obj.obj.HeaderChecksum = NewPatternPrefixConfigHeaderChecksum().Msg() - } - if obj.headerChecksumHolder == nil { - obj.headerChecksumHolder = &patternPrefixConfigHeaderChecksum{obj: obj.obj.HeaderChecksum} - } - return obj.headerChecksumHolder -} - -// description is TBD -// HeaderChecksum returns a PatternPrefixConfigHeaderChecksum -func (obj *prefixConfig) HasHeaderChecksum() bool { - return obj.obj.HeaderChecksum != nil -} - -// description is TBD -// SetHeaderChecksum sets the PatternPrefixConfigHeaderChecksum value in the PrefixConfig object -func (obj *prefixConfig) SetHeaderChecksum(value PatternPrefixConfigHeaderChecksum) PrefixConfig { - - obj.headerChecksumHolder = nil - obj.obj.HeaderChecksum = value.Msg() - - return obj -} - -// Under Review: Information TBD -// -// string minimum&maximum Length -// StrLen returns a string -func (obj *prefixConfig) StrLen() string { - - return *obj.obj.StrLen - -} - -// Under Review: Information TBD -// -// string minimum&maximum Length -// StrLen returns a string -func (obj *prefixConfig) HasStrLen() bool { - return obj.obj.StrLen != nil -} - -// Under Review: Information TBD -// -// string minimum&maximum Length -// SetStrLen sets the string value in the PrefixConfig object -func (obj *prefixConfig) SetStrLen(value string) PrefixConfig { - - obj.obj.StrLen = &value - return obj -} - -// Under Review: Information TBD -// -// Array of Hex -// HexSlice returns a []string -func (obj *prefixConfig) HexSlice() []string { - if obj.obj.HexSlice == nil { - obj.obj.HexSlice = make([]string, 0) - } - return obj.obj.HexSlice -} - -// Under Review: Information TBD -// -// Array of Hex -// SetHexSlice sets the []string value in the PrefixConfig object -func (obj *prefixConfig) SetHexSlice(value []string) PrefixConfig { - - if obj.obj.HexSlice == nil { - obj.obj.HexSlice = make([]string, 0) - } - obj.obj.HexSlice = value - - return obj -} - -// description is TBD -// AutoFieldTest returns a PatternPrefixConfigAutoFieldTest -func (obj *prefixConfig) AutoFieldTest() PatternPrefixConfigAutoFieldTest { - if obj.obj.AutoFieldTest == nil { - obj.obj.AutoFieldTest = NewPatternPrefixConfigAutoFieldTest().Msg() - } - if obj.autoFieldTestHolder == nil { - obj.autoFieldTestHolder = &patternPrefixConfigAutoFieldTest{obj: obj.obj.AutoFieldTest} - } - return obj.autoFieldTestHolder -} - -// description is TBD -// AutoFieldTest returns a PatternPrefixConfigAutoFieldTest -func (obj *prefixConfig) HasAutoFieldTest() bool { - return obj.obj.AutoFieldTest != nil -} - -// description is TBD -// SetAutoFieldTest sets the PatternPrefixConfigAutoFieldTest value in the PrefixConfig object -func (obj *prefixConfig) SetAutoFieldTest(value PatternPrefixConfigAutoFieldTest) PrefixConfig { - - obj.autoFieldTestHolder = nil - obj.obj.AutoFieldTest = value.Msg() - - return obj -} - -// description is TBD -// Name returns a string -func (obj *prefixConfig) Name() string { - - return *obj.obj.Name - -} - -// description is TBD -// Name returns a string -func (obj *prefixConfig) HasName() bool { - return obj.obj.Name != nil -} - -// description is TBD -// SetName sets the string value in the PrefixConfig object -func (obj *prefixConfig) SetName(value string) PrefixConfig { - - obj.obj.Name = &value - return obj -} - -// description is TBD -// WList returns a []WObject -func (obj *prefixConfig) WList() PrefixConfigWObjectIter { - if len(obj.obj.WList) == 0 { - obj.obj.WList = []*sanity.WObject{} - } - if obj.wListHolder == nil { - obj.wListHolder = newPrefixConfigWObjectIter(&obj.obj.WList).setMsg(obj) - } - return obj.wListHolder -} - -type prefixConfigWObjectIter struct { - obj *prefixConfig - wObjectSlice []WObject - fieldPtr *[]*sanity.WObject -} - -func newPrefixConfigWObjectIter(ptr *[]*sanity.WObject) PrefixConfigWObjectIter { - return &prefixConfigWObjectIter{fieldPtr: ptr} -} - -type PrefixConfigWObjectIter interface { - setMsg(*prefixConfig) PrefixConfigWObjectIter - Items() []WObject - Add() WObject - Append(items ...WObject) PrefixConfigWObjectIter - Set(index int, newObj WObject) PrefixConfigWObjectIter - Clear() PrefixConfigWObjectIter - clearHolderSlice() PrefixConfigWObjectIter - appendHolderSlice(item WObject) PrefixConfigWObjectIter -} - -func (obj *prefixConfigWObjectIter) setMsg(msg *prefixConfig) PrefixConfigWObjectIter { - obj.clearHolderSlice() - for _, val := range *obj.fieldPtr { - obj.appendHolderSlice(&wObject{obj: val}) - } - obj.obj = msg - return obj -} - -func (obj *prefixConfigWObjectIter) Items() []WObject { - return obj.wObjectSlice -} - -func (obj *prefixConfigWObjectIter) Add() WObject { - newObj := &sanity.WObject{} - *obj.fieldPtr = append(*obj.fieldPtr, newObj) - newLibObj := &wObject{obj: newObj} - newLibObj.setDefault() - obj.wObjectSlice = append(obj.wObjectSlice, newLibObj) - return newLibObj -} - -func (obj *prefixConfigWObjectIter) Append(items ...WObject) PrefixConfigWObjectIter { - for _, item := range items { - newObj := item.Msg() - *obj.fieldPtr = append(*obj.fieldPtr, newObj) - obj.wObjectSlice = append(obj.wObjectSlice, item) - } - return obj -} - -func (obj *prefixConfigWObjectIter) Set(index int, newObj WObject) PrefixConfigWObjectIter { - (*obj.fieldPtr)[index] = newObj.Msg() - obj.wObjectSlice[index] = newObj - return obj -} -func (obj *prefixConfigWObjectIter) Clear() PrefixConfigWObjectIter { - if len(*obj.fieldPtr) > 0 { - *obj.fieldPtr = []*sanity.WObject{} - obj.wObjectSlice = []WObject{} - } - return obj -} -func (obj *prefixConfigWObjectIter) clearHolderSlice() PrefixConfigWObjectIter { - if len(obj.wObjectSlice) > 0 { - obj.wObjectSlice = []WObject{} - } - return obj -} -func (obj *prefixConfigWObjectIter) appendHolderSlice(item WObject) PrefixConfigWObjectIter { - obj.wObjectSlice = append(obj.wObjectSlice, item) - return obj -} - -// description is TBD -// XList returns a []ZObject -func (obj *prefixConfig) XList() PrefixConfigZObjectIter { - if len(obj.obj.XList) == 0 { - obj.obj.XList = []*sanity.ZObject{} - } - if obj.xListHolder == nil { - obj.xListHolder = newPrefixConfigZObjectIter(&obj.obj.XList).setMsg(obj) - } - return obj.xListHolder -} - -type prefixConfigZObjectIter struct { - obj *prefixConfig - zObjectSlice []ZObject - fieldPtr *[]*sanity.ZObject -} - -func newPrefixConfigZObjectIter(ptr *[]*sanity.ZObject) PrefixConfigZObjectIter { - return &prefixConfigZObjectIter{fieldPtr: ptr} -} - -type PrefixConfigZObjectIter interface { - setMsg(*prefixConfig) PrefixConfigZObjectIter - Items() []ZObject - Add() ZObject - Append(items ...ZObject) PrefixConfigZObjectIter - Set(index int, newObj ZObject) PrefixConfigZObjectIter - Clear() PrefixConfigZObjectIter - clearHolderSlice() PrefixConfigZObjectIter - appendHolderSlice(item ZObject) PrefixConfigZObjectIter -} - -func (obj *prefixConfigZObjectIter) setMsg(msg *prefixConfig) PrefixConfigZObjectIter { - obj.clearHolderSlice() - for _, val := range *obj.fieldPtr { - obj.appendHolderSlice(&zObject{obj: val}) - } - obj.obj = msg - return obj -} - -func (obj *prefixConfigZObjectIter) Items() []ZObject { - return obj.zObjectSlice -} - -func (obj *prefixConfigZObjectIter) Add() ZObject { - newObj := &sanity.ZObject{} - *obj.fieldPtr = append(*obj.fieldPtr, newObj) - newLibObj := &zObject{obj: newObj} - newLibObj.setDefault() - obj.zObjectSlice = append(obj.zObjectSlice, newLibObj) - return newLibObj -} - -func (obj *prefixConfigZObjectIter) Append(items ...ZObject) PrefixConfigZObjectIter { - for _, item := range items { - newObj := item.Msg() - *obj.fieldPtr = append(*obj.fieldPtr, newObj) - obj.zObjectSlice = append(obj.zObjectSlice, item) - } - return obj -} - -func (obj *prefixConfigZObjectIter) Set(index int, newObj ZObject) PrefixConfigZObjectIter { - (*obj.fieldPtr)[index] = newObj.Msg() - obj.zObjectSlice[index] = newObj - return obj -} -func (obj *prefixConfigZObjectIter) Clear() PrefixConfigZObjectIter { - if len(*obj.fieldPtr) > 0 { - *obj.fieldPtr = []*sanity.ZObject{} - obj.zObjectSlice = []ZObject{} - } - return obj -} -func (obj *prefixConfigZObjectIter) clearHolderSlice() PrefixConfigZObjectIter { - if len(obj.zObjectSlice) > 0 { - obj.zObjectSlice = []ZObject{} - } - return obj -} -func (obj *prefixConfigZObjectIter) appendHolderSlice(item ZObject) PrefixConfigZObjectIter { - obj.zObjectSlice = append(obj.zObjectSlice, item) - return obj -} - -// description is TBD -// ZObject returns a ZObject -func (obj *prefixConfig) ZObject() ZObject { - if obj.obj.ZObject == nil { - obj.obj.ZObject = NewZObject().Msg() - } - if obj.zObjectHolder == nil { - obj.zObjectHolder = &zObject{obj: obj.obj.ZObject} - } - return obj.zObjectHolder -} - -// description is TBD -// ZObject returns a ZObject -func (obj *prefixConfig) HasZObject() bool { - return obj.obj.ZObject != nil -} - -// description is TBD -// SetZObject sets the ZObject value in the PrefixConfig object -func (obj *prefixConfig) SetZObject(value ZObject) PrefixConfig { - - obj.zObjectHolder = nil - obj.obj.ZObject = value.Msg() - - return obj -} - -// description is TBD -// YObject returns a YObject -func (obj *prefixConfig) YObject() YObject { - if obj.obj.YObject == nil { - obj.obj.YObject = NewYObject().Msg() - } - if obj.yObjectHolder == nil { - obj.yObjectHolder = &yObject{obj: obj.obj.YObject} - } - return obj.yObjectHolder -} - -// description is TBD -// YObject returns a YObject -func (obj *prefixConfig) HasYObject() bool { - return obj.obj.YObject != nil -} - -// description is TBD -// SetYObject sets the YObject value in the PrefixConfig object -func (obj *prefixConfig) SetYObject(value YObject) PrefixConfig { - - obj.yObjectHolder = nil - obj.obj.YObject = value.Msg() - - return obj -} - -// A list of objects with choice with and without properties -// ChoiceObject returns a []ChoiceObject -func (obj *prefixConfig) ChoiceObject() PrefixConfigChoiceObjectIter { - if len(obj.obj.ChoiceObject) == 0 { - obj.obj.ChoiceObject = []*sanity.ChoiceObject{} - } - if obj.choiceObjectHolder == nil { - obj.choiceObjectHolder = newPrefixConfigChoiceObjectIter(&obj.obj.ChoiceObject).setMsg(obj) - } - return obj.choiceObjectHolder -} - -type prefixConfigChoiceObjectIter struct { - obj *prefixConfig - choiceObjectSlice []ChoiceObject - fieldPtr *[]*sanity.ChoiceObject -} - -func newPrefixConfigChoiceObjectIter(ptr *[]*sanity.ChoiceObject) PrefixConfigChoiceObjectIter { - return &prefixConfigChoiceObjectIter{fieldPtr: ptr} -} - -type PrefixConfigChoiceObjectIter interface { - setMsg(*prefixConfig) PrefixConfigChoiceObjectIter - Items() []ChoiceObject - Add() ChoiceObject - Append(items ...ChoiceObject) PrefixConfigChoiceObjectIter - Set(index int, newObj ChoiceObject) PrefixConfigChoiceObjectIter - Clear() PrefixConfigChoiceObjectIter - clearHolderSlice() PrefixConfigChoiceObjectIter - appendHolderSlice(item ChoiceObject) PrefixConfigChoiceObjectIter -} - -func (obj *prefixConfigChoiceObjectIter) setMsg(msg *prefixConfig) PrefixConfigChoiceObjectIter { - obj.clearHolderSlice() - for _, val := range *obj.fieldPtr { - obj.appendHolderSlice(&choiceObject{obj: val}) - } - obj.obj = msg - return obj -} - -func (obj *prefixConfigChoiceObjectIter) Items() []ChoiceObject { - return obj.choiceObjectSlice -} - -func (obj *prefixConfigChoiceObjectIter) Add() ChoiceObject { - newObj := &sanity.ChoiceObject{} - *obj.fieldPtr = append(*obj.fieldPtr, newObj) - newLibObj := &choiceObject{obj: newObj} - newLibObj.setDefault() - obj.choiceObjectSlice = append(obj.choiceObjectSlice, newLibObj) - return newLibObj -} - -func (obj *prefixConfigChoiceObjectIter) Append(items ...ChoiceObject) PrefixConfigChoiceObjectIter { - for _, item := range items { - newObj := item.Msg() - *obj.fieldPtr = append(*obj.fieldPtr, newObj) - obj.choiceObjectSlice = append(obj.choiceObjectSlice, item) - } - return obj -} - -func (obj *prefixConfigChoiceObjectIter) Set(index int, newObj ChoiceObject) PrefixConfigChoiceObjectIter { - (*obj.fieldPtr)[index] = newObj.Msg() - obj.choiceObjectSlice[index] = newObj - return obj -} -func (obj *prefixConfigChoiceObjectIter) Clear() PrefixConfigChoiceObjectIter { - if len(*obj.fieldPtr) > 0 { - *obj.fieldPtr = []*sanity.ChoiceObject{} - obj.choiceObjectSlice = []ChoiceObject{} - } - return obj -} -func (obj *prefixConfigChoiceObjectIter) clearHolderSlice() PrefixConfigChoiceObjectIter { - if len(obj.choiceObjectSlice) > 0 { - obj.choiceObjectSlice = []ChoiceObject{} - } - return obj -} -func (obj *prefixConfigChoiceObjectIter) appendHolderSlice(item ChoiceObject) PrefixConfigChoiceObjectIter { - obj.choiceObjectSlice = append(obj.choiceObjectSlice, item) - return obj -} - -// description is TBD -// RequiredChoiceObject returns a RequiredChoiceParent -func (obj *prefixConfig) RequiredChoiceObject() RequiredChoiceParent { - if obj.obj.RequiredChoiceObject == nil { - obj.obj.RequiredChoiceObject = NewRequiredChoiceParent().Msg() - } - if obj.requiredChoiceObjectHolder == nil { - obj.requiredChoiceObjectHolder = &requiredChoiceParent{obj: obj.obj.RequiredChoiceObject} - } - return obj.requiredChoiceObjectHolder -} - -// description is TBD -// RequiredChoiceObject returns a RequiredChoiceParent -func (obj *prefixConfig) HasRequiredChoiceObject() bool { - return obj.obj.RequiredChoiceObject != nil -} - -// description is TBD -// SetRequiredChoiceObject sets the RequiredChoiceParent value in the PrefixConfig object -func (obj *prefixConfig) SetRequiredChoiceObject(value RequiredChoiceParent) PrefixConfig { - - obj.requiredChoiceObjectHolder = nil - obj.obj.RequiredChoiceObject = value.Msg() - - return obj -} - -// A list of objects with choice and properties -// G1 returns a []GObject -func (obj *prefixConfig) G1() PrefixConfigGObjectIter { - if len(obj.obj.G1) == 0 { - obj.obj.G1 = []*sanity.GObject{} - } - if obj.g1Holder == nil { - obj.g1Holder = newPrefixConfigGObjectIter(&obj.obj.G1).setMsg(obj) - } - return obj.g1Holder -} - -// A list of objects with choice and properties -// G2 returns a []GObject -func (obj *prefixConfig) G2() PrefixConfigGObjectIter { - if len(obj.obj.G2) == 0 { - obj.obj.G2 = []*sanity.GObject{} - } - if obj.g2Holder == nil { - obj.g2Holder = newPrefixConfigGObjectIter(&obj.obj.G2).setMsg(obj) - } - return obj.g2Holder -} - -// int32 type -// Int32Param returns a int32 -func (obj *prefixConfig) Int32Param() int32 { - - return *obj.obj.Int32Param - -} - -// int32 type -// Int32Param returns a int32 -func (obj *prefixConfig) HasInt32Param() bool { - return obj.obj.Int32Param != nil -} - -// int32 type -// SetInt32Param sets the int32 value in the PrefixConfig object -func (obj *prefixConfig) SetInt32Param(value int32) PrefixConfig { - - obj.obj.Int32Param = &value - return obj -} - -// int32 type list -// Int32ListParam returns a []int32 -func (obj *prefixConfig) Int32ListParam() []int32 { - if obj.obj.Int32ListParam == nil { - obj.obj.Int32ListParam = make([]int32, 0) - } - return obj.obj.Int32ListParam -} - -// int32 type list -// SetInt32ListParam sets the []int32 value in the PrefixConfig object -func (obj *prefixConfig) SetInt32ListParam(value []int32) PrefixConfig { - - if obj.obj.Int32ListParam == nil { - obj.obj.Int32ListParam = make([]int32, 0) - } - obj.obj.Int32ListParam = value - - return obj -} - -// uint32 type -// Uint32Param returns a uint32 -func (obj *prefixConfig) Uint32Param() uint32 { - - return *obj.obj.Uint32Param - -} - -// uint32 type -// Uint32Param returns a uint32 -func (obj *prefixConfig) HasUint32Param() bool { - return obj.obj.Uint32Param != nil -} - -// uint32 type -// SetUint32Param sets the uint32 value in the PrefixConfig object -func (obj *prefixConfig) SetUint32Param(value uint32) PrefixConfig { - - obj.obj.Uint32Param = &value - return obj -} - -// uint32 type list -// Uint32ListParam returns a []uint32 -func (obj *prefixConfig) Uint32ListParam() []uint32 { - if obj.obj.Uint32ListParam == nil { - obj.obj.Uint32ListParam = make([]uint32, 0) - } - return obj.obj.Uint32ListParam -} - -// uint32 type list -// SetUint32ListParam sets the []uint32 value in the PrefixConfig object -func (obj *prefixConfig) SetUint32ListParam(value []uint32) PrefixConfig { - - if obj.obj.Uint32ListParam == nil { - obj.obj.Uint32ListParam = make([]uint32, 0) - } - obj.obj.Uint32ListParam = value - - return obj -} - -// uint64 type -// Uint64Param returns a uint64 -func (obj *prefixConfig) Uint64Param() uint64 { - - return *obj.obj.Uint64Param - -} - -// uint64 type -// Uint64Param returns a uint64 -func (obj *prefixConfig) HasUint64Param() bool { - return obj.obj.Uint64Param != nil -} - -// uint64 type -// SetUint64Param sets the uint64 value in the PrefixConfig object -func (obj *prefixConfig) SetUint64Param(value uint64) PrefixConfig { - - obj.obj.Uint64Param = &value - return obj -} - -// uint64 type list -// Uint64ListParam returns a []uint64 -func (obj *prefixConfig) Uint64ListParam() []uint64 { - if obj.obj.Uint64ListParam == nil { - obj.obj.Uint64ListParam = make([]uint64, 0) - } - return obj.obj.Uint64ListParam -} - -// uint64 type list -// SetUint64ListParam sets the []uint64 value in the PrefixConfig object -func (obj *prefixConfig) SetUint64ListParam(value []uint64) PrefixConfig { - - if obj.obj.Uint64ListParam == nil { - obj.obj.Uint64ListParam = make([]uint64, 0) - } - obj.obj.Uint64ListParam = value - - return obj -} - -// should automatically set type to int32 -// AutoInt32Param returns a int32 -func (obj *prefixConfig) AutoInt32Param() int32 { - - return *obj.obj.AutoInt32Param - -} - -// should automatically set type to int32 -// AutoInt32Param returns a int32 -func (obj *prefixConfig) HasAutoInt32Param() bool { - return obj.obj.AutoInt32Param != nil -} - -// should automatically set type to int32 -// SetAutoInt32Param sets the int32 value in the PrefixConfig object -func (obj *prefixConfig) SetAutoInt32Param(value int32) PrefixConfig { - - obj.obj.AutoInt32Param = &value - return obj -} - -// should automatically set type to []int32 -// AutoInt32ListParam returns a []int32 -func (obj *prefixConfig) AutoInt32ListParam() []int32 { - if obj.obj.AutoInt32ListParam == nil { - obj.obj.AutoInt32ListParam = make([]int32, 0) - } - return obj.obj.AutoInt32ListParam -} - -// should automatically set type to []int32 -// SetAutoInt32ListParam sets the []int32 value in the PrefixConfig object -func (obj *prefixConfig) SetAutoInt32ListParam(value []int32) PrefixConfig { - - if obj.obj.AutoInt32ListParam == nil { - obj.obj.AutoInt32ListParam = make([]int32, 0) - } - obj.obj.AutoInt32ListParam = value - - return obj -} - -func (obj *prefixConfig) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - // RequiredObject is required - if obj.obj.RequiredObject == nil { - vObj.validationErrors = append(vObj.validationErrors, "RequiredObject is required field on interface PrefixConfig") - } - - if obj.obj.RequiredObject != nil { - - obj.RequiredObject().validateObj(vObj, set_default) - } - - if obj.obj.OptionalObject != nil { - - obj.OptionalObject().validateObj(vObj, set_default) - } - - // Space_1 is deprecated - if obj.obj.Space_1 != nil { - obj.addWarnings("Space_1 property in schema PrefixConfig is deprecated, Information TBD") - } - - if obj.obj.FullDuplex_100Mb != nil { - - if *obj.obj.FullDuplex_100Mb < -10 || *obj.obj.FullDuplex_100Mb > 4261412864 { - vObj.validationErrors = append( - vObj.validationErrors, - fmt.Sprintf("-10 <= PrefixConfig.FullDuplex_100Mb <= 4261412864 but Got %d", *obj.obj.FullDuplex_100Mb)) - } - - } - - if obj.obj.Response.Number() == 3 { - obj.addWarnings("STATUS_404 enum in property Response is deprecated, new code will be coming soon") - } - - if obj.obj.Response.Number() == 4 { - obj.addWarnings("STATUS_500 enum in property Response is under review, 500 can change to other values") - } - - // A is required - if obj.obj.A == "" { - vObj.validationErrors = append(vObj.validationErrors, "A is required field on interface PrefixConfig") - } - - // A is under_review - if obj.obj.A != "" { - obj.addWarnings("A property in schema PrefixConfig is under review, Information TBD") - } - - // DValues is deprecated - if obj.obj.DValues != nil { - obj.addWarnings("DValues property in schema PrefixConfig is deprecated, Information TBD") - } - - if obj.obj.E != nil { - obj.addWarnings("E property in schema PrefixConfig is deprecated, Information TBD") - obj.E().validateObj(vObj, set_default) - } - - if obj.obj.F != nil { - - obj.F().validateObj(vObj, set_default) - } - - if len(obj.obj.G) != 0 { - - if set_default { - obj.G().clearHolderSlice() - for _, item := range obj.obj.G { - obj.G().appendHolderSlice(&gObject{obj: item}) - } - } - for _, item := range obj.G().Items() { - item.validateObj(vObj, set_default) - } - - } - - if len(obj.obj.J) != 0 { - - if set_default { - obj.J().clearHolderSlice() - for _, item := range obj.obj.J { - obj.J().appendHolderSlice(&jObject{obj: item}) - } - } - for _, item := range obj.J().Items() { - item.validateObj(vObj, set_default) - } - - } - - if obj.obj.K != nil { - - obj.K().validateObj(vObj, set_default) - } - - if obj.obj.L != nil { - - obj.L().validateObj(vObj, set_default) - } - - if obj.obj.Level != nil { - - obj.Level().validateObj(vObj, set_default) - } - - if obj.obj.Mandatory != nil { - - obj.Mandatory().validateObj(vObj, set_default) - } - - if obj.obj.Ipv4Pattern != nil { - - obj.Ipv4Pattern().validateObj(vObj, set_default) - } - - if obj.obj.Ipv6Pattern != nil { - - obj.Ipv6Pattern().validateObj(vObj, set_default) - } - - if obj.obj.MacPattern != nil { - - obj.MacPattern().validateObj(vObj, set_default) - } - - if obj.obj.IntegerPattern != nil { - - obj.IntegerPattern().validateObj(vObj, set_default) - } - - if obj.obj.ChecksumPattern != nil { - - obj.ChecksumPattern().validateObj(vObj, set_default) - } - - if obj.obj.Case != nil { - - obj.Case().validateObj(vObj, set_default) - } - - if obj.obj.MObject != nil { - - obj.MObject().validateObj(vObj, set_default) - } - - if obj.obj.Integer64List != nil { - - for _, item := range obj.obj.Integer64List { - if item < -12 || item > 4261412864 { - vObj.validationErrors = append( - vObj.validationErrors, - fmt.Sprintf("-12 <= PrefixConfig.Integer64List <= 4261412864 but Got %d", item)) - } - - } - - } - - if obj.obj.HeaderChecksum != nil { - - obj.HeaderChecksum().validateObj(vObj, set_default) - } - - if obj.obj.StrLen != nil { - obj.addWarnings("StrLen property in schema PrefixConfig is under review, Information TBD") - if len(*obj.obj.StrLen) < 3 || len(*obj.obj.StrLen) > 6 { - vObj.validationErrors = append( - vObj.validationErrors, - fmt.Sprintf( - "3 <= length of PrefixConfig.StrLen <= 6 but Got %d", - len(*obj.obj.StrLen))) - } - - } - - if obj.obj.HexSlice != nil { - obj.addWarnings("HexSlice property in schema PrefixConfig is under review, Information TBD") - - err := obj.validateHexSlice(obj.HexSlice()) - if err != nil { - vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PrefixConfig.HexSlice")) - } - - } - - if obj.obj.AutoFieldTest != nil { - - obj.AutoFieldTest().validateObj(vObj, set_default) - } - - if len(obj.obj.WList) != 0 { - - if set_default { - obj.WList().clearHolderSlice() - for _, item := range obj.obj.WList { - obj.WList().appendHolderSlice(&wObject{obj: item}) - } - } - for _, item := range obj.WList().Items() { - item.validateObj(vObj, set_default) - } - - } - - if len(obj.obj.XList) != 0 { - - if set_default { - obj.XList().clearHolderSlice() - for _, item := range obj.obj.XList { - obj.XList().appendHolderSlice(&zObject{obj: item}) - } - } - for _, item := range obj.XList().Items() { - item.validateObj(vObj, set_default) - } - - } - - if obj.obj.ZObject != nil { - - obj.ZObject().validateObj(vObj, set_default) - } - - if obj.obj.YObject != nil { - - obj.YObject().validateObj(vObj, set_default) - } - - if len(obj.obj.ChoiceObject) != 0 { - - if set_default { - obj.ChoiceObject().clearHolderSlice() - for _, item := range obj.obj.ChoiceObject { - obj.ChoiceObject().appendHolderSlice(&choiceObject{obj: item}) - } - } - for _, item := range obj.ChoiceObject().Items() { - item.validateObj(vObj, set_default) - } - - } - - if obj.obj.RequiredChoiceObject != nil { - - obj.RequiredChoiceObject().validateObj(vObj, set_default) - } - - if len(obj.obj.G1) != 0 { - - if set_default { - obj.G1().clearHolderSlice() - for _, item := range obj.obj.G1 { - obj.G1().appendHolderSlice(&gObject{obj: item}) - } - } - for _, item := range obj.G1().Items() { - item.validateObj(vObj, set_default) - } - - } - - if len(obj.obj.G2) != 0 { - - if set_default { - obj.G2().clearHolderSlice() - for _, item := range obj.obj.G2 { - obj.G2().appendHolderSlice(&gObject{obj: item}) - } - } - for _, item := range obj.G2().Items() { - item.validateObj(vObj, set_default) - } - - } - - if obj.obj.Int32ListParam != nil { - - for _, item := range obj.obj.Int32ListParam { - if item < -23456 || item > 23456 { - vObj.validationErrors = append( - vObj.validationErrors, - fmt.Sprintf("-23456 <= PrefixConfig.Int32ListParam <= 23456 but Got %d", item)) - } - - } - - } - - if obj.obj.Uint32ListParam != nil { - - for _, item := range obj.obj.Uint32ListParam { - if item > 4294967293 { - vObj.validationErrors = append( - vObj.validationErrors, - fmt.Sprintf("0 <= PrefixConfig.Uint32ListParam <= 4294967293 but Got %d", item)) - } - - } - - } - - if obj.obj.AutoInt32Param != nil { - - if *obj.obj.AutoInt32Param < 64 || *obj.obj.AutoInt32Param > 9000 { - vObj.validationErrors = append( - vObj.validationErrors, - fmt.Sprintf("64 <= PrefixConfig.AutoInt32Param <= 9000 but Got %d", *obj.obj.AutoInt32Param)) - } - - } - - if obj.obj.AutoInt32ListParam != nil { - - for _, item := range obj.obj.AutoInt32ListParam { - if item < 64 || item > 9000 { - vObj.validationErrors = append( - vObj.validationErrors, - fmt.Sprintf("64 <= PrefixConfig.AutoInt32ListParam <= 9000 but Got %d", item)) - } - - } - - } - -} - -func (obj *prefixConfig) setDefault() { - if obj.obj.Response == nil { - obj.SetResponse(PrefixConfigResponse.STATUS_200) - - } - if obj.obj.H == nil { - obj.SetH(true) - } - -} - -// ***** UpdateConfig ***** -type updateConfig struct { - validation - obj *sanity.UpdateConfig - gHolder UpdateConfigGObjectIter -} - -func NewUpdateConfig() UpdateConfig { - obj := updateConfig{obj: &sanity.UpdateConfig{}} - obj.setDefault() - return &obj -} - -func (obj *updateConfig) Msg() *sanity.UpdateConfig { - return obj.obj -} - -func (obj *updateConfig) SetMsg(msg *sanity.UpdateConfig) UpdateConfig { - obj.setNil() - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *updateConfig) ToProto() (*sanity.UpdateConfig, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *updateConfig) FromProto(msg *sanity.UpdateConfig) (UpdateConfig, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *updateConfig) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *updateConfig) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *updateConfig) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *updateConfig) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *updateConfig) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *updateConfig) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *updateConfig) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *updateConfig) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *updateConfig) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *updateConfig) Clone() (UpdateConfig, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewUpdateConfig() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -func (obj *updateConfig) setNil() { - obj.gHolder = nil - obj.validationErrors = nil - obj.warnings = nil - obj.constraints = make(map[string]map[string]Constraints) -} - -// UpdateConfig is under Review: the whole schema is being reviewed -// -// Object to Test required Parameter -type UpdateConfig interface { - Validation - // Msg marshals UpdateConfig to protobuf object *sanity.UpdateConfig - // and doesn't set defaults - Msg() *sanity.UpdateConfig - // SetMsg unmarshals UpdateConfig from protobuf object *sanity.UpdateConfig - // and doesn't set defaults - SetMsg(*sanity.UpdateConfig) UpdateConfig - // ToProto marshals UpdateConfig to protobuf object *sanity.UpdateConfig - ToProto() (*sanity.UpdateConfig, error) - // ToPbText marshals UpdateConfig to protobuf text - ToPbText() (string, error) - // ToYaml marshals UpdateConfig to YAML text - ToYaml() (string, error) - // ToJson marshals UpdateConfig to JSON text - ToJson() (string, error) - // FromProto unmarshals UpdateConfig from protobuf object *sanity.UpdateConfig - FromProto(msg *sanity.UpdateConfig) (UpdateConfig, error) - // FromPbText unmarshals UpdateConfig from protobuf text - FromPbText(value string) error - // FromYaml unmarshals UpdateConfig from YAML text - FromYaml(value string) error - // FromJson unmarshals UpdateConfig from JSON text - FromJson(value string) error - // Validate validates UpdateConfig - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (UpdateConfig, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // G returns UpdateConfigGObjectIterIter, set in UpdateConfig - G() UpdateConfigGObjectIter - setNil() -} - -// A list of objects with choice and properties -// G returns a []GObject -func (obj *updateConfig) G() UpdateConfigGObjectIter { - if len(obj.obj.G) == 0 { - obj.obj.G = []*sanity.GObject{} - } - if obj.gHolder == nil { - obj.gHolder = newUpdateConfigGObjectIter(&obj.obj.G).setMsg(obj) - } - return obj.gHolder -} - -type updateConfigGObjectIter struct { - obj *updateConfig - gObjectSlice []GObject - fieldPtr *[]*sanity.GObject -} - -func newUpdateConfigGObjectIter(ptr *[]*sanity.GObject) UpdateConfigGObjectIter { - return &updateConfigGObjectIter{fieldPtr: ptr} -} - -type UpdateConfigGObjectIter interface { - setMsg(*updateConfig) UpdateConfigGObjectIter - Items() []GObject - Add() GObject - Append(items ...GObject) UpdateConfigGObjectIter - Set(index int, newObj GObject) UpdateConfigGObjectIter - Clear() UpdateConfigGObjectIter - clearHolderSlice() UpdateConfigGObjectIter - appendHolderSlice(item GObject) UpdateConfigGObjectIter -} - -func (obj *updateConfigGObjectIter) setMsg(msg *updateConfig) UpdateConfigGObjectIter { - obj.clearHolderSlice() - for _, val := range *obj.fieldPtr { - obj.appendHolderSlice(&gObject{obj: val}) - } - obj.obj = msg - return obj -} - -func (obj *updateConfigGObjectIter) Items() []GObject { - return obj.gObjectSlice -} - -func (obj *updateConfigGObjectIter) Add() GObject { - newObj := &sanity.GObject{} - *obj.fieldPtr = append(*obj.fieldPtr, newObj) - newLibObj := &gObject{obj: newObj} - newLibObj.setDefault() - obj.gObjectSlice = append(obj.gObjectSlice, newLibObj) - return newLibObj -} - -func (obj *updateConfigGObjectIter) Append(items ...GObject) UpdateConfigGObjectIter { - for _, item := range items { - newObj := item.Msg() - *obj.fieldPtr = append(*obj.fieldPtr, newObj) - obj.gObjectSlice = append(obj.gObjectSlice, item) - } - return obj -} - -func (obj *updateConfigGObjectIter) Set(index int, newObj GObject) UpdateConfigGObjectIter { - (*obj.fieldPtr)[index] = newObj.Msg() - obj.gObjectSlice[index] = newObj - return obj -} -func (obj *updateConfigGObjectIter) Clear() UpdateConfigGObjectIter { - if len(*obj.fieldPtr) > 0 { - *obj.fieldPtr = []*sanity.GObject{} - obj.gObjectSlice = []GObject{} - } - return obj -} -func (obj *updateConfigGObjectIter) clearHolderSlice() UpdateConfigGObjectIter { - if len(obj.gObjectSlice) > 0 { - obj.gObjectSlice = []GObject{} - } - return obj -} -func (obj *updateConfigGObjectIter) appendHolderSlice(item GObject) UpdateConfigGObjectIter { - obj.gObjectSlice = append(obj.gObjectSlice, item) - return obj -} - -func (obj *updateConfig) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - obj.addWarnings("UpdateConfig is under review, the whole schema is being reviewed") - - if len(obj.obj.G) != 0 { - - if set_default { - obj.G().clearHolderSlice() - for _, item := range obj.obj.G { - obj.G().appendHolderSlice(&gObject{obj: item}) - } - } - for _, item := range obj.G().Items() { - item.validateObj(vObj, set_default) - } - - } - -} - -func (obj *updateConfig) setDefault() { - -} - -// ***** MetricsRequest ***** -type metricsRequest struct { - validation - obj *sanity.MetricsRequest -} - -func NewMetricsRequest() MetricsRequest { - obj := metricsRequest{obj: &sanity.MetricsRequest{}} - obj.setDefault() - return &obj -} - -func (obj *metricsRequest) Msg() *sanity.MetricsRequest { - return obj.obj -} - -func (obj *metricsRequest) SetMsg(msg *sanity.MetricsRequest) MetricsRequest { - - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *metricsRequest) ToProto() (*sanity.MetricsRequest, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *metricsRequest) FromProto(msg *sanity.MetricsRequest) (MetricsRequest, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *metricsRequest) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *metricsRequest) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *metricsRequest) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *metricsRequest) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *metricsRequest) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *metricsRequest) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *metricsRequest) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *metricsRequest) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *metricsRequest) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *metricsRequest) Clone() (MetricsRequest, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewMetricsRequest() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -// MetricsRequest is description is TBD -type MetricsRequest interface { - Validation - // Msg marshals MetricsRequest to protobuf object *sanity.MetricsRequest - // and doesn't set defaults - Msg() *sanity.MetricsRequest - // SetMsg unmarshals MetricsRequest from protobuf object *sanity.MetricsRequest - // and doesn't set defaults - SetMsg(*sanity.MetricsRequest) MetricsRequest - // ToProto marshals MetricsRequest to protobuf object *sanity.MetricsRequest - ToProto() (*sanity.MetricsRequest, error) - // ToPbText marshals MetricsRequest to protobuf text - ToPbText() (string, error) - // ToYaml marshals MetricsRequest to YAML text - ToYaml() (string, error) - // ToJson marshals MetricsRequest to JSON text - ToJson() (string, error) - // FromProto unmarshals MetricsRequest from protobuf object *sanity.MetricsRequest - FromProto(msg *sanity.MetricsRequest) (MetricsRequest, error) - // FromPbText unmarshals MetricsRequest from protobuf text - FromPbText(value string) error - // FromYaml unmarshals MetricsRequest from YAML text - FromYaml(value string) error - // FromJson unmarshals MetricsRequest from JSON text - FromJson(value string) error - // Validate validates MetricsRequest - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (MetricsRequest, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // Choice returns MetricsRequestChoiceEnum, set in MetricsRequest - Choice() MetricsRequestChoiceEnum - // SetChoice assigns MetricsRequestChoiceEnum provided by user to MetricsRequest - SetChoice(value MetricsRequestChoiceEnum) MetricsRequest - // HasChoice checks if Choice has been set in MetricsRequest - HasChoice() bool - // Port returns string, set in MetricsRequest. - Port() string - // SetPort assigns string provided by user to MetricsRequest - SetPort(value string) MetricsRequest - // HasPort checks if Port has been set in MetricsRequest - HasPort() bool - // Flow returns string, set in MetricsRequest. - Flow() string - // SetFlow assigns string provided by user to MetricsRequest - SetFlow(value string) MetricsRequest - // HasFlow checks if Flow has been set in MetricsRequest - HasFlow() bool -} - -type MetricsRequestChoiceEnum string - -// Enum of Choice on MetricsRequest -var MetricsRequestChoice = struct { - PORT MetricsRequestChoiceEnum - FLOW MetricsRequestChoiceEnum -}{ - PORT: MetricsRequestChoiceEnum("port"), - FLOW: MetricsRequestChoiceEnum("flow"), -} - -func (obj *metricsRequest) Choice() MetricsRequestChoiceEnum { - return MetricsRequestChoiceEnum(obj.obj.Choice.Enum().String()) -} - -// description is TBD -// Choice returns a string -func (obj *metricsRequest) HasChoice() bool { - return obj.obj.Choice != nil -} - -func (obj *metricsRequest) SetChoice(value MetricsRequestChoiceEnum) MetricsRequest { - intValue, ok := sanity.MetricsRequest_Choice_Enum_value[string(value)] - if !ok { - obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( - "%s is not a valid choice on MetricsRequestChoiceEnum", string(value))) - return obj - } - enumValue := sanity.MetricsRequest_Choice_Enum(intValue) - obj.obj.Choice = &enumValue - obj.obj.Flow = nil - obj.obj.Port = nil - return obj -} - -// description is TBD -// Port returns a string -func (obj *metricsRequest) Port() string { - - if obj.obj.Port == nil { - obj.SetChoice(MetricsRequestChoice.PORT) - } - - return *obj.obj.Port - -} - -// description is TBD -// Port returns a string -func (obj *metricsRequest) HasPort() bool { - return obj.obj.Port != nil -} - -// description is TBD -// SetPort sets the string value in the MetricsRequest object -func (obj *metricsRequest) SetPort(value string) MetricsRequest { - obj.SetChoice(MetricsRequestChoice.PORT) - obj.obj.Port = &value - return obj -} - -// description is TBD -// Flow returns a string -func (obj *metricsRequest) Flow() string { - - if obj.obj.Flow == nil { - obj.SetChoice(MetricsRequestChoice.FLOW) - } - - return *obj.obj.Flow - -} - -// description is TBD -// Flow returns a string -func (obj *metricsRequest) HasFlow() bool { - return obj.obj.Flow != nil -} - -// description is TBD -// SetFlow sets the string value in the MetricsRequest object -func (obj *metricsRequest) SetFlow(value string) MetricsRequest { - obj.SetChoice(MetricsRequestChoice.FLOW) - obj.obj.Flow = &value - return obj -} - -func (obj *metricsRequest) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - -} - -func (obj *metricsRequest) setDefault() { - if obj.obj.Choice == nil { - obj.SetChoice(MetricsRequestChoice.PORT) - - } - -} - -// ***** ApiTestInputBody ***** -type apiTestInputBody struct { - validation - obj *sanity.ApiTestInputBody -} - -func NewApiTestInputBody() ApiTestInputBody { - obj := apiTestInputBody{obj: &sanity.ApiTestInputBody{}} - obj.setDefault() - return &obj -} - -func (obj *apiTestInputBody) Msg() *sanity.ApiTestInputBody { - return obj.obj -} - -func (obj *apiTestInputBody) SetMsg(msg *sanity.ApiTestInputBody) ApiTestInputBody { - - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *apiTestInputBody) ToProto() (*sanity.ApiTestInputBody, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *apiTestInputBody) FromProto(msg *sanity.ApiTestInputBody) (ApiTestInputBody, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *apiTestInputBody) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *apiTestInputBody) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *apiTestInputBody) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *apiTestInputBody) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *apiTestInputBody) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *apiTestInputBody) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *apiTestInputBody) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *apiTestInputBody) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *apiTestInputBody) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *apiTestInputBody) Clone() (ApiTestInputBody, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewApiTestInputBody() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -// ApiTestInputBody is description is TBD -type ApiTestInputBody interface { - Validation - // Msg marshals ApiTestInputBody to protobuf object *sanity.ApiTestInputBody - // and doesn't set defaults - Msg() *sanity.ApiTestInputBody - // SetMsg unmarshals ApiTestInputBody from protobuf object *sanity.ApiTestInputBody - // and doesn't set defaults - SetMsg(*sanity.ApiTestInputBody) ApiTestInputBody - // ToProto marshals ApiTestInputBody to protobuf object *sanity.ApiTestInputBody - ToProto() (*sanity.ApiTestInputBody, error) - // ToPbText marshals ApiTestInputBody to protobuf text - ToPbText() (string, error) - // ToYaml marshals ApiTestInputBody to YAML text - ToYaml() (string, error) - // ToJson marshals ApiTestInputBody to JSON text - ToJson() (string, error) - // FromProto unmarshals ApiTestInputBody from protobuf object *sanity.ApiTestInputBody - FromProto(msg *sanity.ApiTestInputBody) (ApiTestInputBody, error) - // FromPbText unmarshals ApiTestInputBody from protobuf text - FromPbText(value string) error - // FromYaml unmarshals ApiTestInputBody from YAML text - FromYaml(value string) error - // FromJson unmarshals ApiTestInputBody from JSON text - FromJson(value string) error - // Validate validates ApiTestInputBody - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (ApiTestInputBody, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // SomeString returns string, set in ApiTestInputBody. - SomeString() string - // SetSomeString assigns string provided by user to ApiTestInputBody - SetSomeString(value string) ApiTestInputBody - // HasSomeString checks if SomeString has been set in ApiTestInputBody - HasSomeString() bool -} - -// description is TBD -// SomeString returns a string -func (obj *apiTestInputBody) SomeString() string { - - return *obj.obj.SomeString - -} - -// description is TBD -// SomeString returns a string -func (obj *apiTestInputBody) HasSomeString() bool { - return obj.obj.SomeString != nil -} - -// description is TBD -// SetSomeString sets the string value in the ApiTestInputBody object -func (obj *apiTestInputBody) SetSomeString(value string) ApiTestInputBody { - - obj.obj.SomeString = &value - return obj -} - -func (obj *apiTestInputBody) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - -} - -func (obj *apiTestInputBody) setDefault() { - -} - -// ***** SetConfigResponse ***** -type setConfigResponse struct { - validation - obj *sanity.SetConfigResponse -} - -func NewSetConfigResponse() SetConfigResponse { - obj := setConfigResponse{obj: &sanity.SetConfigResponse{}} - obj.setDefault() - return &obj -} - -func (obj *setConfigResponse) Msg() *sanity.SetConfigResponse { - return obj.obj -} - -func (obj *setConfigResponse) SetMsg(msg *sanity.SetConfigResponse) SetConfigResponse { - - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *setConfigResponse) ToProto() (*sanity.SetConfigResponse, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *setConfigResponse) FromProto(msg *sanity.SetConfigResponse) (SetConfigResponse, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *setConfigResponse) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *setConfigResponse) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *setConfigResponse) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *setConfigResponse) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *setConfigResponse) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *setConfigResponse) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *setConfigResponse) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *setConfigResponse) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *setConfigResponse) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *setConfigResponse) Clone() (SetConfigResponse, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewSetConfigResponse() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -// SetConfigResponse is description is TBD -type SetConfigResponse interface { - Validation - // Msg marshals SetConfigResponse to protobuf object *sanity.SetConfigResponse - // and doesn't set defaults - Msg() *sanity.SetConfigResponse - // SetMsg unmarshals SetConfigResponse from protobuf object *sanity.SetConfigResponse - // and doesn't set defaults - SetMsg(*sanity.SetConfigResponse) SetConfigResponse - // ToProto marshals SetConfigResponse to protobuf object *sanity.SetConfigResponse - ToProto() (*sanity.SetConfigResponse, error) - // ToPbText marshals SetConfigResponse to protobuf text - ToPbText() (string, error) - // ToYaml marshals SetConfigResponse to YAML text - ToYaml() (string, error) - // ToJson marshals SetConfigResponse to JSON text - ToJson() (string, error) - // FromProto unmarshals SetConfigResponse from protobuf object *sanity.SetConfigResponse - FromProto(msg *sanity.SetConfigResponse) (SetConfigResponse, error) - // FromPbText unmarshals SetConfigResponse from protobuf text - FromPbText(value string) error - // FromYaml unmarshals SetConfigResponse from YAML text - FromYaml(value string) error - // FromJson unmarshals SetConfigResponse from JSON text - FromJson(value string) error - // Validate validates SetConfigResponse - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (SetConfigResponse, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // ResponseBytes returns []byte, set in SetConfigResponse. - ResponseBytes() []byte - // SetResponseBytes assigns []byte provided by user to SetConfigResponse - SetResponseBytes(value []byte) SetConfigResponse - // HasResponseBytes checks if ResponseBytes has been set in SetConfigResponse - HasResponseBytes() bool -} - -// description is TBD -// ResponseBytes returns a []byte -func (obj *setConfigResponse) ResponseBytes() []byte { - - return obj.obj.ResponseBytes -} - -// description is TBD -// ResponseBytes returns a []byte -func (obj *setConfigResponse) HasResponseBytes() bool { - return obj.obj.ResponseBytes != nil -} - -// description is TBD -// SetResponseBytes sets the []byte value in the SetConfigResponse object -func (obj *setConfigResponse) SetResponseBytes(value []byte) SetConfigResponse { - - obj.obj.ResponseBytes = value - return obj -} - -func (obj *setConfigResponse) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - -} - -func (obj *setConfigResponse) setDefault() { - -} - -// ***** UpdateConfigurationResponse ***** -type updateConfigurationResponse struct { - validation - obj *sanity.UpdateConfigurationResponse - prefixConfigHolder PrefixConfig -} - -func NewUpdateConfigurationResponse() UpdateConfigurationResponse { - obj := updateConfigurationResponse{obj: &sanity.UpdateConfigurationResponse{}} - obj.setDefault() - return &obj -} - -func (obj *updateConfigurationResponse) Msg() *sanity.UpdateConfigurationResponse { - return obj.obj -} - -func (obj *updateConfigurationResponse) SetMsg(msg *sanity.UpdateConfigurationResponse) UpdateConfigurationResponse { - obj.setNil() - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *updateConfigurationResponse) ToProto() (*sanity.UpdateConfigurationResponse, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *updateConfigurationResponse) FromProto(msg *sanity.UpdateConfigurationResponse) (UpdateConfigurationResponse, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *updateConfigurationResponse) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *updateConfigurationResponse) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *updateConfigurationResponse) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *updateConfigurationResponse) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *updateConfigurationResponse) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *updateConfigurationResponse) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *updateConfigurationResponse) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *updateConfigurationResponse) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *updateConfigurationResponse) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *updateConfigurationResponse) Clone() (UpdateConfigurationResponse, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewUpdateConfigurationResponse() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -func (obj *updateConfigurationResponse) setNil() { - obj.prefixConfigHolder = nil - obj.validationErrors = nil - obj.warnings = nil - obj.constraints = make(map[string]map[string]Constraints) -} - -// UpdateConfigurationResponse is description is TBD -type UpdateConfigurationResponse interface { - Validation - // Msg marshals UpdateConfigurationResponse to protobuf object *sanity.UpdateConfigurationResponse - // and doesn't set defaults - Msg() *sanity.UpdateConfigurationResponse - // SetMsg unmarshals UpdateConfigurationResponse from protobuf object *sanity.UpdateConfigurationResponse - // and doesn't set defaults - SetMsg(*sanity.UpdateConfigurationResponse) UpdateConfigurationResponse - // ToProto marshals UpdateConfigurationResponse to protobuf object *sanity.UpdateConfigurationResponse - ToProto() (*sanity.UpdateConfigurationResponse, error) - // ToPbText marshals UpdateConfigurationResponse to protobuf text - ToPbText() (string, error) - // ToYaml marshals UpdateConfigurationResponse to YAML text - ToYaml() (string, error) - // ToJson marshals UpdateConfigurationResponse to JSON text - ToJson() (string, error) - // FromProto unmarshals UpdateConfigurationResponse from protobuf object *sanity.UpdateConfigurationResponse - FromProto(msg *sanity.UpdateConfigurationResponse) (UpdateConfigurationResponse, error) - // FromPbText unmarshals UpdateConfigurationResponse from protobuf text - FromPbText(value string) error - // FromYaml unmarshals UpdateConfigurationResponse from YAML text - FromYaml(value string) error - // FromJson unmarshals UpdateConfigurationResponse from JSON text - FromJson(value string) error - // Validate validates UpdateConfigurationResponse - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (UpdateConfigurationResponse, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // PrefixConfig returns PrefixConfig, set in UpdateConfigurationResponse. - // PrefixConfig is container which retains the configuration - PrefixConfig() PrefixConfig - // SetPrefixConfig assigns PrefixConfig provided by user to UpdateConfigurationResponse. - // PrefixConfig is container which retains the configuration - SetPrefixConfig(value PrefixConfig) UpdateConfigurationResponse - // HasPrefixConfig checks if PrefixConfig has been set in UpdateConfigurationResponse - HasPrefixConfig() bool - setNil() -} - -// description is TBD -// PrefixConfig returns a PrefixConfig -func (obj *updateConfigurationResponse) PrefixConfig() PrefixConfig { - if obj.obj.PrefixConfig == nil { - obj.obj.PrefixConfig = NewPrefixConfig().Msg() - } - if obj.prefixConfigHolder == nil { - obj.prefixConfigHolder = &prefixConfig{obj: obj.obj.PrefixConfig} - } - return obj.prefixConfigHolder -} - -// description is TBD -// PrefixConfig returns a PrefixConfig -func (obj *updateConfigurationResponse) HasPrefixConfig() bool { - return obj.obj.PrefixConfig != nil -} - -// description is TBD -// SetPrefixConfig sets the PrefixConfig value in the UpdateConfigurationResponse object -func (obj *updateConfigurationResponse) SetPrefixConfig(value PrefixConfig) UpdateConfigurationResponse { - - obj.prefixConfigHolder = nil - obj.obj.PrefixConfig = value.Msg() - - return obj -} - -func (obj *updateConfigurationResponse) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - if obj.obj.PrefixConfig != nil { - - obj.PrefixConfig().validateObj(vObj, set_default) - } - -} - -func (obj *updateConfigurationResponse) setDefault() { - -} - -// ***** GetConfigResponse ***** -type getConfigResponse struct { - validation - obj *sanity.GetConfigResponse - prefixConfigHolder PrefixConfig -} - -func NewGetConfigResponse() GetConfigResponse { - obj := getConfigResponse{obj: &sanity.GetConfigResponse{}} - obj.setDefault() - return &obj -} - -func (obj *getConfigResponse) Msg() *sanity.GetConfigResponse { - return obj.obj -} - -func (obj *getConfigResponse) SetMsg(msg *sanity.GetConfigResponse) GetConfigResponse { - obj.setNil() - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *getConfigResponse) ToProto() (*sanity.GetConfigResponse, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *getConfigResponse) FromProto(msg *sanity.GetConfigResponse) (GetConfigResponse, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *getConfigResponse) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *getConfigResponse) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *getConfigResponse) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *getConfigResponse) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *getConfigResponse) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *getConfigResponse) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *getConfigResponse) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *getConfigResponse) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *getConfigResponse) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *getConfigResponse) Clone() (GetConfigResponse, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewGetConfigResponse() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -func (obj *getConfigResponse) setNil() { - obj.prefixConfigHolder = nil - obj.validationErrors = nil - obj.warnings = nil - obj.constraints = make(map[string]map[string]Constraints) -} - -// GetConfigResponse is description is TBD -type GetConfigResponse interface { - Validation - // Msg marshals GetConfigResponse to protobuf object *sanity.GetConfigResponse - // and doesn't set defaults - Msg() *sanity.GetConfigResponse - // SetMsg unmarshals GetConfigResponse from protobuf object *sanity.GetConfigResponse - // and doesn't set defaults - SetMsg(*sanity.GetConfigResponse) GetConfigResponse - // ToProto marshals GetConfigResponse to protobuf object *sanity.GetConfigResponse - ToProto() (*sanity.GetConfigResponse, error) - // ToPbText marshals GetConfigResponse to protobuf text - ToPbText() (string, error) - // ToYaml marshals GetConfigResponse to YAML text - ToYaml() (string, error) - // ToJson marshals GetConfigResponse to JSON text - ToJson() (string, error) - // FromProto unmarshals GetConfigResponse from protobuf object *sanity.GetConfigResponse - FromProto(msg *sanity.GetConfigResponse) (GetConfigResponse, error) - // FromPbText unmarshals GetConfigResponse from protobuf text - FromPbText(value string) error - // FromYaml unmarshals GetConfigResponse from YAML text - FromYaml(value string) error - // FromJson unmarshals GetConfigResponse from JSON text - FromJson(value string) error - // Validate validates GetConfigResponse - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (GetConfigResponse, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // PrefixConfig returns PrefixConfig, set in GetConfigResponse. - // PrefixConfig is container which retains the configuration - PrefixConfig() PrefixConfig - // SetPrefixConfig assigns PrefixConfig provided by user to GetConfigResponse. - // PrefixConfig is container which retains the configuration - SetPrefixConfig(value PrefixConfig) GetConfigResponse - // HasPrefixConfig checks if PrefixConfig has been set in GetConfigResponse - HasPrefixConfig() bool - setNil() -} - -// description is TBD -// PrefixConfig returns a PrefixConfig -func (obj *getConfigResponse) PrefixConfig() PrefixConfig { - if obj.obj.PrefixConfig == nil { - obj.obj.PrefixConfig = NewPrefixConfig().Msg() - } - if obj.prefixConfigHolder == nil { - obj.prefixConfigHolder = &prefixConfig{obj: obj.obj.PrefixConfig} - } - return obj.prefixConfigHolder -} - -// description is TBD -// PrefixConfig returns a PrefixConfig -func (obj *getConfigResponse) HasPrefixConfig() bool { - return obj.obj.PrefixConfig != nil -} - -// description is TBD -// SetPrefixConfig sets the PrefixConfig value in the GetConfigResponse object -func (obj *getConfigResponse) SetPrefixConfig(value PrefixConfig) GetConfigResponse { - - obj.prefixConfigHolder = nil - obj.obj.PrefixConfig = value.Msg() - - return obj -} - -func (obj *getConfigResponse) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - if obj.obj.PrefixConfig != nil { - - obj.PrefixConfig().validateObj(vObj, set_default) - } - -} - -func (obj *getConfigResponse) setDefault() { - -} - -// ***** GetMetricsResponse ***** -type getMetricsResponse struct { - validation - obj *sanity.GetMetricsResponse - metricsHolder Metrics -} - -func NewGetMetricsResponse() GetMetricsResponse { - obj := getMetricsResponse{obj: &sanity.GetMetricsResponse{}} - obj.setDefault() - return &obj -} - -func (obj *getMetricsResponse) Msg() *sanity.GetMetricsResponse { - return obj.obj -} - -func (obj *getMetricsResponse) SetMsg(msg *sanity.GetMetricsResponse) GetMetricsResponse { - obj.setNil() - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *getMetricsResponse) ToProto() (*sanity.GetMetricsResponse, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *getMetricsResponse) FromProto(msg *sanity.GetMetricsResponse) (GetMetricsResponse, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *getMetricsResponse) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *getMetricsResponse) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *getMetricsResponse) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *getMetricsResponse) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *getMetricsResponse) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *getMetricsResponse) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *getMetricsResponse) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *getMetricsResponse) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *getMetricsResponse) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *getMetricsResponse) Clone() (GetMetricsResponse, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewGetMetricsResponse() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -func (obj *getMetricsResponse) setNil() { - obj.metricsHolder = nil - obj.validationErrors = nil - obj.warnings = nil - obj.constraints = make(map[string]map[string]Constraints) -} - -// GetMetricsResponse is description is TBD -type GetMetricsResponse interface { - Validation - // Msg marshals GetMetricsResponse to protobuf object *sanity.GetMetricsResponse - // and doesn't set defaults - Msg() *sanity.GetMetricsResponse - // SetMsg unmarshals GetMetricsResponse from protobuf object *sanity.GetMetricsResponse - // and doesn't set defaults - SetMsg(*sanity.GetMetricsResponse) GetMetricsResponse - // ToProto marshals GetMetricsResponse to protobuf object *sanity.GetMetricsResponse - ToProto() (*sanity.GetMetricsResponse, error) - // ToPbText marshals GetMetricsResponse to protobuf text - ToPbText() (string, error) - // ToYaml marshals GetMetricsResponse to YAML text - ToYaml() (string, error) - // ToJson marshals GetMetricsResponse to JSON text - ToJson() (string, error) - // FromProto unmarshals GetMetricsResponse from protobuf object *sanity.GetMetricsResponse - FromProto(msg *sanity.GetMetricsResponse) (GetMetricsResponse, error) - // FromPbText unmarshals GetMetricsResponse from protobuf text - FromPbText(value string) error - // FromYaml unmarshals GetMetricsResponse from YAML text - FromYaml(value string) error - // FromJson unmarshals GetMetricsResponse from JSON text - FromJson(value string) error - // Validate validates GetMetricsResponse - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (GetMetricsResponse, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // Metrics returns Metrics, set in GetMetricsResponse. - // Metrics is description is TBD - Metrics() Metrics - // SetMetrics assigns Metrics provided by user to GetMetricsResponse. - // Metrics is description is TBD - SetMetrics(value Metrics) GetMetricsResponse - // HasMetrics checks if Metrics has been set in GetMetricsResponse - HasMetrics() bool - setNil() -} - -// description is TBD -// Metrics returns a Metrics -func (obj *getMetricsResponse) Metrics() Metrics { - if obj.obj.Metrics == nil { - obj.obj.Metrics = NewMetrics().Msg() - } - if obj.metricsHolder == nil { - obj.metricsHolder = &metrics{obj: obj.obj.Metrics} - } - return obj.metricsHolder -} - -// description is TBD -// Metrics returns a Metrics -func (obj *getMetricsResponse) HasMetrics() bool { - return obj.obj.Metrics != nil -} - -// description is TBD -// SetMetrics sets the Metrics value in the GetMetricsResponse object -func (obj *getMetricsResponse) SetMetrics(value Metrics) GetMetricsResponse { - - obj.metricsHolder = nil - obj.obj.Metrics = value.Msg() - - return obj -} - -func (obj *getMetricsResponse) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - if obj.obj.Metrics != nil { - - obj.Metrics().validateObj(vObj, set_default) - } - -} - -func (obj *getMetricsResponse) setDefault() { - -} - -// ***** GetWarningsResponse ***** -type getWarningsResponse struct { - validation - obj *sanity.GetWarningsResponse - warningDetailsHolder WarningDetails -} - -func NewGetWarningsResponse() GetWarningsResponse { - obj := getWarningsResponse{obj: &sanity.GetWarningsResponse{}} - obj.setDefault() - return &obj -} - -func (obj *getWarningsResponse) Msg() *sanity.GetWarningsResponse { - return obj.obj -} - -func (obj *getWarningsResponse) SetMsg(msg *sanity.GetWarningsResponse) GetWarningsResponse { - obj.setNil() - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *getWarningsResponse) ToProto() (*sanity.GetWarningsResponse, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *getWarningsResponse) FromProto(msg *sanity.GetWarningsResponse) (GetWarningsResponse, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *getWarningsResponse) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *getWarningsResponse) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *getWarningsResponse) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *getWarningsResponse) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *getWarningsResponse) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *getWarningsResponse) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *getWarningsResponse) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *getWarningsResponse) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *getWarningsResponse) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *getWarningsResponse) Clone() (GetWarningsResponse, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewGetWarningsResponse() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -func (obj *getWarningsResponse) setNil() { - obj.warningDetailsHolder = nil - obj.validationErrors = nil - obj.warnings = nil - obj.constraints = make(map[string]map[string]Constraints) -} - -// GetWarningsResponse is description is TBD -type GetWarningsResponse interface { - Validation - // Msg marshals GetWarningsResponse to protobuf object *sanity.GetWarningsResponse - // and doesn't set defaults - Msg() *sanity.GetWarningsResponse - // SetMsg unmarshals GetWarningsResponse from protobuf object *sanity.GetWarningsResponse - // and doesn't set defaults - SetMsg(*sanity.GetWarningsResponse) GetWarningsResponse - // ToProto marshals GetWarningsResponse to protobuf object *sanity.GetWarningsResponse - ToProto() (*sanity.GetWarningsResponse, error) - // ToPbText marshals GetWarningsResponse to protobuf text - ToPbText() (string, error) - // ToYaml marshals GetWarningsResponse to YAML text - ToYaml() (string, error) - // ToJson marshals GetWarningsResponse to JSON text - ToJson() (string, error) - // FromProto unmarshals GetWarningsResponse from protobuf object *sanity.GetWarningsResponse - FromProto(msg *sanity.GetWarningsResponse) (GetWarningsResponse, error) - // FromPbText unmarshals GetWarningsResponse from protobuf text - FromPbText(value string) error - // FromYaml unmarshals GetWarningsResponse from YAML text - FromYaml(value string) error - // FromJson unmarshals GetWarningsResponse from JSON text - FromJson(value string) error - // Validate validates GetWarningsResponse - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (GetWarningsResponse, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // WarningDetails returns WarningDetails, set in GetWarningsResponse. - // WarningDetails is description is TBD - WarningDetails() WarningDetails - // SetWarningDetails assigns WarningDetails provided by user to GetWarningsResponse. - // WarningDetails is description is TBD - SetWarningDetails(value WarningDetails) GetWarningsResponse - // HasWarningDetails checks if WarningDetails has been set in GetWarningsResponse - HasWarningDetails() bool - setNil() -} - -// description is TBD -// WarningDetails returns a WarningDetails -func (obj *getWarningsResponse) WarningDetails() WarningDetails { - if obj.obj.WarningDetails == nil { - obj.obj.WarningDetails = NewWarningDetails().Msg() - } - if obj.warningDetailsHolder == nil { - obj.warningDetailsHolder = &warningDetails{obj: obj.obj.WarningDetails} - } - return obj.warningDetailsHolder -} - -// description is TBD -// WarningDetails returns a WarningDetails -func (obj *getWarningsResponse) HasWarningDetails() bool { - return obj.obj.WarningDetails != nil -} - -// description is TBD -// SetWarningDetails sets the WarningDetails value in the GetWarningsResponse object -func (obj *getWarningsResponse) SetWarningDetails(value WarningDetails) GetWarningsResponse { - - obj.warningDetailsHolder = nil - obj.obj.WarningDetails = value.Msg() - - return obj -} - -func (obj *getWarningsResponse) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - if obj.obj.WarningDetails != nil { - - obj.WarningDetails().validateObj(vObj, set_default) - } - -} - -func (obj *getWarningsResponse) setDefault() { - -} - -// ***** ClearWarningsResponse ***** -type clearWarningsResponse struct { - validation - obj *sanity.ClearWarningsResponse -} - -func NewClearWarningsResponse() ClearWarningsResponse { - obj := clearWarningsResponse{obj: &sanity.ClearWarningsResponse{}} - obj.setDefault() - return &obj -} - -func (obj *clearWarningsResponse) Msg() *sanity.ClearWarningsResponse { - return obj.obj -} - -func (obj *clearWarningsResponse) SetMsg(msg *sanity.ClearWarningsResponse) ClearWarningsResponse { - - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *clearWarningsResponse) ToProto() (*sanity.ClearWarningsResponse, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *clearWarningsResponse) FromProto(msg *sanity.ClearWarningsResponse) (ClearWarningsResponse, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *clearWarningsResponse) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *clearWarningsResponse) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *clearWarningsResponse) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *clearWarningsResponse) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *clearWarningsResponse) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *clearWarningsResponse) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *clearWarningsResponse) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *clearWarningsResponse) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *clearWarningsResponse) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *clearWarningsResponse) Clone() (ClearWarningsResponse, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewClearWarningsResponse() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -// ClearWarningsResponse is description is TBD -type ClearWarningsResponse interface { - Validation - // Msg marshals ClearWarningsResponse to protobuf object *sanity.ClearWarningsResponse - // and doesn't set defaults - Msg() *sanity.ClearWarningsResponse - // SetMsg unmarshals ClearWarningsResponse from protobuf object *sanity.ClearWarningsResponse - // and doesn't set defaults - SetMsg(*sanity.ClearWarningsResponse) ClearWarningsResponse - // ToProto marshals ClearWarningsResponse to protobuf object *sanity.ClearWarningsResponse - ToProto() (*sanity.ClearWarningsResponse, error) - // ToPbText marshals ClearWarningsResponse to protobuf text - ToPbText() (string, error) - // ToYaml marshals ClearWarningsResponse to YAML text - ToYaml() (string, error) - // ToJson marshals ClearWarningsResponse to JSON text - ToJson() (string, error) - // FromProto unmarshals ClearWarningsResponse from protobuf object *sanity.ClearWarningsResponse - FromProto(msg *sanity.ClearWarningsResponse) (ClearWarningsResponse, error) - // FromPbText unmarshals ClearWarningsResponse from protobuf text - FromPbText(value string) error - // FromYaml unmarshals ClearWarningsResponse from YAML text - FromYaml(value string) error - // FromJson unmarshals ClearWarningsResponse from JSON text - FromJson(value string) error - // Validate validates ClearWarningsResponse - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (ClearWarningsResponse, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // ResponseString returns string, set in ClearWarningsResponse. - ResponseString() string - // SetResponseString assigns string provided by user to ClearWarningsResponse - SetResponseString(value string) ClearWarningsResponse - // HasResponseString checks if ResponseString has been set in ClearWarningsResponse - HasResponseString() bool -} - -// description is TBD -// ResponseString returns a string -func (obj *clearWarningsResponse) ResponseString() string { - return obj.obj.String_ -} - -// description is TBD -// ResponseString returns a string -func (obj *clearWarningsResponse) HasResponseString() bool { - return obj.obj.String_ != "" -} - -// description is TBD -// SetResponseString sets the string value in the ClearWarningsResponse object -func (obj *clearWarningsResponse) SetResponseString(value string) ClearWarningsResponse { - obj.obj.String_ = value - return obj -} - -func (obj *clearWarningsResponse) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - -} - -func (obj *clearWarningsResponse) setDefault() { - -} - -// ***** GetRootResponseResponse ***** -type getRootResponseResponse struct { - validation - obj *sanity.GetRootResponseResponse - commonResponseSuccessHolder CommonResponseSuccess -} - -func NewGetRootResponseResponse() GetRootResponseResponse { - obj := getRootResponseResponse{obj: &sanity.GetRootResponseResponse{}} - obj.setDefault() - return &obj -} - -func (obj *getRootResponseResponse) Msg() *sanity.GetRootResponseResponse { - return obj.obj -} - -func (obj *getRootResponseResponse) SetMsg(msg *sanity.GetRootResponseResponse) GetRootResponseResponse { - obj.setNil() - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *getRootResponseResponse) ToProto() (*sanity.GetRootResponseResponse, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *getRootResponseResponse) FromProto(msg *sanity.GetRootResponseResponse) (GetRootResponseResponse, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *getRootResponseResponse) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *getRootResponseResponse) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *getRootResponseResponse) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *getRootResponseResponse) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *getRootResponseResponse) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *getRootResponseResponse) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *getRootResponseResponse) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *getRootResponseResponse) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *getRootResponseResponse) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *getRootResponseResponse) Clone() (GetRootResponseResponse, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewGetRootResponseResponse() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -func (obj *getRootResponseResponse) setNil() { - obj.commonResponseSuccessHolder = nil - obj.validationErrors = nil - obj.warnings = nil - obj.constraints = make(map[string]map[string]Constraints) -} - -// GetRootResponseResponse is description is TBD -type GetRootResponseResponse interface { - Validation - // Msg marshals GetRootResponseResponse to protobuf object *sanity.GetRootResponseResponse - // and doesn't set defaults - Msg() *sanity.GetRootResponseResponse - // SetMsg unmarshals GetRootResponseResponse from protobuf object *sanity.GetRootResponseResponse - // and doesn't set defaults - SetMsg(*sanity.GetRootResponseResponse) GetRootResponseResponse - // ToProto marshals GetRootResponseResponse to protobuf object *sanity.GetRootResponseResponse - ToProto() (*sanity.GetRootResponseResponse, error) - // ToPbText marshals GetRootResponseResponse to protobuf text - ToPbText() (string, error) - // ToYaml marshals GetRootResponseResponse to YAML text - ToYaml() (string, error) - // ToJson marshals GetRootResponseResponse to JSON text - ToJson() (string, error) - // FromProto unmarshals GetRootResponseResponse from protobuf object *sanity.GetRootResponseResponse - FromProto(msg *sanity.GetRootResponseResponse) (GetRootResponseResponse, error) - // FromPbText unmarshals GetRootResponseResponse from protobuf text - FromPbText(value string) error - // FromYaml unmarshals GetRootResponseResponse from YAML text - FromYaml(value string) error - // FromJson unmarshals GetRootResponseResponse from JSON text - FromJson(value string) error - // Validate validates GetRootResponseResponse - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (GetRootResponseResponse, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // CommonResponseSuccess returns CommonResponseSuccess, set in GetRootResponseResponse. - // CommonResponseSuccess is description is TBD - CommonResponseSuccess() CommonResponseSuccess - // SetCommonResponseSuccess assigns CommonResponseSuccess provided by user to GetRootResponseResponse. - // CommonResponseSuccess is description is TBD - SetCommonResponseSuccess(value CommonResponseSuccess) GetRootResponseResponse - // HasCommonResponseSuccess checks if CommonResponseSuccess has been set in GetRootResponseResponse - HasCommonResponseSuccess() bool - setNil() -} - -// description is TBD -// CommonResponseSuccess returns a CommonResponseSuccess -func (obj *getRootResponseResponse) CommonResponseSuccess() CommonResponseSuccess { - if obj.obj.CommonResponseSuccess == nil { - obj.obj.CommonResponseSuccess = NewCommonResponseSuccess().Msg() - } - if obj.commonResponseSuccessHolder == nil { - obj.commonResponseSuccessHolder = &commonResponseSuccess{obj: obj.obj.CommonResponseSuccess} - } - return obj.commonResponseSuccessHolder -} - -// description is TBD -// CommonResponseSuccess returns a CommonResponseSuccess -func (obj *getRootResponseResponse) HasCommonResponseSuccess() bool { - return obj.obj.CommonResponseSuccess != nil -} - -// description is TBD -// SetCommonResponseSuccess sets the CommonResponseSuccess value in the GetRootResponseResponse object -func (obj *getRootResponseResponse) SetCommonResponseSuccess(value CommonResponseSuccess) GetRootResponseResponse { - - obj.commonResponseSuccessHolder = nil - obj.obj.CommonResponseSuccess = value.Msg() - - return obj -} - -func (obj *getRootResponseResponse) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - if obj.obj.CommonResponseSuccess != nil { - - obj.CommonResponseSuccess().validateObj(vObj, set_default) - } - -} - -func (obj *getRootResponseResponse) setDefault() { - -} - -// ***** DummyResponseTestResponse ***** -type dummyResponseTestResponse struct { - validation - obj *sanity.DummyResponseTestResponse -} - -func NewDummyResponseTestResponse() DummyResponseTestResponse { - obj := dummyResponseTestResponse{obj: &sanity.DummyResponseTestResponse{}} - obj.setDefault() - return &obj -} - -func (obj *dummyResponseTestResponse) Msg() *sanity.DummyResponseTestResponse { - return obj.obj -} - -func (obj *dummyResponseTestResponse) SetMsg(msg *sanity.DummyResponseTestResponse) DummyResponseTestResponse { - - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *dummyResponseTestResponse) ToProto() (*sanity.DummyResponseTestResponse, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *dummyResponseTestResponse) FromProto(msg *sanity.DummyResponseTestResponse) (DummyResponseTestResponse, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *dummyResponseTestResponse) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *dummyResponseTestResponse) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *dummyResponseTestResponse) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *dummyResponseTestResponse) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *dummyResponseTestResponse) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *dummyResponseTestResponse) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *dummyResponseTestResponse) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *dummyResponseTestResponse) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *dummyResponseTestResponse) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *dummyResponseTestResponse) Clone() (DummyResponseTestResponse, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewDummyResponseTestResponse() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -// DummyResponseTestResponse is description is TBD -type DummyResponseTestResponse interface { - Validation - // Msg marshals DummyResponseTestResponse to protobuf object *sanity.DummyResponseTestResponse - // and doesn't set defaults - Msg() *sanity.DummyResponseTestResponse - // SetMsg unmarshals DummyResponseTestResponse from protobuf object *sanity.DummyResponseTestResponse - // and doesn't set defaults - SetMsg(*sanity.DummyResponseTestResponse) DummyResponseTestResponse - // ToProto marshals DummyResponseTestResponse to protobuf object *sanity.DummyResponseTestResponse - ToProto() (*sanity.DummyResponseTestResponse, error) - // ToPbText marshals DummyResponseTestResponse to protobuf text - ToPbText() (string, error) - // ToYaml marshals DummyResponseTestResponse to YAML text - ToYaml() (string, error) - // ToJson marshals DummyResponseTestResponse to JSON text - ToJson() (string, error) - // FromProto unmarshals DummyResponseTestResponse from protobuf object *sanity.DummyResponseTestResponse - FromProto(msg *sanity.DummyResponseTestResponse) (DummyResponseTestResponse, error) - // FromPbText unmarshals DummyResponseTestResponse from protobuf text - FromPbText(value string) error - // FromYaml unmarshals DummyResponseTestResponse from YAML text - FromYaml(value string) error - // FromJson unmarshals DummyResponseTestResponse from JSON text - FromJson(value string) error - // Validate validates DummyResponseTestResponse - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (DummyResponseTestResponse, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // ResponseString returns string, set in DummyResponseTestResponse. - ResponseString() string - // SetResponseString assigns string provided by user to DummyResponseTestResponse - SetResponseString(value string) DummyResponseTestResponse - // HasResponseString checks if ResponseString has been set in DummyResponseTestResponse - HasResponseString() bool -} - -// description is TBD -// ResponseString returns a string -func (obj *dummyResponseTestResponse) ResponseString() string { - return obj.obj.String_ -} - -// description is TBD -// ResponseString returns a string -func (obj *dummyResponseTestResponse) HasResponseString() bool { - return obj.obj.String_ != "" -} - -// description is TBD -// SetResponseString sets the string value in the DummyResponseTestResponse object -func (obj *dummyResponseTestResponse) SetResponseString(value string) DummyResponseTestResponse { - obj.obj.String_ = value - return obj -} - -func (obj *dummyResponseTestResponse) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - -} - -func (obj *dummyResponseTestResponse) setDefault() { - -} - -// ***** PostRootResponseResponse ***** -type postRootResponseResponse struct { - validation - obj *sanity.PostRootResponseResponse - commonResponseSuccessHolder CommonResponseSuccess -} - -func NewPostRootResponseResponse() PostRootResponseResponse { - obj := postRootResponseResponse{obj: &sanity.PostRootResponseResponse{}} - obj.setDefault() - return &obj -} - -func (obj *postRootResponseResponse) Msg() *sanity.PostRootResponseResponse { - return obj.obj -} - -func (obj *postRootResponseResponse) SetMsg(msg *sanity.PostRootResponseResponse) PostRootResponseResponse { - obj.setNil() - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *postRootResponseResponse) ToProto() (*sanity.PostRootResponseResponse, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *postRootResponseResponse) FromProto(msg *sanity.PostRootResponseResponse) (PostRootResponseResponse, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *postRootResponseResponse) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *postRootResponseResponse) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *postRootResponseResponse) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *postRootResponseResponse) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *postRootResponseResponse) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *postRootResponseResponse) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *postRootResponseResponse) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *postRootResponseResponse) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *postRootResponseResponse) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *postRootResponseResponse) Clone() (PostRootResponseResponse, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewPostRootResponseResponse() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -func (obj *postRootResponseResponse) setNil() { - obj.commonResponseSuccessHolder = nil - obj.validationErrors = nil - obj.warnings = nil - obj.constraints = make(map[string]map[string]Constraints) -} - -// PostRootResponseResponse is description is TBD -type PostRootResponseResponse interface { - Validation - // Msg marshals PostRootResponseResponse to protobuf object *sanity.PostRootResponseResponse - // and doesn't set defaults - Msg() *sanity.PostRootResponseResponse - // SetMsg unmarshals PostRootResponseResponse from protobuf object *sanity.PostRootResponseResponse - // and doesn't set defaults - SetMsg(*sanity.PostRootResponseResponse) PostRootResponseResponse - // ToProto marshals PostRootResponseResponse to protobuf object *sanity.PostRootResponseResponse - ToProto() (*sanity.PostRootResponseResponse, error) - // ToPbText marshals PostRootResponseResponse to protobuf text - ToPbText() (string, error) - // ToYaml marshals PostRootResponseResponse to YAML text - ToYaml() (string, error) - // ToJson marshals PostRootResponseResponse to JSON text - ToJson() (string, error) - // FromProto unmarshals PostRootResponseResponse from protobuf object *sanity.PostRootResponseResponse - FromProto(msg *sanity.PostRootResponseResponse) (PostRootResponseResponse, error) - // FromPbText unmarshals PostRootResponseResponse from protobuf text - FromPbText(value string) error - // FromYaml unmarshals PostRootResponseResponse from YAML text - FromYaml(value string) error - // FromJson unmarshals PostRootResponseResponse from JSON text - FromJson(value string) error - // Validate validates PostRootResponseResponse - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (PostRootResponseResponse, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // CommonResponseSuccess returns CommonResponseSuccess, set in PostRootResponseResponse. - // CommonResponseSuccess is description is TBD - CommonResponseSuccess() CommonResponseSuccess - // SetCommonResponseSuccess assigns CommonResponseSuccess provided by user to PostRootResponseResponse. - // CommonResponseSuccess is description is TBD - SetCommonResponseSuccess(value CommonResponseSuccess) PostRootResponseResponse - // HasCommonResponseSuccess checks if CommonResponseSuccess has been set in PostRootResponseResponse - HasCommonResponseSuccess() bool - setNil() -} - -// description is TBD -// CommonResponseSuccess returns a CommonResponseSuccess -func (obj *postRootResponseResponse) CommonResponseSuccess() CommonResponseSuccess { - if obj.obj.CommonResponseSuccess == nil { - obj.obj.CommonResponseSuccess = NewCommonResponseSuccess().Msg() - } - if obj.commonResponseSuccessHolder == nil { - obj.commonResponseSuccessHolder = &commonResponseSuccess{obj: obj.obj.CommonResponseSuccess} - } - return obj.commonResponseSuccessHolder -} - -// description is TBD -// CommonResponseSuccess returns a CommonResponseSuccess -func (obj *postRootResponseResponse) HasCommonResponseSuccess() bool { - return obj.obj.CommonResponseSuccess != nil -} - -// description is TBD -// SetCommonResponseSuccess sets the CommonResponseSuccess value in the PostRootResponseResponse object -func (obj *postRootResponseResponse) SetCommonResponseSuccess(value CommonResponseSuccess) PostRootResponseResponse { - - obj.commonResponseSuccessHolder = nil - obj.obj.CommonResponseSuccess = value.Msg() - - return obj -} - -func (obj *postRootResponseResponse) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - if obj.obj.CommonResponseSuccess != nil { - - obj.CommonResponseSuccess().validateObj(vObj, set_default) - } - -} - -func (obj *postRootResponseResponse) setDefault() { - -} - -// ***** GetAllItemsResponse ***** -type getAllItemsResponse struct { - validation - obj *sanity.GetAllItemsResponse - serviceAbcItemListHolder ServiceAbcItemList -} - -func NewGetAllItemsResponse() GetAllItemsResponse { - obj := getAllItemsResponse{obj: &sanity.GetAllItemsResponse{}} - obj.setDefault() - return &obj -} - -func (obj *getAllItemsResponse) Msg() *sanity.GetAllItemsResponse { - return obj.obj -} - -func (obj *getAllItemsResponse) SetMsg(msg *sanity.GetAllItemsResponse) GetAllItemsResponse { - obj.setNil() - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *getAllItemsResponse) ToProto() (*sanity.GetAllItemsResponse, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *getAllItemsResponse) FromProto(msg *sanity.GetAllItemsResponse) (GetAllItemsResponse, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *getAllItemsResponse) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *getAllItemsResponse) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *getAllItemsResponse) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *getAllItemsResponse) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *getAllItemsResponse) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *getAllItemsResponse) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *getAllItemsResponse) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *getAllItemsResponse) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *getAllItemsResponse) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *getAllItemsResponse) Clone() (GetAllItemsResponse, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewGetAllItemsResponse() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -func (obj *getAllItemsResponse) setNil() { - obj.serviceAbcItemListHolder = nil - obj.validationErrors = nil - obj.warnings = nil - obj.constraints = make(map[string]map[string]Constraints) -} - -// GetAllItemsResponse is description is TBD -type GetAllItemsResponse interface { - Validation - // Msg marshals GetAllItemsResponse to protobuf object *sanity.GetAllItemsResponse - // and doesn't set defaults - Msg() *sanity.GetAllItemsResponse - // SetMsg unmarshals GetAllItemsResponse from protobuf object *sanity.GetAllItemsResponse - // and doesn't set defaults - SetMsg(*sanity.GetAllItemsResponse) GetAllItemsResponse - // ToProto marshals GetAllItemsResponse to protobuf object *sanity.GetAllItemsResponse - ToProto() (*sanity.GetAllItemsResponse, error) - // ToPbText marshals GetAllItemsResponse to protobuf text - ToPbText() (string, error) - // ToYaml marshals GetAllItemsResponse to YAML text - ToYaml() (string, error) - // ToJson marshals GetAllItemsResponse to JSON text - ToJson() (string, error) - // FromProto unmarshals GetAllItemsResponse from protobuf object *sanity.GetAllItemsResponse - FromProto(msg *sanity.GetAllItemsResponse) (GetAllItemsResponse, error) - // FromPbText unmarshals GetAllItemsResponse from protobuf text - FromPbText(value string) error - // FromYaml unmarshals GetAllItemsResponse from YAML text - FromYaml(value string) error - // FromJson unmarshals GetAllItemsResponse from JSON text - FromJson(value string) error - // Validate validates GetAllItemsResponse - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (GetAllItemsResponse, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // ServiceAbcItemList returns ServiceAbcItemList, set in GetAllItemsResponse. - // ServiceAbcItemList is description is TBD - ServiceAbcItemList() ServiceAbcItemList - // SetServiceAbcItemList assigns ServiceAbcItemList provided by user to GetAllItemsResponse. - // ServiceAbcItemList is description is TBD - SetServiceAbcItemList(value ServiceAbcItemList) GetAllItemsResponse - // HasServiceAbcItemList checks if ServiceAbcItemList has been set in GetAllItemsResponse - HasServiceAbcItemList() bool - setNil() -} - -// description is TBD -// ServiceAbcItemList returns a ServiceAbcItemList -func (obj *getAllItemsResponse) ServiceAbcItemList() ServiceAbcItemList { - if obj.obj.ServiceAbcItemList == nil { - obj.obj.ServiceAbcItemList = NewServiceAbcItemList().Msg() - } - if obj.serviceAbcItemListHolder == nil { - obj.serviceAbcItemListHolder = &serviceAbcItemList{obj: obj.obj.ServiceAbcItemList} - } - return obj.serviceAbcItemListHolder -} - -// description is TBD -// ServiceAbcItemList returns a ServiceAbcItemList -func (obj *getAllItemsResponse) HasServiceAbcItemList() bool { - return obj.obj.ServiceAbcItemList != nil -} - -// description is TBD -// SetServiceAbcItemList sets the ServiceAbcItemList value in the GetAllItemsResponse object -func (obj *getAllItemsResponse) SetServiceAbcItemList(value ServiceAbcItemList) GetAllItemsResponse { - - obj.serviceAbcItemListHolder = nil - obj.obj.ServiceAbcItemList = value.Msg() - - return obj -} - -func (obj *getAllItemsResponse) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - if obj.obj.ServiceAbcItemList != nil { - - obj.ServiceAbcItemList().validateObj(vObj, set_default) - } - -} - -func (obj *getAllItemsResponse) setDefault() { - -} - -// ***** GetSingleItemResponse ***** -type getSingleItemResponse struct { - validation - obj *sanity.GetSingleItemResponse - serviceAbcItemHolder ServiceAbcItem -} - -func NewGetSingleItemResponse() GetSingleItemResponse { - obj := getSingleItemResponse{obj: &sanity.GetSingleItemResponse{}} - obj.setDefault() - return &obj -} - -func (obj *getSingleItemResponse) Msg() *sanity.GetSingleItemResponse { - return obj.obj -} - -func (obj *getSingleItemResponse) SetMsg(msg *sanity.GetSingleItemResponse) GetSingleItemResponse { - obj.setNil() - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *getSingleItemResponse) ToProto() (*sanity.GetSingleItemResponse, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *getSingleItemResponse) FromProto(msg *sanity.GetSingleItemResponse) (GetSingleItemResponse, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *getSingleItemResponse) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *getSingleItemResponse) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *getSingleItemResponse) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *getSingleItemResponse) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *getSingleItemResponse) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *getSingleItemResponse) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *getSingleItemResponse) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *getSingleItemResponse) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *getSingleItemResponse) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *getSingleItemResponse) Clone() (GetSingleItemResponse, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewGetSingleItemResponse() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -func (obj *getSingleItemResponse) setNil() { - obj.serviceAbcItemHolder = nil - obj.validationErrors = nil - obj.warnings = nil - obj.constraints = make(map[string]map[string]Constraints) -} - -// GetSingleItemResponse is description is TBD -type GetSingleItemResponse interface { - Validation - // Msg marshals GetSingleItemResponse to protobuf object *sanity.GetSingleItemResponse - // and doesn't set defaults - Msg() *sanity.GetSingleItemResponse - // SetMsg unmarshals GetSingleItemResponse from protobuf object *sanity.GetSingleItemResponse - // and doesn't set defaults - SetMsg(*sanity.GetSingleItemResponse) GetSingleItemResponse - // ToProto marshals GetSingleItemResponse to protobuf object *sanity.GetSingleItemResponse - ToProto() (*sanity.GetSingleItemResponse, error) - // ToPbText marshals GetSingleItemResponse to protobuf text - ToPbText() (string, error) - // ToYaml marshals GetSingleItemResponse to YAML text - ToYaml() (string, error) - // ToJson marshals GetSingleItemResponse to JSON text - ToJson() (string, error) - // FromProto unmarshals GetSingleItemResponse from protobuf object *sanity.GetSingleItemResponse - FromProto(msg *sanity.GetSingleItemResponse) (GetSingleItemResponse, error) - // FromPbText unmarshals GetSingleItemResponse from protobuf text - FromPbText(value string) error - // FromYaml unmarshals GetSingleItemResponse from YAML text - FromYaml(value string) error - // FromJson unmarshals GetSingleItemResponse from JSON text - FromJson(value string) error - // Validate validates GetSingleItemResponse - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (GetSingleItemResponse, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // ServiceAbcItem returns ServiceAbcItem, set in GetSingleItemResponse. - // ServiceAbcItem is description is TBD - ServiceAbcItem() ServiceAbcItem - // SetServiceAbcItem assigns ServiceAbcItem provided by user to GetSingleItemResponse. - // ServiceAbcItem is description is TBD - SetServiceAbcItem(value ServiceAbcItem) GetSingleItemResponse - // HasServiceAbcItem checks if ServiceAbcItem has been set in GetSingleItemResponse - HasServiceAbcItem() bool - setNil() -} - -// description is TBD -// ServiceAbcItem returns a ServiceAbcItem -func (obj *getSingleItemResponse) ServiceAbcItem() ServiceAbcItem { - if obj.obj.ServiceAbcItem == nil { - obj.obj.ServiceAbcItem = NewServiceAbcItem().Msg() - } - if obj.serviceAbcItemHolder == nil { - obj.serviceAbcItemHolder = &serviceAbcItem{obj: obj.obj.ServiceAbcItem} - } - return obj.serviceAbcItemHolder -} - -// description is TBD -// ServiceAbcItem returns a ServiceAbcItem -func (obj *getSingleItemResponse) HasServiceAbcItem() bool { - return obj.obj.ServiceAbcItem != nil -} - -// description is TBD -// SetServiceAbcItem sets the ServiceAbcItem value in the GetSingleItemResponse object -func (obj *getSingleItemResponse) SetServiceAbcItem(value ServiceAbcItem) GetSingleItemResponse { - - obj.serviceAbcItemHolder = nil - obj.obj.ServiceAbcItem = value.Msg() - - return obj -} - -func (obj *getSingleItemResponse) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - if obj.obj.ServiceAbcItem != nil { - - obj.ServiceAbcItem().validateObj(vObj, set_default) - } - -} - -func (obj *getSingleItemResponse) setDefault() { - -} - -// ***** GetSingleItemLevel2Response ***** -type getSingleItemLevel2Response struct { - validation - obj *sanity.GetSingleItemLevel2Response - serviceAbcItemHolder ServiceAbcItem -} - -func NewGetSingleItemLevel2Response() GetSingleItemLevel2Response { - obj := getSingleItemLevel2Response{obj: &sanity.GetSingleItemLevel2Response{}} - obj.setDefault() - return &obj -} - -func (obj *getSingleItemLevel2Response) Msg() *sanity.GetSingleItemLevel2Response { - return obj.obj -} - -func (obj *getSingleItemLevel2Response) SetMsg(msg *sanity.GetSingleItemLevel2Response) GetSingleItemLevel2Response { - obj.setNil() - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *getSingleItemLevel2Response) ToProto() (*sanity.GetSingleItemLevel2Response, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *getSingleItemLevel2Response) FromProto(msg *sanity.GetSingleItemLevel2Response) (GetSingleItemLevel2Response, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *getSingleItemLevel2Response) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *getSingleItemLevel2Response) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *getSingleItemLevel2Response) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *getSingleItemLevel2Response) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *getSingleItemLevel2Response) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *getSingleItemLevel2Response) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *getSingleItemLevel2Response) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *getSingleItemLevel2Response) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *getSingleItemLevel2Response) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *getSingleItemLevel2Response) Clone() (GetSingleItemLevel2Response, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewGetSingleItemLevel2Response() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -func (obj *getSingleItemLevel2Response) setNil() { - obj.serviceAbcItemHolder = nil - obj.validationErrors = nil - obj.warnings = nil - obj.constraints = make(map[string]map[string]Constraints) -} - -// GetSingleItemLevel2Response is description is TBD -type GetSingleItemLevel2Response interface { - Validation - // Msg marshals GetSingleItemLevel2Response to protobuf object *sanity.GetSingleItemLevel2Response - // and doesn't set defaults - Msg() *sanity.GetSingleItemLevel2Response - // SetMsg unmarshals GetSingleItemLevel2Response from protobuf object *sanity.GetSingleItemLevel2Response - // and doesn't set defaults - SetMsg(*sanity.GetSingleItemLevel2Response) GetSingleItemLevel2Response - // ToProto marshals GetSingleItemLevel2Response to protobuf object *sanity.GetSingleItemLevel2Response - ToProto() (*sanity.GetSingleItemLevel2Response, error) - // ToPbText marshals GetSingleItemLevel2Response to protobuf text - ToPbText() (string, error) - // ToYaml marshals GetSingleItemLevel2Response to YAML text - ToYaml() (string, error) - // ToJson marshals GetSingleItemLevel2Response to JSON text - ToJson() (string, error) - // FromProto unmarshals GetSingleItemLevel2Response from protobuf object *sanity.GetSingleItemLevel2Response - FromProto(msg *sanity.GetSingleItemLevel2Response) (GetSingleItemLevel2Response, error) - // FromPbText unmarshals GetSingleItemLevel2Response from protobuf text - FromPbText(value string) error - // FromYaml unmarshals GetSingleItemLevel2Response from YAML text - FromYaml(value string) error - // FromJson unmarshals GetSingleItemLevel2Response from JSON text - FromJson(value string) error - // Validate validates GetSingleItemLevel2Response - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (GetSingleItemLevel2Response, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // ServiceAbcItem returns ServiceAbcItem, set in GetSingleItemLevel2Response. - // ServiceAbcItem is description is TBD - ServiceAbcItem() ServiceAbcItem - // SetServiceAbcItem assigns ServiceAbcItem provided by user to GetSingleItemLevel2Response. - // ServiceAbcItem is description is TBD - SetServiceAbcItem(value ServiceAbcItem) GetSingleItemLevel2Response - // HasServiceAbcItem checks if ServiceAbcItem has been set in GetSingleItemLevel2Response - HasServiceAbcItem() bool - setNil() -} - -// description is TBD -// ServiceAbcItem returns a ServiceAbcItem -func (obj *getSingleItemLevel2Response) ServiceAbcItem() ServiceAbcItem { - if obj.obj.ServiceAbcItem == nil { - obj.obj.ServiceAbcItem = NewServiceAbcItem().Msg() - } - if obj.serviceAbcItemHolder == nil { - obj.serviceAbcItemHolder = &serviceAbcItem{obj: obj.obj.ServiceAbcItem} - } - return obj.serviceAbcItemHolder -} - -// description is TBD -// ServiceAbcItem returns a ServiceAbcItem -func (obj *getSingleItemLevel2Response) HasServiceAbcItem() bool { - return obj.obj.ServiceAbcItem != nil -} - -// description is TBD -// SetServiceAbcItem sets the ServiceAbcItem value in the GetSingleItemLevel2Response object -func (obj *getSingleItemLevel2Response) SetServiceAbcItem(value ServiceAbcItem) GetSingleItemLevel2Response { - - obj.serviceAbcItemHolder = nil - obj.obj.ServiceAbcItem = value.Msg() - - return obj -} - -func (obj *getSingleItemLevel2Response) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - if obj.obj.ServiceAbcItem != nil { - - obj.ServiceAbcItem().validateObj(vObj, set_default) - } - -} - -func (obj *getSingleItemLevel2Response) setDefault() { - -} - -// ***** GetVersionResponse ***** -type getVersionResponse struct { - validation - obj *sanity.GetVersionResponse - versionHolder Version -} - -func NewGetVersionResponse() GetVersionResponse { - obj := getVersionResponse{obj: &sanity.GetVersionResponse{}} - obj.setDefault() - return &obj -} - -func (obj *getVersionResponse) Msg() *sanity.GetVersionResponse { - return obj.obj -} - -func (obj *getVersionResponse) SetMsg(msg *sanity.GetVersionResponse) GetVersionResponse { - obj.setNil() - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *getVersionResponse) ToProto() (*sanity.GetVersionResponse, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *getVersionResponse) FromProto(msg *sanity.GetVersionResponse) (GetVersionResponse, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *getVersionResponse) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *getVersionResponse) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *getVersionResponse) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *getVersionResponse) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *getVersionResponse) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *getVersionResponse) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *getVersionResponse) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *getVersionResponse) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *getVersionResponse) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *getVersionResponse) Clone() (GetVersionResponse, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewGetVersionResponse() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -func (obj *getVersionResponse) setNil() { - obj.versionHolder = nil - obj.validationErrors = nil - obj.warnings = nil - obj.constraints = make(map[string]map[string]Constraints) -} - -// GetVersionResponse is description is TBD -type GetVersionResponse interface { - Validation - // Msg marshals GetVersionResponse to protobuf object *sanity.GetVersionResponse - // and doesn't set defaults - Msg() *sanity.GetVersionResponse - // SetMsg unmarshals GetVersionResponse from protobuf object *sanity.GetVersionResponse - // and doesn't set defaults - SetMsg(*sanity.GetVersionResponse) GetVersionResponse - // ToProto marshals GetVersionResponse to protobuf object *sanity.GetVersionResponse - ToProto() (*sanity.GetVersionResponse, error) - // ToPbText marshals GetVersionResponse to protobuf text - ToPbText() (string, error) - // ToYaml marshals GetVersionResponse to YAML text - ToYaml() (string, error) - // ToJson marshals GetVersionResponse to JSON text - ToJson() (string, error) - // FromProto unmarshals GetVersionResponse from protobuf object *sanity.GetVersionResponse - FromProto(msg *sanity.GetVersionResponse) (GetVersionResponse, error) - // FromPbText unmarshals GetVersionResponse from protobuf text - FromPbText(value string) error - // FromYaml unmarshals GetVersionResponse from YAML text - FromYaml(value string) error - // FromJson unmarshals GetVersionResponse from JSON text - FromJson(value string) error - // Validate validates GetVersionResponse - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (GetVersionResponse, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // Version returns Version, set in GetVersionResponse. - // Version is version details - Version() Version - // SetVersion assigns Version provided by user to GetVersionResponse. - // Version is version details - SetVersion(value Version) GetVersionResponse - // HasVersion checks if Version has been set in GetVersionResponse - HasVersion() bool - setNil() -} - -// description is TBD -// Version returns a Version -func (obj *getVersionResponse) Version() Version { - if obj.obj.Version == nil { - obj.obj.Version = NewVersion().Msg() - } - if obj.versionHolder == nil { - obj.versionHolder = &version{obj: obj.obj.Version} - } - return obj.versionHolder -} - -// description is TBD -// Version returns a Version -func (obj *getVersionResponse) HasVersion() bool { - return obj.obj.Version != nil -} - -// description is TBD -// SetVersion sets the Version value in the GetVersionResponse object -func (obj *getVersionResponse) SetVersion(value Version) GetVersionResponse { - - obj.versionHolder = nil - obj.obj.Version = value.Msg() - - return obj -} - -func (obj *getVersionResponse) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - if obj.obj.Version != nil { - - obj.Version().validateObj(vObj, set_default) - } - -} - -func (obj *getVersionResponse) setDefault() { - -} - -// ***** EObject ***** -type eObject struct { - validation - obj *sanity.EObject -} - -func NewEObject() EObject { - obj := eObject{obj: &sanity.EObject{}} - obj.setDefault() - return &obj -} - -func (obj *eObject) Msg() *sanity.EObject { - return obj.obj -} - -func (obj *eObject) SetMsg(msg *sanity.EObject) EObject { - - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *eObject) ToProto() (*sanity.EObject, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *eObject) FromProto(msg *sanity.EObject) (EObject, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *eObject) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *eObject) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *eObject) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *eObject) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *eObject) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *eObject) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *eObject) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *eObject) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *eObject) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *eObject) Clone() (EObject, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewEObject() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -// EObject is description is TBD -type EObject interface { - Validation - // Msg marshals EObject to protobuf object *sanity.EObject - // and doesn't set defaults - Msg() *sanity.EObject - // SetMsg unmarshals EObject from protobuf object *sanity.EObject - // and doesn't set defaults - SetMsg(*sanity.EObject) EObject - // ToProto marshals EObject to protobuf object *sanity.EObject - ToProto() (*sanity.EObject, error) - // ToPbText marshals EObject to protobuf text - ToPbText() (string, error) - // ToYaml marshals EObject to YAML text - ToYaml() (string, error) - // ToJson marshals EObject to JSON text - ToJson() (string, error) - // FromProto unmarshals EObject from protobuf object *sanity.EObject - FromProto(msg *sanity.EObject) (EObject, error) - // FromPbText unmarshals EObject from protobuf text - FromPbText(value string) error - // FromYaml unmarshals EObject from YAML text - FromYaml(value string) error - // FromJson unmarshals EObject from JSON text - FromJson(value string) error - // Validate validates EObject - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (EObject, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // EA returns float32, set in EObject. - EA() float32 - // SetEA assigns float32 provided by user to EObject - SetEA(value float32) EObject - // EB returns float64, set in EObject. - EB() float64 - // SetEB assigns float64 provided by user to EObject - SetEB(value float64) EObject - // Name returns string, set in EObject. - Name() string - // SetName assigns string provided by user to EObject - SetName(value string) EObject - // HasName checks if Name has been set in EObject - HasName() bool - // MParam1 returns string, set in EObject. - MParam1() string - // SetMParam1 assigns string provided by user to EObject - SetMParam1(value string) EObject - // HasMParam1 checks if MParam1 has been set in EObject - HasMParam1() bool - // MParam2 returns string, set in EObject. - MParam2() string - // SetMParam2 assigns string provided by user to EObject - SetMParam2(value string) EObject - // HasMParam2 checks if MParam2 has been set in EObject - HasMParam2() bool -} - -// description is TBD -// EA returns a float32 -func (obj *eObject) EA() float32 { - - return obj.obj.EA -} - -// description is TBD -// SetEA sets the float32 value in the EObject object -func (obj *eObject) SetEA(value float32) EObject { - - obj.obj.EA = value - return obj -} - -// description is TBD -// EB returns a float64 -func (obj *eObject) EB() float64 { - - return obj.obj.EB -} - -// description is TBD -// SetEB sets the float64 value in the EObject object -func (obj *eObject) SetEB(value float64) EObject { - - obj.obj.EB = value - return obj -} - -// description is TBD -// Name returns a string -func (obj *eObject) Name() string { - - return *obj.obj.Name - -} - -// description is TBD -// Name returns a string -func (obj *eObject) HasName() bool { - return obj.obj.Name != nil -} - -// description is TBD -// SetName sets the string value in the EObject object -func (obj *eObject) SetName(value string) EObject { - - obj.obj.Name = &value - return obj -} - -// description is TBD -// MParam1 returns a string -func (obj *eObject) MParam1() string { - - return *obj.obj.MParam1 - -} - -// description is TBD -// MParam1 returns a string -func (obj *eObject) HasMParam1() bool { - return obj.obj.MParam1 != nil -} - -// description is TBD -// SetMParam1 sets the string value in the EObject object -func (obj *eObject) SetMParam1(value string) EObject { - - obj.obj.MParam1 = &value - return obj -} - -// description is TBD -// MParam2 returns a string -func (obj *eObject) MParam2() string { - - return *obj.obj.MParam2 - -} - -// description is TBD -// MParam2 returns a string -func (obj *eObject) HasMParam2() bool { - return obj.obj.MParam2 != nil -} - -// description is TBD -// SetMParam2 sets the string value in the EObject object -func (obj *eObject) SetMParam2(value string) EObject { - - obj.obj.MParam2 = &value - return obj -} - -func (obj *eObject) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - -} - -func (obj *eObject) setDefault() { - -} - -// ***** FObject ***** -type fObject struct { - validation - obj *sanity.FObject -} - -func NewFObject() FObject { - obj := fObject{obj: &sanity.FObject{}} - obj.setDefault() - return &obj -} - -func (obj *fObject) Msg() *sanity.FObject { - return obj.obj -} - -func (obj *fObject) SetMsg(msg *sanity.FObject) FObject { - - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *fObject) ToProto() (*sanity.FObject, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *fObject) FromProto(msg *sanity.FObject) (FObject, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *fObject) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *fObject) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *fObject) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *fObject) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *fObject) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *fObject) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *fObject) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *fObject) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *fObject) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *fObject) Clone() (FObject, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewFObject() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -// FObject is description is TBD -type FObject interface { - Validation - // Msg marshals FObject to protobuf object *sanity.FObject - // and doesn't set defaults - Msg() *sanity.FObject - // SetMsg unmarshals FObject from protobuf object *sanity.FObject - // and doesn't set defaults - SetMsg(*sanity.FObject) FObject - // ToProto marshals FObject to protobuf object *sanity.FObject - ToProto() (*sanity.FObject, error) - // ToPbText marshals FObject to protobuf text - ToPbText() (string, error) - // ToYaml marshals FObject to YAML text - ToYaml() (string, error) - // ToJson marshals FObject to JSON text - ToJson() (string, error) - // FromProto unmarshals FObject from protobuf object *sanity.FObject - FromProto(msg *sanity.FObject) (FObject, error) - // FromPbText unmarshals FObject from protobuf text - FromPbText(value string) error - // FromYaml unmarshals FObject from YAML text - FromYaml(value string) error - // FromJson unmarshals FObject from JSON text - FromJson(value string) error - // Validate validates FObject - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (FObject, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // Choice returns FObjectChoiceEnum, set in FObject - Choice() FObjectChoiceEnum - // SetChoice assigns FObjectChoiceEnum provided by user to FObject - SetChoice(value FObjectChoiceEnum) FObject - // HasChoice checks if Choice has been set in FObject - HasChoice() bool - // FA returns string, set in FObject. - FA() string - // SetFA assigns string provided by user to FObject - SetFA(value string) FObject - // HasFA checks if FA has been set in FObject - HasFA() bool - // FB returns float64, set in FObject. - FB() float64 - // SetFB assigns float64 provided by user to FObject - SetFB(value float64) FObject - // HasFB checks if FB has been set in FObject - HasFB() bool -} - -type FObjectChoiceEnum string - -// Enum of Choice on FObject -var FObjectChoice = struct { - F_A FObjectChoiceEnum - F_B FObjectChoiceEnum - F_C FObjectChoiceEnum -}{ - F_A: FObjectChoiceEnum("f_a"), - F_B: FObjectChoiceEnum("f_b"), - F_C: FObjectChoiceEnum("f_c"), -} - -func (obj *fObject) Choice() FObjectChoiceEnum { - return FObjectChoiceEnum(obj.obj.Choice.Enum().String()) -} - -// description is TBD -// Choice returns a string -func (obj *fObject) HasChoice() bool { - return obj.obj.Choice != nil -} - -func (obj *fObject) SetChoice(value FObjectChoiceEnum) FObject { - intValue, ok := sanity.FObject_Choice_Enum_value[string(value)] - if !ok { - obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( - "%s is not a valid choice on FObjectChoiceEnum", string(value))) - return obj - } - enumValue := sanity.FObject_Choice_Enum(intValue) - obj.obj.Choice = &enumValue - obj.obj.FB = nil - obj.obj.FA = nil - - if value == FObjectChoice.F_A { - defaultValue := "some string" - obj.obj.FA = &defaultValue - } - - if value == FObjectChoice.F_B { - defaultValue := float64(3.0) - obj.obj.FB = &defaultValue - } - - return obj -} - -// description is TBD -// FA returns a string -func (obj *fObject) FA() string { - - if obj.obj.FA == nil { - obj.SetChoice(FObjectChoice.F_A) - } - - return *obj.obj.FA - -} - -// description is TBD -// FA returns a string -func (obj *fObject) HasFA() bool { - return obj.obj.FA != nil -} - -// description is TBD -// SetFA sets the string value in the FObject object -func (obj *fObject) SetFA(value string) FObject { - obj.SetChoice(FObjectChoice.F_A) - obj.obj.FA = &value - return obj -} - -// description is TBD -// FB returns a float64 -func (obj *fObject) FB() float64 { - - if obj.obj.FB == nil { - obj.SetChoice(FObjectChoice.F_B) - } - - return *obj.obj.FB - -} - -// description is TBD -// FB returns a float64 -func (obj *fObject) HasFB() bool { - return obj.obj.FB != nil -} - -// description is TBD -// SetFB sets the float64 value in the FObject object -func (obj *fObject) SetFB(value float64) FObject { - obj.SetChoice(FObjectChoice.F_B) - obj.obj.FB = &value - return obj -} - -func (obj *fObject) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - -} - -func (obj *fObject) setDefault() { - if obj.obj.Choice == nil { - obj.SetChoice(FObjectChoice.F_A) - - } - -} - -// ***** GObject ***** -type gObject struct { - validation - obj *sanity.GObject -} - -func NewGObject() GObject { - obj := gObject{obj: &sanity.GObject{}} - obj.setDefault() - return &obj -} - -func (obj *gObject) Msg() *sanity.GObject { - return obj.obj -} - -func (obj *gObject) SetMsg(msg *sanity.GObject) GObject { - - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *gObject) ToProto() (*sanity.GObject, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *gObject) FromProto(msg *sanity.GObject) (GObject, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *gObject) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *gObject) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *gObject) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *gObject) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *gObject) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *gObject) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *gObject) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *gObject) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *gObject) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *gObject) Clone() (GObject, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewGObject() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -// GObject is deprecated: new schema Jobject to be used -// -// Description TBD -type GObject interface { - Validation - // Msg marshals GObject to protobuf object *sanity.GObject - // and doesn't set defaults - Msg() *sanity.GObject - // SetMsg unmarshals GObject from protobuf object *sanity.GObject - // and doesn't set defaults - SetMsg(*sanity.GObject) GObject - // ToProto marshals GObject to protobuf object *sanity.GObject - ToProto() (*sanity.GObject, error) - // ToPbText marshals GObject to protobuf text - ToPbText() (string, error) - // ToYaml marshals GObject to YAML text - ToYaml() (string, error) - // ToJson marshals GObject to JSON text - ToJson() (string, error) - // FromProto unmarshals GObject from protobuf object *sanity.GObject - FromProto(msg *sanity.GObject) (GObject, error) - // FromPbText unmarshals GObject from protobuf text - FromPbText(value string) error - // FromYaml unmarshals GObject from YAML text - FromYaml(value string) error - // FromJson unmarshals GObject from JSON text - FromJson(value string) error - // Validate validates GObject - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (GObject, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // GA returns string, set in GObject. - GA() string - // SetGA assigns string provided by user to GObject - SetGA(value string) GObject - // HasGA checks if GA has been set in GObject - HasGA() bool - // GB returns int32, set in GObject. - GB() int32 - // SetGB assigns int32 provided by user to GObject - SetGB(value int32) GObject - // HasGB checks if GB has been set in GObject - HasGB() bool - // GC returns float32, set in GObject. - GC() float32 - // SetGC assigns float32 provided by user to GObject - SetGC(value float32) GObject - // HasGC checks if GC has been set in GObject - HasGC() bool - // Choice returns GObjectChoiceEnum, set in GObject - Choice() GObjectChoiceEnum - // SetChoice assigns GObjectChoiceEnum provided by user to GObject - SetChoice(value GObjectChoiceEnum) GObject - // HasChoice checks if Choice has been set in GObject - HasChoice() bool - // GD returns string, set in GObject. - GD() string - // SetGD assigns string provided by user to GObject - SetGD(value string) GObject - // HasGD checks if GD has been set in GObject - HasGD() bool - // GE returns float64, set in GObject. - GE() float64 - // SetGE assigns float64 provided by user to GObject - SetGE(value float64) GObject - // HasGE checks if GE has been set in GObject - HasGE() bool - // GF returns GObjectGFEnum, set in GObject - GF() GObjectGFEnum - // SetGF assigns GObjectGFEnum provided by user to GObject - SetGF(value GObjectGFEnum) GObject - // HasGF checks if GF has been set in GObject - HasGF() bool - // Name returns string, set in GObject. - Name() string - // SetName assigns string provided by user to GObject - SetName(value string) GObject - // HasName checks if Name has been set in GObject - HasName() bool -} - -// description is TBD -// GA returns a string -func (obj *gObject) GA() string { - - return *obj.obj.GA - -} - -// description is TBD -// GA returns a string -func (obj *gObject) HasGA() bool { - return obj.obj.GA != nil -} - -// description is TBD -// SetGA sets the string value in the GObject object -func (obj *gObject) SetGA(value string) GObject { - - obj.obj.GA = &value - return obj -} - -// description is TBD -// GB returns a int32 -func (obj *gObject) GB() int32 { - - return *obj.obj.GB - -} - -// description is TBD -// GB returns a int32 -func (obj *gObject) HasGB() bool { - return obj.obj.GB != nil -} - -// description is TBD -// SetGB sets the int32 value in the GObject object -func (obj *gObject) SetGB(value int32) GObject { - - obj.obj.GB = &value - return obj -} - -// Deprecated: Information TBD -// -// Description TBD -// GC returns a float32 -func (obj *gObject) GC() float32 { - - return *obj.obj.GC - -} - -// Deprecated: Information TBD -// -// Description TBD -// GC returns a float32 -func (obj *gObject) HasGC() bool { - return obj.obj.GC != nil -} - -// Deprecated: Information TBD -// -// Description TBD -// SetGC sets the float32 value in the GObject object -func (obj *gObject) SetGC(value float32) GObject { - - obj.obj.GC = &value - return obj -} - -type GObjectChoiceEnum string - -// Enum of Choice on GObject -var GObjectChoice = struct { - G_D GObjectChoiceEnum - G_E GObjectChoiceEnum -}{ - G_D: GObjectChoiceEnum("g_d"), - G_E: GObjectChoiceEnum("g_e"), -} - -func (obj *gObject) Choice() GObjectChoiceEnum { - return GObjectChoiceEnum(obj.obj.Choice.Enum().String()) -} - -// description is TBD -// Choice returns a string -func (obj *gObject) HasChoice() bool { - return obj.obj.Choice != nil -} - -func (obj *gObject) SetChoice(value GObjectChoiceEnum) GObject { - intValue, ok := sanity.GObject_Choice_Enum_value[string(value)] - if !ok { - obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( - "%s is not a valid choice on GObjectChoiceEnum", string(value))) - return obj - } - enumValue := sanity.GObject_Choice_Enum(intValue) - obj.obj.Choice = &enumValue - obj.obj.GE = nil - obj.obj.GD = nil - - if value == GObjectChoice.G_D { - defaultValue := "some string" - obj.obj.GD = &defaultValue - } - - if value == GObjectChoice.G_E { - defaultValue := float64(3.0) - obj.obj.GE = &defaultValue - } - - return obj -} - -// description is TBD -// GD returns a string -func (obj *gObject) GD() string { - - if obj.obj.GD == nil { - obj.SetChoice(GObjectChoice.G_D) - } - - return *obj.obj.GD - -} - -// description is TBD -// GD returns a string -func (obj *gObject) HasGD() bool { - return obj.obj.GD != nil -} - -// description is TBD -// SetGD sets the string value in the GObject object -func (obj *gObject) SetGD(value string) GObject { - obj.SetChoice(GObjectChoice.G_D) - obj.obj.GD = &value - return obj -} - -// description is TBD -// GE returns a float64 -func (obj *gObject) GE() float64 { - - if obj.obj.GE == nil { - obj.SetChoice(GObjectChoice.G_E) - } - - return *obj.obj.GE - -} - -// description is TBD -// GE returns a float64 -func (obj *gObject) HasGE() bool { - return obj.obj.GE != nil -} - -// description is TBD -// SetGE sets the float64 value in the GObject object -func (obj *gObject) SetGE(value float64) GObject { - obj.SetChoice(GObjectChoice.G_E) - obj.obj.GE = &value - return obj -} - -type GObjectGFEnum string - -// Enum of GF on GObject -var GObjectGF = struct { - A GObjectGFEnum - B GObjectGFEnum - C GObjectGFEnum -}{ - A: GObjectGFEnum("a"), - B: GObjectGFEnum("b"), - C: GObjectGFEnum("c"), -} - -func (obj *gObject) GF() GObjectGFEnum { - return GObjectGFEnum(obj.obj.GF.Enum().String()) -} - -// Another enum to test protbuf enum generation -// GF returns a string -func (obj *gObject) HasGF() bool { - return obj.obj.GF != nil -} - -func (obj *gObject) SetGF(value GObjectGFEnum) GObject { - intValue, ok := sanity.GObject_GF_Enum_value[string(value)] - if !ok { - obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( - "%s is not a valid choice on GObjectGFEnum", string(value))) - return obj - } - enumValue := sanity.GObject_GF_Enum(intValue) - obj.obj.GF = &enumValue - - return obj -} - -// description is TBD -// Name returns a string -func (obj *gObject) Name() string { - - return *obj.obj.Name - -} - -// description is TBD -// Name returns a string -func (obj *gObject) HasName() bool { - return obj.obj.Name != nil -} - -// description is TBD -// SetName sets the string value in the GObject object -func (obj *gObject) SetName(value string) GObject { - - obj.obj.Name = &value - return obj -} - -func (obj *gObject) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - obj.addWarnings("GObject is deprecated, new schema Jobject to be used") - - // GC is deprecated - if obj.obj.GC != nil { - obj.addWarnings("GC property in schema GObject is deprecated, Information TBD") - } - -} - -func (obj *gObject) setDefault() { - if obj.obj.Choice == nil { - obj.SetChoice(GObjectChoice.G_D) - - } - if obj.obj.GA == nil { - obj.SetGA("asdf") - } - if obj.obj.GB == nil { - obj.SetGB(6) - } - if obj.obj.GC == nil { - obj.SetGC(77.7) - } - if obj.obj.GF == nil { - obj.SetGF(GObjectGF.A) - - } - -} - -// ***** JObject ***** -type jObject struct { - validation - obj *sanity.JObject - jAHolder EObject - jBHolder FObject -} - -func NewJObject() JObject { - obj := jObject{obj: &sanity.JObject{}} - obj.setDefault() - return &obj -} - -func (obj *jObject) Msg() *sanity.JObject { - return obj.obj -} - -func (obj *jObject) SetMsg(msg *sanity.JObject) JObject { - obj.setNil() - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *jObject) ToProto() (*sanity.JObject, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *jObject) FromProto(msg *sanity.JObject) (JObject, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *jObject) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *jObject) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *jObject) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *jObject) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *jObject) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *jObject) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *jObject) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *jObject) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *jObject) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *jObject) Clone() (JObject, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewJObject() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -func (obj *jObject) setNil() { - obj.jAHolder = nil - obj.jBHolder = nil - obj.validationErrors = nil - obj.warnings = nil - obj.constraints = make(map[string]map[string]Constraints) -} - -// JObject is description is TBD -type JObject interface { - Validation - // Msg marshals JObject to protobuf object *sanity.JObject - // and doesn't set defaults - Msg() *sanity.JObject - // SetMsg unmarshals JObject from protobuf object *sanity.JObject - // and doesn't set defaults - SetMsg(*sanity.JObject) JObject - // ToProto marshals JObject to protobuf object *sanity.JObject - ToProto() (*sanity.JObject, error) - // ToPbText marshals JObject to protobuf text - ToPbText() (string, error) - // ToYaml marshals JObject to YAML text - ToYaml() (string, error) - // ToJson marshals JObject to JSON text - ToJson() (string, error) - // FromProto unmarshals JObject from protobuf object *sanity.JObject - FromProto(msg *sanity.JObject) (JObject, error) - // FromPbText unmarshals JObject from protobuf text - FromPbText(value string) error - // FromYaml unmarshals JObject from YAML text - FromYaml(value string) error - // FromJson unmarshals JObject from JSON text - FromJson(value string) error - // Validate validates JObject - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (JObject, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // Choice returns JObjectChoiceEnum, set in JObject - Choice() JObjectChoiceEnum - // SetChoice assigns JObjectChoiceEnum provided by user to JObject - SetChoice(value JObjectChoiceEnum) JObject - // HasChoice checks if Choice has been set in JObject - HasChoice() bool - // JA returns EObject, set in JObject. - // EObject is description is TBD - JA() EObject - // SetJA assigns EObject provided by user to JObject. - // EObject is description is TBD - SetJA(value EObject) JObject - // HasJA checks if JA has been set in JObject - HasJA() bool - // JB returns FObject, set in JObject. - // FObject is description is TBD - JB() FObject - // SetJB assigns FObject provided by user to JObject. - // FObject is description is TBD - SetJB(value FObject) JObject - // HasJB checks if JB has been set in JObject - HasJB() bool - setNil() -} - -type JObjectChoiceEnum string - -// Enum of Choice on JObject -var JObjectChoice = struct { - J_A JObjectChoiceEnum - J_B JObjectChoiceEnum -}{ - J_A: JObjectChoiceEnum("j_a"), - J_B: JObjectChoiceEnum("j_b"), -} - -func (obj *jObject) Choice() JObjectChoiceEnum { - return JObjectChoiceEnum(obj.obj.Choice.Enum().String()) -} - -// description is TBD -// Choice returns a string -func (obj *jObject) HasChoice() bool { - return obj.obj.Choice != nil -} - -func (obj *jObject) SetChoice(value JObjectChoiceEnum) JObject { - intValue, ok := sanity.JObject_Choice_Enum_value[string(value)] - if !ok { - obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( - "%s is not a valid choice on JObjectChoiceEnum", string(value))) - return obj - } - enumValue := sanity.JObject_Choice_Enum(intValue) - obj.obj.Choice = &enumValue - obj.obj.JB = nil - obj.jBHolder = nil - obj.obj.JA = nil - obj.jAHolder = nil - - if value == JObjectChoice.J_A { - obj.obj.JA = NewEObject().Msg() - } - - if value == JObjectChoice.J_B { - obj.obj.JB = NewFObject().Msg() - } - - return obj -} - -// description is TBD -// JA returns a EObject -func (obj *jObject) JA() EObject { - if obj.obj.JA == nil { - obj.SetChoice(JObjectChoice.J_A) - } - if obj.jAHolder == nil { - obj.jAHolder = &eObject{obj: obj.obj.JA} - } - return obj.jAHolder -} - -// description is TBD -// JA returns a EObject -func (obj *jObject) HasJA() bool { - return obj.obj.JA != nil -} - -// description is TBD -// SetJA sets the EObject value in the JObject object -func (obj *jObject) SetJA(value EObject) JObject { - obj.SetChoice(JObjectChoice.J_A) - obj.jAHolder = nil - obj.obj.JA = value.Msg() - - return obj -} - -// description is TBD -// JB returns a FObject -func (obj *jObject) JB() FObject { - if obj.obj.JB == nil { - obj.SetChoice(JObjectChoice.J_B) - } - if obj.jBHolder == nil { - obj.jBHolder = &fObject{obj: obj.obj.JB} - } - return obj.jBHolder -} - -// description is TBD -// JB returns a FObject -func (obj *jObject) HasJB() bool { - return obj.obj.JB != nil -} - -// description is TBD -// SetJB sets the FObject value in the JObject object -func (obj *jObject) SetJB(value FObject) JObject { - obj.SetChoice(JObjectChoice.J_B) - obj.jBHolder = nil - obj.obj.JB = value.Msg() - - return obj -} - -func (obj *jObject) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - if obj.obj.Choice.Number() == 2 { - obj.addWarnings("J_B enum in property Choice is deprecated, use j_a instead") - } - - if obj.obj.JA != nil { - - obj.JA().validateObj(vObj, set_default) - } - - if obj.obj.JB != nil { - - obj.JB().validateObj(vObj, set_default) - } - -} - -func (obj *jObject) setDefault() { - if obj.obj.Choice == nil { - obj.SetChoice(JObjectChoice.J_A) - - } - -} - -// ***** KObject ***** -type kObject struct { - validation - obj *sanity.KObject - eObjectHolder EObject - fObjectHolder FObject -} - -func NewKObject() KObject { - obj := kObject{obj: &sanity.KObject{}} - obj.setDefault() - return &obj -} - -func (obj *kObject) Msg() *sanity.KObject { - return obj.obj -} - -func (obj *kObject) SetMsg(msg *sanity.KObject) KObject { - obj.setNil() - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *kObject) ToProto() (*sanity.KObject, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *kObject) FromProto(msg *sanity.KObject) (KObject, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *kObject) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *kObject) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *kObject) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *kObject) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *kObject) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *kObject) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *kObject) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *kObject) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *kObject) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *kObject) Clone() (KObject, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewKObject() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -func (obj *kObject) setNil() { - obj.eObjectHolder = nil - obj.fObjectHolder = nil - obj.validationErrors = nil - obj.warnings = nil - obj.constraints = make(map[string]map[string]Constraints) -} - -// KObject is description is TBD -type KObject interface { - Validation - // Msg marshals KObject to protobuf object *sanity.KObject - // and doesn't set defaults - Msg() *sanity.KObject - // SetMsg unmarshals KObject from protobuf object *sanity.KObject - // and doesn't set defaults - SetMsg(*sanity.KObject) KObject - // ToProto marshals KObject to protobuf object *sanity.KObject - ToProto() (*sanity.KObject, error) - // ToPbText marshals KObject to protobuf text - ToPbText() (string, error) - // ToYaml marshals KObject to YAML text - ToYaml() (string, error) - // ToJson marshals KObject to JSON text - ToJson() (string, error) - // FromProto unmarshals KObject from protobuf object *sanity.KObject - FromProto(msg *sanity.KObject) (KObject, error) - // FromPbText unmarshals KObject from protobuf text - FromPbText(value string) error - // FromYaml unmarshals KObject from YAML text - FromYaml(value string) error - // FromJson unmarshals KObject from JSON text - FromJson(value string) error - // Validate validates KObject - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (KObject, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // EObject returns EObject, set in KObject. - // EObject is description is TBD - EObject() EObject - // SetEObject assigns EObject provided by user to KObject. - // EObject is description is TBD - SetEObject(value EObject) KObject - // HasEObject checks if EObject has been set in KObject - HasEObject() bool - // FObject returns FObject, set in KObject. - // FObject is description is TBD - FObject() FObject - // SetFObject assigns FObject provided by user to KObject. - // FObject is description is TBD - SetFObject(value FObject) KObject - // HasFObject checks if FObject has been set in KObject - HasFObject() bool - setNil() -} - -// description is TBD -// EObject returns a EObject -func (obj *kObject) EObject() EObject { - if obj.obj.EObject == nil { - obj.obj.EObject = NewEObject().Msg() - } - if obj.eObjectHolder == nil { - obj.eObjectHolder = &eObject{obj: obj.obj.EObject} - } - return obj.eObjectHolder -} - -// description is TBD -// EObject returns a EObject -func (obj *kObject) HasEObject() bool { - return obj.obj.EObject != nil -} - -// description is TBD -// SetEObject sets the EObject value in the KObject object -func (obj *kObject) SetEObject(value EObject) KObject { - - obj.eObjectHolder = nil - obj.obj.EObject = value.Msg() - - return obj -} - -// description is TBD -// FObject returns a FObject -func (obj *kObject) FObject() FObject { - if obj.obj.FObject == nil { - obj.obj.FObject = NewFObject().Msg() - } - if obj.fObjectHolder == nil { - obj.fObjectHolder = &fObject{obj: obj.obj.FObject} - } - return obj.fObjectHolder -} - -// description is TBD -// FObject returns a FObject -func (obj *kObject) HasFObject() bool { - return obj.obj.FObject != nil -} - -// description is TBD -// SetFObject sets the FObject value in the KObject object -func (obj *kObject) SetFObject(value FObject) KObject { - - obj.fObjectHolder = nil - obj.obj.FObject = value.Msg() - - return obj -} - -func (obj *kObject) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - if obj.obj.EObject != nil { - - obj.EObject().validateObj(vObj, set_default) - } - - if obj.obj.FObject != nil { - - obj.FObject().validateObj(vObj, set_default) - } - -} - -func (obj *kObject) setDefault() { - -} - -// ***** LObject ***** -type lObject struct { - validation - obj *sanity.LObject -} - -func NewLObject() LObject { - obj := lObject{obj: &sanity.LObject{}} - obj.setDefault() - return &obj -} - -func (obj *lObject) Msg() *sanity.LObject { - return obj.obj -} - -func (obj *lObject) SetMsg(msg *sanity.LObject) LObject { - - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *lObject) ToProto() (*sanity.LObject, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *lObject) FromProto(msg *sanity.LObject) (LObject, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *lObject) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *lObject) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *lObject) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *lObject) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *lObject) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *lObject) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *lObject) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *lObject) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *lObject) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *lObject) Clone() (LObject, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewLObject() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -// LObject is format validation object -type LObject interface { - Validation - // Msg marshals LObject to protobuf object *sanity.LObject - // and doesn't set defaults - Msg() *sanity.LObject - // SetMsg unmarshals LObject from protobuf object *sanity.LObject - // and doesn't set defaults - SetMsg(*sanity.LObject) LObject - // ToProto marshals LObject to protobuf object *sanity.LObject - ToProto() (*sanity.LObject, error) - // ToPbText marshals LObject to protobuf text - ToPbText() (string, error) - // ToYaml marshals LObject to YAML text - ToYaml() (string, error) - // ToJson marshals LObject to JSON text - ToJson() (string, error) - // FromProto unmarshals LObject from protobuf object *sanity.LObject - FromProto(msg *sanity.LObject) (LObject, error) - // FromPbText unmarshals LObject from protobuf text - FromPbText(value string) error - // FromYaml unmarshals LObject from YAML text - FromYaml(value string) error - // FromJson unmarshals LObject from JSON text - FromJson(value string) error - // Validate validates LObject - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (LObject, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // StringParam returns string, set in LObject. - StringParam() string - // SetStringParam assigns string provided by user to LObject - SetStringParam(value string) LObject - // HasStringParam checks if StringParam has been set in LObject - HasStringParam() bool - // Integer returns int32, set in LObject. - Integer() int32 - // SetInteger assigns int32 provided by user to LObject - SetInteger(value int32) LObject - // HasInteger checks if Integer has been set in LObject - HasInteger() bool - // Float returns float32, set in LObject. - Float() float32 - // SetFloat assigns float32 provided by user to LObject - SetFloat(value float32) LObject - // HasFloat checks if Float has been set in LObject - HasFloat() bool - // Double returns float64, set in LObject. - Double() float64 - // SetDouble assigns float64 provided by user to LObject - SetDouble(value float64) LObject - // HasDouble checks if Double has been set in LObject - HasDouble() bool - // Mac returns string, set in LObject. - Mac() string - // SetMac assigns string provided by user to LObject - SetMac(value string) LObject - // HasMac checks if Mac has been set in LObject - HasMac() bool - // Ipv4 returns string, set in LObject. - Ipv4() string - // SetIpv4 assigns string provided by user to LObject - SetIpv4(value string) LObject - // HasIpv4 checks if Ipv4 has been set in LObject - HasIpv4() bool - // Ipv6 returns string, set in LObject. - Ipv6() string - // SetIpv6 assigns string provided by user to LObject - SetIpv6(value string) LObject - // HasIpv6 checks if Ipv6 has been set in LObject - HasIpv6() bool - // Hex returns string, set in LObject. - Hex() string - // SetHex assigns string provided by user to LObject - SetHex(value string) LObject - // HasHex checks if Hex has been set in LObject - HasHex() bool -} - -// description is TBD -// StringParam returns a string -func (obj *lObject) StringParam() string { - - return *obj.obj.StringParam - -} - -// description is TBD -// StringParam returns a string -func (obj *lObject) HasStringParam() bool { - return obj.obj.StringParam != nil -} - -// description is TBD -// SetStringParam sets the string value in the LObject object -func (obj *lObject) SetStringParam(value string) LObject { - - obj.obj.StringParam = &value - return obj -} - -// description is TBD -// Integer returns a int32 -func (obj *lObject) Integer() int32 { - - return *obj.obj.Integer - -} - -// description is TBD -// Integer returns a int32 -func (obj *lObject) HasInteger() bool { - return obj.obj.Integer != nil -} - -// description is TBD -// SetInteger sets the int32 value in the LObject object -func (obj *lObject) SetInteger(value int32) LObject { - - obj.obj.Integer = &value - return obj -} - -// description is TBD -// Float returns a float32 -func (obj *lObject) Float() float32 { - - return *obj.obj.Float - -} - -// description is TBD -// Float returns a float32 -func (obj *lObject) HasFloat() bool { - return obj.obj.Float != nil -} - -// description is TBD -// SetFloat sets the float32 value in the LObject object -func (obj *lObject) SetFloat(value float32) LObject { - - obj.obj.Float = &value - return obj -} - -// description is TBD -// Double returns a float64 -func (obj *lObject) Double() float64 { - - return *obj.obj.Double - -} - -// description is TBD -// Double returns a float64 -func (obj *lObject) HasDouble() bool { - return obj.obj.Double != nil -} - -// description is TBD -// SetDouble sets the float64 value in the LObject object -func (obj *lObject) SetDouble(value float64) LObject { - - obj.obj.Double = &value - return obj -} - -// description is TBD -// Mac returns a string -func (obj *lObject) Mac() string { - - return *obj.obj.Mac - -} - -// description is TBD -// Mac returns a string -func (obj *lObject) HasMac() bool { - return obj.obj.Mac != nil -} - -// description is TBD -// SetMac sets the string value in the LObject object -func (obj *lObject) SetMac(value string) LObject { - - obj.obj.Mac = &value - return obj -} - -// description is TBD -// Ipv4 returns a string -func (obj *lObject) Ipv4() string { - - return *obj.obj.Ipv4 - -} - -// description is TBD -// Ipv4 returns a string -func (obj *lObject) HasIpv4() bool { - return obj.obj.Ipv4 != nil -} - -// description is TBD -// SetIpv4 sets the string value in the LObject object -func (obj *lObject) SetIpv4(value string) LObject { - - obj.obj.Ipv4 = &value - return obj -} - -// description is TBD -// Ipv6 returns a string -func (obj *lObject) Ipv6() string { - - return *obj.obj.Ipv6 - -} - -// description is TBD -// Ipv6 returns a string -func (obj *lObject) HasIpv6() bool { - return obj.obj.Ipv6 != nil -} - -// description is TBD -// SetIpv6 sets the string value in the LObject object -func (obj *lObject) SetIpv6(value string) LObject { - - obj.obj.Ipv6 = &value - return obj -} - -// description is TBD -// Hex returns a string -func (obj *lObject) Hex() string { - - return *obj.obj.Hex - -} - -// description is TBD -// Hex returns a string -func (obj *lObject) HasHex() bool { - return obj.obj.Hex != nil -} - -// description is TBD -// SetHex sets the string value in the LObject object -func (obj *lObject) SetHex(value string) LObject { - - obj.obj.Hex = &value - return obj -} - -func (obj *lObject) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - if obj.obj.Integer != nil { - - if *obj.obj.Integer < -10 || *obj.obj.Integer > 90 { - vObj.validationErrors = append( - vObj.validationErrors, - fmt.Sprintf("-10 <= LObject.Integer <= 90 but Got %d", *obj.obj.Integer)) - } - - } - - if obj.obj.Mac != nil { - - err := obj.validateMac(obj.Mac()) - if err != nil { - vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on LObject.Mac")) - } - - } - - if obj.obj.Ipv4 != nil { - - err := obj.validateIpv4(obj.Ipv4()) - if err != nil { - vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on LObject.Ipv4")) - } - - } - - if obj.obj.Ipv6 != nil { - - err := obj.validateIpv6(obj.Ipv6()) - if err != nil { - vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on LObject.Ipv6")) - } - - } - - if obj.obj.Hex != nil { - - err := obj.validateHex(obj.Hex()) - if err != nil { - vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on LObject.Hex")) - } - - } - -} - -func (obj *lObject) setDefault() { - -} - -// ***** LevelOne ***** -type levelOne struct { - validation - obj *sanity.LevelOne - l1P1Holder LevelTwo - l1P2Holder LevelFour -} - -func NewLevelOne() LevelOne { - obj := levelOne{obj: &sanity.LevelOne{}} - obj.setDefault() - return &obj -} - -func (obj *levelOne) Msg() *sanity.LevelOne { - return obj.obj -} - -func (obj *levelOne) SetMsg(msg *sanity.LevelOne) LevelOne { - obj.setNil() - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *levelOne) ToProto() (*sanity.LevelOne, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *levelOne) FromProto(msg *sanity.LevelOne) (LevelOne, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *levelOne) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *levelOne) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *levelOne) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *levelOne) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *levelOne) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *levelOne) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *levelOne) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *levelOne) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *levelOne) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *levelOne) Clone() (LevelOne, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewLevelOne() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -func (obj *levelOne) setNil() { - obj.l1P1Holder = nil - obj.l1P2Holder = nil - obj.validationErrors = nil - obj.warnings = nil - obj.constraints = make(map[string]map[string]Constraints) -} - -// LevelOne is to Test Multi level non-primitive types -type LevelOne interface { - Validation - // Msg marshals LevelOne to protobuf object *sanity.LevelOne - // and doesn't set defaults - Msg() *sanity.LevelOne - // SetMsg unmarshals LevelOne from protobuf object *sanity.LevelOne - // and doesn't set defaults - SetMsg(*sanity.LevelOne) LevelOne - // ToProto marshals LevelOne to protobuf object *sanity.LevelOne - ToProto() (*sanity.LevelOne, error) - // ToPbText marshals LevelOne to protobuf text - ToPbText() (string, error) - // ToYaml marshals LevelOne to YAML text - ToYaml() (string, error) - // ToJson marshals LevelOne to JSON text - ToJson() (string, error) - // FromProto unmarshals LevelOne from protobuf object *sanity.LevelOne - FromProto(msg *sanity.LevelOne) (LevelOne, error) - // FromPbText unmarshals LevelOne from protobuf text - FromPbText(value string) error - // FromYaml unmarshals LevelOne from YAML text - FromYaml(value string) error - // FromJson unmarshals LevelOne from JSON text - FromJson(value string) error - // Validate validates LevelOne - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (LevelOne, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // L1P1 returns LevelTwo, set in LevelOne. - // LevelTwo is test Level 2 - L1P1() LevelTwo - // SetL1P1 assigns LevelTwo provided by user to LevelOne. - // LevelTwo is test Level 2 - SetL1P1(value LevelTwo) LevelOne - // HasL1P1 checks if L1P1 has been set in LevelOne - HasL1P1() bool - // L1P2 returns LevelFour, set in LevelOne. - // LevelFour is test level4 redundant junk testing - L1P2() LevelFour - // SetL1P2 assigns LevelFour provided by user to LevelOne. - // LevelFour is test level4 redundant junk testing - SetL1P2(value LevelFour) LevelOne - // HasL1P2 checks if L1P2 has been set in LevelOne - HasL1P2() bool - setNil() -} - -// Level one -// L1P1 returns a LevelTwo -func (obj *levelOne) L1P1() LevelTwo { - if obj.obj.L1P1 == nil { - obj.obj.L1P1 = NewLevelTwo().Msg() - } - if obj.l1P1Holder == nil { - obj.l1P1Holder = &levelTwo{obj: obj.obj.L1P1} - } - return obj.l1P1Holder -} - -// Level one -// L1P1 returns a LevelTwo -func (obj *levelOne) HasL1P1() bool { - return obj.obj.L1P1 != nil -} - -// Level one -// SetL1P1 sets the LevelTwo value in the LevelOne object -func (obj *levelOne) SetL1P1(value LevelTwo) LevelOne { - - obj.l1P1Holder = nil - obj.obj.L1P1 = value.Msg() - - return obj -} - -// Level one to four -// L1P2 returns a LevelFour -func (obj *levelOne) L1P2() LevelFour { - if obj.obj.L1P2 == nil { - obj.obj.L1P2 = NewLevelFour().Msg() - } - if obj.l1P2Holder == nil { - obj.l1P2Holder = &levelFour{obj: obj.obj.L1P2} - } - return obj.l1P2Holder -} - -// Level one to four -// L1P2 returns a LevelFour -func (obj *levelOne) HasL1P2() bool { - return obj.obj.L1P2 != nil -} - -// Level one to four -// SetL1P2 sets the LevelFour value in the LevelOne object -func (obj *levelOne) SetL1P2(value LevelFour) LevelOne { - - obj.l1P2Holder = nil - obj.obj.L1P2 = value.Msg() - - return obj -} - -func (obj *levelOne) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - if obj.obj.L1P1 != nil { - - obj.L1P1().validateObj(vObj, set_default) - } - - if obj.obj.L1P2 != nil { - - obj.L1P2().validateObj(vObj, set_default) - } - -} - -func (obj *levelOne) setDefault() { - -} - -// ***** Mandate ***** -type mandate struct { - validation - obj *sanity.Mandate -} - -func NewMandate() Mandate { - obj := mandate{obj: &sanity.Mandate{}} - obj.setDefault() - return &obj -} - -func (obj *mandate) Msg() *sanity.Mandate { - return obj.obj -} - -func (obj *mandate) SetMsg(msg *sanity.Mandate) Mandate { - - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *mandate) ToProto() (*sanity.Mandate, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *mandate) FromProto(msg *sanity.Mandate) (Mandate, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *mandate) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *mandate) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *mandate) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *mandate) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *mandate) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *mandate) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *mandate) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *mandate) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *mandate) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *mandate) Clone() (Mandate, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewMandate() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -// Mandate is object to Test required Parameter -type Mandate interface { - Validation - // Msg marshals Mandate to protobuf object *sanity.Mandate - // and doesn't set defaults - Msg() *sanity.Mandate - // SetMsg unmarshals Mandate from protobuf object *sanity.Mandate - // and doesn't set defaults - SetMsg(*sanity.Mandate) Mandate - // ToProto marshals Mandate to protobuf object *sanity.Mandate - ToProto() (*sanity.Mandate, error) - // ToPbText marshals Mandate to protobuf text - ToPbText() (string, error) - // ToYaml marshals Mandate to YAML text - ToYaml() (string, error) - // ToJson marshals Mandate to JSON text - ToJson() (string, error) - // FromProto unmarshals Mandate from protobuf object *sanity.Mandate - FromProto(msg *sanity.Mandate) (Mandate, error) - // FromPbText unmarshals Mandate from protobuf text - FromPbText(value string) error - // FromYaml unmarshals Mandate from YAML text - FromYaml(value string) error - // FromJson unmarshals Mandate from JSON text - FromJson(value string) error - // Validate validates Mandate - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (Mandate, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // RequiredParam returns string, set in Mandate. - RequiredParam() string - // SetRequiredParam assigns string provided by user to Mandate - SetRequiredParam(value string) Mandate -} - -// description is TBD -// RequiredParam returns a string -func (obj *mandate) RequiredParam() string { - - return obj.obj.RequiredParam -} - -// description is TBD -// SetRequiredParam sets the string value in the Mandate object -func (obj *mandate) SetRequiredParam(value string) Mandate { - - obj.obj.RequiredParam = value - return obj -} - -func (obj *mandate) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - // RequiredParam is required - if obj.obj.RequiredParam == "" { - vObj.validationErrors = append(vObj.validationErrors, "RequiredParam is required field on interface Mandate") - } -} - -func (obj *mandate) setDefault() { - -} - -// ***** Ipv4Pattern ***** -type ipv4Pattern struct { - validation - obj *sanity.Ipv4Pattern - ipv4Holder PatternIpv4PatternIpv4 -} - -func NewIpv4Pattern() Ipv4Pattern { - obj := ipv4Pattern{obj: &sanity.Ipv4Pattern{}} - obj.setDefault() - return &obj -} - -func (obj *ipv4Pattern) Msg() *sanity.Ipv4Pattern { - return obj.obj -} - -func (obj *ipv4Pattern) SetMsg(msg *sanity.Ipv4Pattern) Ipv4Pattern { - obj.setNil() - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *ipv4Pattern) ToProto() (*sanity.Ipv4Pattern, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *ipv4Pattern) FromProto(msg *sanity.Ipv4Pattern) (Ipv4Pattern, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *ipv4Pattern) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *ipv4Pattern) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *ipv4Pattern) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *ipv4Pattern) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *ipv4Pattern) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *ipv4Pattern) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *ipv4Pattern) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *ipv4Pattern) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *ipv4Pattern) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *ipv4Pattern) Clone() (Ipv4Pattern, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewIpv4Pattern() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -func (obj *ipv4Pattern) setNil() { - obj.ipv4Holder = nil - obj.validationErrors = nil - obj.warnings = nil - obj.constraints = make(map[string]map[string]Constraints) -} - -// Ipv4Pattern is test ipv4 pattern -type Ipv4Pattern interface { - Validation - // Msg marshals Ipv4Pattern to protobuf object *sanity.Ipv4Pattern - // and doesn't set defaults - Msg() *sanity.Ipv4Pattern - // SetMsg unmarshals Ipv4Pattern from protobuf object *sanity.Ipv4Pattern - // and doesn't set defaults - SetMsg(*sanity.Ipv4Pattern) Ipv4Pattern - // ToProto marshals Ipv4Pattern to protobuf object *sanity.Ipv4Pattern - ToProto() (*sanity.Ipv4Pattern, error) - // ToPbText marshals Ipv4Pattern to protobuf text - ToPbText() (string, error) - // ToYaml marshals Ipv4Pattern to YAML text - ToYaml() (string, error) - // ToJson marshals Ipv4Pattern to JSON text - ToJson() (string, error) - // FromProto unmarshals Ipv4Pattern from protobuf object *sanity.Ipv4Pattern - FromProto(msg *sanity.Ipv4Pattern) (Ipv4Pattern, error) - // FromPbText unmarshals Ipv4Pattern from protobuf text - FromPbText(value string) error - // FromYaml unmarshals Ipv4Pattern from YAML text - FromYaml(value string) error - // FromJson unmarshals Ipv4Pattern from JSON text - FromJson(value string) error - // Validate validates Ipv4Pattern - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (Ipv4Pattern, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // Ipv4 returns PatternIpv4PatternIpv4, set in Ipv4Pattern. - // PatternIpv4PatternIpv4 is tBD - Ipv4() PatternIpv4PatternIpv4 - // SetIpv4 assigns PatternIpv4PatternIpv4 provided by user to Ipv4Pattern. - // PatternIpv4PatternIpv4 is tBD - SetIpv4(value PatternIpv4PatternIpv4) Ipv4Pattern - // HasIpv4 checks if Ipv4 has been set in Ipv4Pattern - HasIpv4() bool - setNil() -} - -// description is TBD -// Ipv4 returns a PatternIpv4PatternIpv4 -func (obj *ipv4Pattern) Ipv4() PatternIpv4PatternIpv4 { - if obj.obj.Ipv4 == nil { - obj.obj.Ipv4 = NewPatternIpv4PatternIpv4().Msg() - } - if obj.ipv4Holder == nil { - obj.ipv4Holder = &patternIpv4PatternIpv4{obj: obj.obj.Ipv4} - } - return obj.ipv4Holder -} - -// description is TBD -// Ipv4 returns a PatternIpv4PatternIpv4 -func (obj *ipv4Pattern) HasIpv4() bool { - return obj.obj.Ipv4 != nil -} - -// description is TBD -// SetIpv4 sets the PatternIpv4PatternIpv4 value in the Ipv4Pattern object -func (obj *ipv4Pattern) SetIpv4(value PatternIpv4PatternIpv4) Ipv4Pattern { - - obj.ipv4Holder = nil - obj.obj.Ipv4 = value.Msg() - - return obj -} - -func (obj *ipv4Pattern) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - if obj.obj.Ipv4 != nil { - - obj.Ipv4().validateObj(vObj, set_default) - } - -} - -func (obj *ipv4Pattern) setDefault() { - -} - -// ***** Ipv6Pattern ***** -type ipv6Pattern struct { - validation - obj *sanity.Ipv6Pattern - ipv6Holder PatternIpv6PatternIpv6 -} - -func NewIpv6Pattern() Ipv6Pattern { - obj := ipv6Pattern{obj: &sanity.Ipv6Pattern{}} - obj.setDefault() - return &obj -} - -func (obj *ipv6Pattern) Msg() *sanity.Ipv6Pattern { - return obj.obj -} - -func (obj *ipv6Pattern) SetMsg(msg *sanity.Ipv6Pattern) Ipv6Pattern { - obj.setNil() - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *ipv6Pattern) ToProto() (*sanity.Ipv6Pattern, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *ipv6Pattern) FromProto(msg *sanity.Ipv6Pattern) (Ipv6Pattern, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *ipv6Pattern) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *ipv6Pattern) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *ipv6Pattern) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *ipv6Pattern) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *ipv6Pattern) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *ipv6Pattern) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *ipv6Pattern) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *ipv6Pattern) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *ipv6Pattern) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *ipv6Pattern) Clone() (Ipv6Pattern, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewIpv6Pattern() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -func (obj *ipv6Pattern) setNil() { - obj.ipv6Holder = nil - obj.validationErrors = nil - obj.warnings = nil - obj.constraints = make(map[string]map[string]Constraints) -} - -// Ipv6Pattern is test ipv6 pattern -type Ipv6Pattern interface { - Validation - // Msg marshals Ipv6Pattern to protobuf object *sanity.Ipv6Pattern - // and doesn't set defaults - Msg() *sanity.Ipv6Pattern - // SetMsg unmarshals Ipv6Pattern from protobuf object *sanity.Ipv6Pattern - // and doesn't set defaults - SetMsg(*sanity.Ipv6Pattern) Ipv6Pattern - // ToProto marshals Ipv6Pattern to protobuf object *sanity.Ipv6Pattern - ToProto() (*sanity.Ipv6Pattern, error) - // ToPbText marshals Ipv6Pattern to protobuf text - ToPbText() (string, error) - // ToYaml marshals Ipv6Pattern to YAML text - ToYaml() (string, error) - // ToJson marshals Ipv6Pattern to JSON text - ToJson() (string, error) - // FromProto unmarshals Ipv6Pattern from protobuf object *sanity.Ipv6Pattern - FromProto(msg *sanity.Ipv6Pattern) (Ipv6Pattern, error) - // FromPbText unmarshals Ipv6Pattern from protobuf text - FromPbText(value string) error - // FromYaml unmarshals Ipv6Pattern from YAML text - FromYaml(value string) error - // FromJson unmarshals Ipv6Pattern from JSON text - FromJson(value string) error - // Validate validates Ipv6Pattern - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (Ipv6Pattern, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // Ipv6 returns PatternIpv6PatternIpv6, set in Ipv6Pattern. - // PatternIpv6PatternIpv6 is tBD - Ipv6() PatternIpv6PatternIpv6 - // SetIpv6 assigns PatternIpv6PatternIpv6 provided by user to Ipv6Pattern. - // PatternIpv6PatternIpv6 is tBD - SetIpv6(value PatternIpv6PatternIpv6) Ipv6Pattern - // HasIpv6 checks if Ipv6 has been set in Ipv6Pattern - HasIpv6() bool - setNil() -} - -// description is TBD -// Ipv6 returns a PatternIpv6PatternIpv6 -func (obj *ipv6Pattern) Ipv6() PatternIpv6PatternIpv6 { - if obj.obj.Ipv6 == nil { - obj.obj.Ipv6 = NewPatternIpv6PatternIpv6().Msg() - } - if obj.ipv6Holder == nil { - obj.ipv6Holder = &patternIpv6PatternIpv6{obj: obj.obj.Ipv6} - } - return obj.ipv6Holder -} - -// description is TBD -// Ipv6 returns a PatternIpv6PatternIpv6 -func (obj *ipv6Pattern) HasIpv6() bool { - return obj.obj.Ipv6 != nil -} - -// description is TBD -// SetIpv6 sets the PatternIpv6PatternIpv6 value in the Ipv6Pattern object -func (obj *ipv6Pattern) SetIpv6(value PatternIpv6PatternIpv6) Ipv6Pattern { - - obj.ipv6Holder = nil - obj.obj.Ipv6 = value.Msg() - - return obj -} - -func (obj *ipv6Pattern) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - if obj.obj.Ipv6 != nil { - - obj.Ipv6().validateObj(vObj, set_default) - } - -} - -func (obj *ipv6Pattern) setDefault() { - -} - -// ***** MacPattern ***** -type macPattern struct { - validation - obj *sanity.MacPattern - macHolder PatternMacPatternMac -} - -func NewMacPattern() MacPattern { - obj := macPattern{obj: &sanity.MacPattern{}} - obj.setDefault() - return &obj -} - -func (obj *macPattern) Msg() *sanity.MacPattern { - return obj.obj -} - -func (obj *macPattern) SetMsg(msg *sanity.MacPattern) MacPattern { - obj.setNil() - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *macPattern) ToProto() (*sanity.MacPattern, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *macPattern) FromProto(msg *sanity.MacPattern) (MacPattern, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *macPattern) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *macPattern) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *macPattern) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *macPattern) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *macPattern) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *macPattern) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *macPattern) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *macPattern) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *macPattern) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *macPattern) Clone() (MacPattern, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewMacPattern() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -func (obj *macPattern) setNil() { - obj.macHolder = nil - obj.validationErrors = nil - obj.warnings = nil - obj.constraints = make(map[string]map[string]Constraints) -} - -// MacPattern is test mac pattern -type MacPattern interface { - Validation - // Msg marshals MacPattern to protobuf object *sanity.MacPattern - // and doesn't set defaults - Msg() *sanity.MacPattern - // SetMsg unmarshals MacPattern from protobuf object *sanity.MacPattern - // and doesn't set defaults - SetMsg(*sanity.MacPattern) MacPattern - // ToProto marshals MacPattern to protobuf object *sanity.MacPattern - ToProto() (*sanity.MacPattern, error) - // ToPbText marshals MacPattern to protobuf text - ToPbText() (string, error) - // ToYaml marshals MacPattern to YAML text - ToYaml() (string, error) - // ToJson marshals MacPattern to JSON text - ToJson() (string, error) - // FromProto unmarshals MacPattern from protobuf object *sanity.MacPattern - FromProto(msg *sanity.MacPattern) (MacPattern, error) - // FromPbText unmarshals MacPattern from protobuf text - FromPbText(value string) error - // FromYaml unmarshals MacPattern from YAML text - FromYaml(value string) error - // FromJson unmarshals MacPattern from JSON text - FromJson(value string) error - // Validate validates MacPattern - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (MacPattern, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // Mac returns PatternMacPatternMac, set in MacPattern. - // PatternMacPatternMac is tBD - Mac() PatternMacPatternMac - // SetMac assigns PatternMacPatternMac provided by user to MacPattern. - // PatternMacPatternMac is tBD - SetMac(value PatternMacPatternMac) MacPattern - // HasMac checks if Mac has been set in MacPattern - HasMac() bool - setNil() -} - -// description is TBD -// Mac returns a PatternMacPatternMac -func (obj *macPattern) Mac() PatternMacPatternMac { - if obj.obj.Mac == nil { - obj.obj.Mac = NewPatternMacPatternMac().Msg() - } - if obj.macHolder == nil { - obj.macHolder = &patternMacPatternMac{obj: obj.obj.Mac} - } - return obj.macHolder -} - -// description is TBD -// Mac returns a PatternMacPatternMac -func (obj *macPattern) HasMac() bool { - return obj.obj.Mac != nil -} - -// description is TBD -// SetMac sets the PatternMacPatternMac value in the MacPattern object -func (obj *macPattern) SetMac(value PatternMacPatternMac) MacPattern { - - obj.macHolder = nil - obj.obj.Mac = value.Msg() - - return obj -} - -func (obj *macPattern) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - if obj.obj.Mac != nil { - - obj.Mac().validateObj(vObj, set_default) - } - -} - -func (obj *macPattern) setDefault() { - -} - -// ***** IntegerPattern ***** -type integerPattern struct { - validation - obj *sanity.IntegerPattern - integerHolder PatternIntegerPatternInteger -} - -func NewIntegerPattern() IntegerPattern { - obj := integerPattern{obj: &sanity.IntegerPattern{}} - obj.setDefault() - return &obj -} - -func (obj *integerPattern) Msg() *sanity.IntegerPattern { - return obj.obj -} - -func (obj *integerPattern) SetMsg(msg *sanity.IntegerPattern) IntegerPattern { - obj.setNil() - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *integerPattern) ToProto() (*sanity.IntegerPattern, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *integerPattern) FromProto(msg *sanity.IntegerPattern) (IntegerPattern, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *integerPattern) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *integerPattern) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *integerPattern) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *integerPattern) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *integerPattern) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *integerPattern) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *integerPattern) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *integerPattern) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *integerPattern) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *integerPattern) Clone() (IntegerPattern, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewIntegerPattern() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -func (obj *integerPattern) setNil() { - obj.integerHolder = nil - obj.validationErrors = nil - obj.warnings = nil - obj.constraints = make(map[string]map[string]Constraints) -} - -// IntegerPattern is test integer pattern -type IntegerPattern interface { - Validation - // Msg marshals IntegerPattern to protobuf object *sanity.IntegerPattern - // and doesn't set defaults - Msg() *sanity.IntegerPattern - // SetMsg unmarshals IntegerPattern from protobuf object *sanity.IntegerPattern - // and doesn't set defaults - SetMsg(*sanity.IntegerPattern) IntegerPattern - // ToProto marshals IntegerPattern to protobuf object *sanity.IntegerPattern - ToProto() (*sanity.IntegerPattern, error) - // ToPbText marshals IntegerPattern to protobuf text - ToPbText() (string, error) - // ToYaml marshals IntegerPattern to YAML text - ToYaml() (string, error) - // ToJson marshals IntegerPattern to JSON text - ToJson() (string, error) - // FromProto unmarshals IntegerPattern from protobuf object *sanity.IntegerPattern - FromProto(msg *sanity.IntegerPattern) (IntegerPattern, error) - // FromPbText unmarshals IntegerPattern from protobuf text - FromPbText(value string) error - // FromYaml unmarshals IntegerPattern from YAML text - FromYaml(value string) error - // FromJson unmarshals IntegerPattern from JSON text - FromJson(value string) error - // Validate validates IntegerPattern - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (IntegerPattern, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // Integer returns PatternIntegerPatternInteger, set in IntegerPattern. - // PatternIntegerPatternInteger is tBD - Integer() PatternIntegerPatternInteger - // SetInteger assigns PatternIntegerPatternInteger provided by user to IntegerPattern. - // PatternIntegerPatternInteger is tBD - SetInteger(value PatternIntegerPatternInteger) IntegerPattern - // HasInteger checks if Integer has been set in IntegerPattern - HasInteger() bool - setNil() -} - -// description is TBD -// Integer returns a PatternIntegerPatternInteger -func (obj *integerPattern) Integer() PatternIntegerPatternInteger { - if obj.obj.Integer == nil { - obj.obj.Integer = NewPatternIntegerPatternInteger().Msg() - } - if obj.integerHolder == nil { - obj.integerHolder = &patternIntegerPatternInteger{obj: obj.obj.Integer} - } - return obj.integerHolder -} - -// description is TBD -// Integer returns a PatternIntegerPatternInteger -func (obj *integerPattern) HasInteger() bool { - return obj.obj.Integer != nil -} - -// description is TBD -// SetInteger sets the PatternIntegerPatternInteger value in the IntegerPattern object -func (obj *integerPattern) SetInteger(value PatternIntegerPatternInteger) IntegerPattern { - - obj.integerHolder = nil - obj.obj.Integer = value.Msg() - - return obj -} - -func (obj *integerPattern) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - if obj.obj.Integer != nil { - - obj.Integer().validateObj(vObj, set_default) - } - -} - -func (obj *integerPattern) setDefault() { - -} - -// ***** ChecksumPattern ***** -type checksumPattern struct { - validation - obj *sanity.ChecksumPattern - checksumHolder PatternChecksumPatternChecksum -} - -func NewChecksumPattern() ChecksumPattern { - obj := checksumPattern{obj: &sanity.ChecksumPattern{}} - obj.setDefault() - return &obj -} - -func (obj *checksumPattern) Msg() *sanity.ChecksumPattern { - return obj.obj -} - -func (obj *checksumPattern) SetMsg(msg *sanity.ChecksumPattern) ChecksumPattern { - obj.setNil() - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *checksumPattern) ToProto() (*sanity.ChecksumPattern, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *checksumPattern) FromProto(msg *sanity.ChecksumPattern) (ChecksumPattern, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *checksumPattern) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *checksumPattern) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *checksumPattern) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *checksumPattern) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *checksumPattern) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *checksumPattern) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *checksumPattern) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *checksumPattern) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *checksumPattern) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *checksumPattern) Clone() (ChecksumPattern, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewChecksumPattern() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -func (obj *checksumPattern) setNil() { - obj.checksumHolder = nil - obj.validationErrors = nil - obj.warnings = nil - obj.constraints = make(map[string]map[string]Constraints) -} - -// ChecksumPattern is test checksum pattern -type ChecksumPattern interface { - Validation - // Msg marshals ChecksumPattern to protobuf object *sanity.ChecksumPattern - // and doesn't set defaults - Msg() *sanity.ChecksumPattern - // SetMsg unmarshals ChecksumPattern from protobuf object *sanity.ChecksumPattern - // and doesn't set defaults - SetMsg(*sanity.ChecksumPattern) ChecksumPattern - // ToProto marshals ChecksumPattern to protobuf object *sanity.ChecksumPattern - ToProto() (*sanity.ChecksumPattern, error) - // ToPbText marshals ChecksumPattern to protobuf text - ToPbText() (string, error) - // ToYaml marshals ChecksumPattern to YAML text - ToYaml() (string, error) - // ToJson marshals ChecksumPattern to JSON text - ToJson() (string, error) - // FromProto unmarshals ChecksumPattern from protobuf object *sanity.ChecksumPattern - FromProto(msg *sanity.ChecksumPattern) (ChecksumPattern, error) - // FromPbText unmarshals ChecksumPattern from protobuf text - FromPbText(value string) error - // FromYaml unmarshals ChecksumPattern from YAML text - FromYaml(value string) error - // FromJson unmarshals ChecksumPattern from JSON text - FromJson(value string) error - // Validate validates ChecksumPattern - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (ChecksumPattern, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // Checksum returns PatternChecksumPatternChecksum, set in ChecksumPattern. - // PatternChecksumPatternChecksum is tBD - Checksum() PatternChecksumPatternChecksum - // SetChecksum assigns PatternChecksumPatternChecksum provided by user to ChecksumPattern. - // PatternChecksumPatternChecksum is tBD - SetChecksum(value PatternChecksumPatternChecksum) ChecksumPattern - // HasChecksum checks if Checksum has been set in ChecksumPattern - HasChecksum() bool - setNil() -} - -// description is TBD -// Checksum returns a PatternChecksumPatternChecksum -func (obj *checksumPattern) Checksum() PatternChecksumPatternChecksum { - if obj.obj.Checksum == nil { - obj.obj.Checksum = NewPatternChecksumPatternChecksum().Msg() - } - if obj.checksumHolder == nil { - obj.checksumHolder = &patternChecksumPatternChecksum{obj: obj.obj.Checksum} - } - return obj.checksumHolder -} - -// description is TBD -// Checksum returns a PatternChecksumPatternChecksum -func (obj *checksumPattern) HasChecksum() bool { - return obj.obj.Checksum != nil -} - -// description is TBD -// SetChecksum sets the PatternChecksumPatternChecksum value in the ChecksumPattern object -func (obj *checksumPattern) SetChecksum(value PatternChecksumPatternChecksum) ChecksumPattern { - - obj.checksumHolder = nil - obj.obj.Checksum = value.Msg() - - return obj -} - -func (obj *checksumPattern) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - if obj.obj.Checksum != nil { - - obj.Checksum().validateObj(vObj, set_default) - } - -} - -func (obj *checksumPattern) setDefault() { - -} - -// ***** Layer1Ieee802X ***** -type layer1Ieee802X struct { - validation - obj *sanity.Layer1Ieee802X -} - -func NewLayer1Ieee802X() Layer1Ieee802X { - obj := layer1Ieee802X{obj: &sanity.Layer1Ieee802X{}} - obj.setDefault() - return &obj -} - -func (obj *layer1Ieee802X) Msg() *sanity.Layer1Ieee802X { - return obj.obj -} - -func (obj *layer1Ieee802X) SetMsg(msg *sanity.Layer1Ieee802X) Layer1Ieee802X { - - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *layer1Ieee802X) ToProto() (*sanity.Layer1Ieee802X, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *layer1Ieee802X) FromProto(msg *sanity.Layer1Ieee802X) (Layer1Ieee802X, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *layer1Ieee802X) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *layer1Ieee802X) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *layer1Ieee802X) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *layer1Ieee802X) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *layer1Ieee802X) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *layer1Ieee802X) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *layer1Ieee802X) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *layer1Ieee802X) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *layer1Ieee802X) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *layer1Ieee802X) Clone() (Layer1Ieee802X, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewLayer1Ieee802X() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -// Layer1Ieee802X is description is TBD -type Layer1Ieee802X interface { - Validation - // Msg marshals Layer1Ieee802X to protobuf object *sanity.Layer1Ieee802X - // and doesn't set defaults - Msg() *sanity.Layer1Ieee802X - // SetMsg unmarshals Layer1Ieee802X from protobuf object *sanity.Layer1Ieee802X - // and doesn't set defaults - SetMsg(*sanity.Layer1Ieee802X) Layer1Ieee802X - // ToProto marshals Layer1Ieee802X to protobuf object *sanity.Layer1Ieee802X - ToProto() (*sanity.Layer1Ieee802X, error) - // ToPbText marshals Layer1Ieee802X to protobuf text - ToPbText() (string, error) - // ToYaml marshals Layer1Ieee802X to YAML text - ToYaml() (string, error) - // ToJson marshals Layer1Ieee802X to JSON text - ToJson() (string, error) - // FromProto unmarshals Layer1Ieee802X from protobuf object *sanity.Layer1Ieee802X - FromProto(msg *sanity.Layer1Ieee802X) (Layer1Ieee802X, error) - // FromPbText unmarshals Layer1Ieee802X from protobuf text - FromPbText(value string) error - // FromYaml unmarshals Layer1Ieee802X from YAML text - FromYaml(value string) error - // FromJson unmarshals Layer1Ieee802X from JSON text - FromJson(value string) error - // Validate validates Layer1Ieee802X - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (Layer1Ieee802X, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // FlowControl returns bool, set in Layer1Ieee802X. - FlowControl() bool - // SetFlowControl assigns bool provided by user to Layer1Ieee802X - SetFlowControl(value bool) Layer1Ieee802X - // HasFlowControl checks if FlowControl has been set in Layer1Ieee802X - HasFlowControl() bool -} - -// description is TBD -// FlowControl returns a bool -func (obj *layer1Ieee802X) FlowControl() bool { - - return *obj.obj.FlowControl - -} - -// description is TBD -// FlowControl returns a bool -func (obj *layer1Ieee802X) HasFlowControl() bool { - return obj.obj.FlowControl != nil -} - -// description is TBD -// SetFlowControl sets the bool value in the Layer1Ieee802X object -func (obj *layer1Ieee802X) SetFlowControl(value bool) Layer1Ieee802X { - - obj.obj.FlowControl = &value - return obj -} - -func (obj *layer1Ieee802X) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - -} - -func (obj *layer1Ieee802X) setDefault() { - -} - -// ***** MObject ***** -type mObject struct { - validation - obj *sanity.MObject -} - -func NewMObject() MObject { - obj := mObject{obj: &sanity.MObject{}} - obj.setDefault() - return &obj -} - -func (obj *mObject) Msg() *sanity.MObject { - return obj.obj -} - -func (obj *mObject) SetMsg(msg *sanity.MObject) MObject { - - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *mObject) ToProto() (*sanity.MObject, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *mObject) FromProto(msg *sanity.MObject) (MObject, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *mObject) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *mObject) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *mObject) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *mObject) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *mObject) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *mObject) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *mObject) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *mObject) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *mObject) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *mObject) Clone() (MObject, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewMObject() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -// MObject is required format validation object -type MObject interface { - Validation - // Msg marshals MObject to protobuf object *sanity.MObject - // and doesn't set defaults - Msg() *sanity.MObject - // SetMsg unmarshals MObject from protobuf object *sanity.MObject - // and doesn't set defaults - SetMsg(*sanity.MObject) MObject - // ToProto marshals MObject to protobuf object *sanity.MObject - ToProto() (*sanity.MObject, error) - // ToPbText marshals MObject to protobuf text - ToPbText() (string, error) - // ToYaml marshals MObject to YAML text - ToYaml() (string, error) - // ToJson marshals MObject to JSON text - ToJson() (string, error) - // FromProto unmarshals MObject from protobuf object *sanity.MObject - FromProto(msg *sanity.MObject) (MObject, error) - // FromPbText unmarshals MObject from protobuf text - FromPbText(value string) error - // FromYaml unmarshals MObject from YAML text - FromYaml(value string) error - // FromJson unmarshals MObject from JSON text - FromJson(value string) error - // Validate validates MObject - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (MObject, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // StringParam returns string, set in MObject. - StringParam() string - // SetStringParam assigns string provided by user to MObject - SetStringParam(value string) MObject - // Integer returns int32, set in MObject. - Integer() int32 - // SetInteger assigns int32 provided by user to MObject - SetInteger(value int32) MObject - // Float returns float32, set in MObject. - Float() float32 - // SetFloat assigns float32 provided by user to MObject - SetFloat(value float32) MObject - // Double returns float64, set in MObject. - Double() float64 - // SetDouble assigns float64 provided by user to MObject - SetDouble(value float64) MObject - // Mac returns string, set in MObject. - Mac() string - // SetMac assigns string provided by user to MObject - SetMac(value string) MObject - // Ipv4 returns string, set in MObject. - Ipv4() string - // SetIpv4 assigns string provided by user to MObject - SetIpv4(value string) MObject - // Ipv6 returns string, set in MObject. - Ipv6() string - // SetIpv6 assigns string provided by user to MObject - SetIpv6(value string) MObject - // Hex returns string, set in MObject. - Hex() string - // SetHex assigns string provided by user to MObject - SetHex(value string) MObject -} - -// description is TBD -// StringParam returns a string -func (obj *mObject) StringParam() string { - - return obj.obj.StringParam -} - -// description is TBD -// SetStringParam sets the string value in the MObject object -func (obj *mObject) SetStringParam(value string) MObject { - - obj.obj.StringParam = value - return obj -} - -// description is TBD -// Integer returns a int32 -func (obj *mObject) Integer() int32 { - - return obj.obj.Integer -} - -// description is TBD -// SetInteger sets the int32 value in the MObject object -func (obj *mObject) SetInteger(value int32) MObject { - - obj.obj.Integer = value - return obj -} - -// description is TBD -// Float returns a float32 -func (obj *mObject) Float() float32 { - - return obj.obj.Float -} - -// description is TBD -// SetFloat sets the float32 value in the MObject object -func (obj *mObject) SetFloat(value float32) MObject { - - obj.obj.Float = value - return obj -} - -// description is TBD -// Double returns a float64 -func (obj *mObject) Double() float64 { - - return obj.obj.Double -} - -// description is TBD -// SetDouble sets the float64 value in the MObject object -func (obj *mObject) SetDouble(value float64) MObject { - - obj.obj.Double = value - return obj -} - -// description is TBD -// Mac returns a string -func (obj *mObject) Mac() string { - - return obj.obj.Mac -} - -// description is TBD -// SetMac sets the string value in the MObject object -func (obj *mObject) SetMac(value string) MObject { - - obj.obj.Mac = value - return obj -} - -// description is TBD -// Ipv4 returns a string -func (obj *mObject) Ipv4() string { - - return obj.obj.Ipv4 -} - -// description is TBD -// SetIpv4 sets the string value in the MObject object -func (obj *mObject) SetIpv4(value string) MObject { - - obj.obj.Ipv4 = value - return obj -} - -// description is TBD -// Ipv6 returns a string -func (obj *mObject) Ipv6() string { - - return obj.obj.Ipv6 -} - -// description is TBD -// SetIpv6 sets the string value in the MObject object -func (obj *mObject) SetIpv6(value string) MObject { - - obj.obj.Ipv6 = value - return obj -} - -// description is TBD -// Hex returns a string -func (obj *mObject) Hex() string { - - return obj.obj.Hex -} - -// description is TBD -// SetHex sets the string value in the MObject object -func (obj *mObject) SetHex(value string) MObject { - - obj.obj.Hex = value - return obj -} - -func (obj *mObject) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - // StringParam is required - if obj.obj.StringParam == "" { - vObj.validationErrors = append(vObj.validationErrors, "StringParam is required field on interface MObject") - } - - if obj.obj.Integer != 0 { - - if obj.obj.Integer < -10 || obj.obj.Integer > 90 { - vObj.validationErrors = append( - vObj.validationErrors, - fmt.Sprintf("-10 <= MObject.Integer <= 90 but Got %d", obj.obj.Integer)) - } - - } - - // Mac is required - if obj.obj.Mac == "" { - vObj.validationErrors = append(vObj.validationErrors, "Mac is required field on interface MObject") - } - if obj.obj.Mac != "" { - - err := obj.validateMac(obj.Mac()) - if err != nil { - vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on MObject.Mac")) - } - - } - - // Ipv4 is required - if obj.obj.Ipv4 == "" { - vObj.validationErrors = append(vObj.validationErrors, "Ipv4 is required field on interface MObject") - } - if obj.obj.Ipv4 != "" { - - err := obj.validateIpv4(obj.Ipv4()) - if err != nil { - vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on MObject.Ipv4")) - } - - } - - // Ipv6 is required - if obj.obj.Ipv6 == "" { - vObj.validationErrors = append(vObj.validationErrors, "Ipv6 is required field on interface MObject") - } - if obj.obj.Ipv6 != "" { - - err := obj.validateIpv6(obj.Ipv6()) - if err != nil { - vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on MObject.Ipv6")) - } - - } - - // Hex is required - if obj.obj.Hex == "" { - vObj.validationErrors = append(vObj.validationErrors, "Hex is required field on interface MObject") - } - if obj.obj.Hex != "" { - - err := obj.validateHex(obj.Hex()) - if err != nil { - vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on MObject.Hex")) - } - - } - -} - -func (obj *mObject) setDefault() { - -} - -// ***** PatternPrefixConfigHeaderChecksum ***** -type patternPrefixConfigHeaderChecksum struct { - validation - obj *sanity.PatternPrefixConfigHeaderChecksum -} - -func NewPatternPrefixConfigHeaderChecksum() PatternPrefixConfigHeaderChecksum { - obj := patternPrefixConfigHeaderChecksum{obj: &sanity.PatternPrefixConfigHeaderChecksum{}} - obj.setDefault() - return &obj -} - -func (obj *patternPrefixConfigHeaderChecksum) Msg() *sanity.PatternPrefixConfigHeaderChecksum { - return obj.obj -} - -func (obj *patternPrefixConfigHeaderChecksum) SetMsg(msg *sanity.PatternPrefixConfigHeaderChecksum) PatternPrefixConfigHeaderChecksum { - - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *patternPrefixConfigHeaderChecksum) ToProto() (*sanity.PatternPrefixConfigHeaderChecksum, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *patternPrefixConfigHeaderChecksum) FromProto(msg *sanity.PatternPrefixConfigHeaderChecksum) (PatternPrefixConfigHeaderChecksum, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *patternPrefixConfigHeaderChecksum) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *patternPrefixConfigHeaderChecksum) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *patternPrefixConfigHeaderChecksum) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *patternPrefixConfigHeaderChecksum) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *patternPrefixConfigHeaderChecksum) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *patternPrefixConfigHeaderChecksum) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *patternPrefixConfigHeaderChecksum) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *patternPrefixConfigHeaderChecksum) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *patternPrefixConfigHeaderChecksum) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *patternPrefixConfigHeaderChecksum) Clone() (PatternPrefixConfigHeaderChecksum, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewPatternPrefixConfigHeaderChecksum() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -// PatternPrefixConfigHeaderChecksum is header checksum -type PatternPrefixConfigHeaderChecksum interface { - Validation - // Msg marshals PatternPrefixConfigHeaderChecksum to protobuf object *sanity.PatternPrefixConfigHeaderChecksum - // and doesn't set defaults - Msg() *sanity.PatternPrefixConfigHeaderChecksum - // SetMsg unmarshals PatternPrefixConfigHeaderChecksum from protobuf object *sanity.PatternPrefixConfigHeaderChecksum - // and doesn't set defaults - SetMsg(*sanity.PatternPrefixConfigHeaderChecksum) PatternPrefixConfigHeaderChecksum - // ToProto marshals PatternPrefixConfigHeaderChecksum to protobuf object *sanity.PatternPrefixConfigHeaderChecksum - ToProto() (*sanity.PatternPrefixConfigHeaderChecksum, error) - // ToPbText marshals PatternPrefixConfigHeaderChecksum to protobuf text - ToPbText() (string, error) - // ToYaml marshals PatternPrefixConfigHeaderChecksum to YAML text - ToYaml() (string, error) - // ToJson marshals PatternPrefixConfigHeaderChecksum to JSON text - ToJson() (string, error) - // FromProto unmarshals PatternPrefixConfigHeaderChecksum from protobuf object *sanity.PatternPrefixConfigHeaderChecksum - FromProto(msg *sanity.PatternPrefixConfigHeaderChecksum) (PatternPrefixConfigHeaderChecksum, error) - // FromPbText unmarshals PatternPrefixConfigHeaderChecksum from protobuf text - FromPbText(value string) error - // FromYaml unmarshals PatternPrefixConfigHeaderChecksum from YAML text - FromYaml(value string) error - // FromJson unmarshals PatternPrefixConfigHeaderChecksum from JSON text - FromJson(value string) error - // Validate validates PatternPrefixConfigHeaderChecksum - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (PatternPrefixConfigHeaderChecksum, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // Choice returns PatternPrefixConfigHeaderChecksumChoiceEnum, set in PatternPrefixConfigHeaderChecksum - Choice() PatternPrefixConfigHeaderChecksumChoiceEnum - // SetChoice assigns PatternPrefixConfigHeaderChecksumChoiceEnum provided by user to PatternPrefixConfigHeaderChecksum - SetChoice(value PatternPrefixConfigHeaderChecksumChoiceEnum) PatternPrefixConfigHeaderChecksum - // HasChoice checks if Choice has been set in PatternPrefixConfigHeaderChecksum - HasChoice() bool - // Generated returns PatternPrefixConfigHeaderChecksumGeneratedEnum, set in PatternPrefixConfigHeaderChecksum - Generated() PatternPrefixConfigHeaderChecksumGeneratedEnum - // SetGenerated assigns PatternPrefixConfigHeaderChecksumGeneratedEnum provided by user to PatternPrefixConfigHeaderChecksum - SetGenerated(value PatternPrefixConfigHeaderChecksumGeneratedEnum) PatternPrefixConfigHeaderChecksum - // HasGenerated checks if Generated has been set in PatternPrefixConfigHeaderChecksum - HasGenerated() bool - // Custom returns uint32, set in PatternPrefixConfigHeaderChecksum. - Custom() uint32 - // SetCustom assigns uint32 provided by user to PatternPrefixConfigHeaderChecksum - SetCustom(value uint32) PatternPrefixConfigHeaderChecksum - // HasCustom checks if Custom has been set in PatternPrefixConfigHeaderChecksum - HasCustom() bool -} - -type PatternPrefixConfigHeaderChecksumChoiceEnum string - -// Enum of Choice on PatternPrefixConfigHeaderChecksum -var PatternPrefixConfigHeaderChecksumChoice = struct { - GENERATED PatternPrefixConfigHeaderChecksumChoiceEnum - CUSTOM PatternPrefixConfigHeaderChecksumChoiceEnum -}{ - GENERATED: PatternPrefixConfigHeaderChecksumChoiceEnum("generated"), - CUSTOM: PatternPrefixConfigHeaderChecksumChoiceEnum("custom"), -} - -func (obj *patternPrefixConfigHeaderChecksum) Choice() PatternPrefixConfigHeaderChecksumChoiceEnum { - return PatternPrefixConfigHeaderChecksumChoiceEnum(obj.obj.Choice.Enum().String()) -} - -// The type of checksum -// Choice returns a string -func (obj *patternPrefixConfigHeaderChecksum) HasChoice() bool { - return obj.obj.Choice != nil -} - -func (obj *patternPrefixConfigHeaderChecksum) SetChoice(value PatternPrefixConfigHeaderChecksumChoiceEnum) PatternPrefixConfigHeaderChecksum { - intValue, ok := sanity.PatternPrefixConfigHeaderChecksum_Choice_Enum_value[string(value)] - if !ok { - obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( - "%s is not a valid choice on PatternPrefixConfigHeaderChecksumChoiceEnum", string(value))) - return obj - } - enumValue := sanity.PatternPrefixConfigHeaderChecksum_Choice_Enum(intValue) - obj.obj.Choice = &enumValue - obj.obj.Custom = nil - obj.obj.Generated = sanity.PatternPrefixConfigHeaderChecksum_Generated_unspecified.Enum() - return obj -} - -type PatternPrefixConfigHeaderChecksumGeneratedEnum string - -// Enum of Generated on PatternPrefixConfigHeaderChecksum -var PatternPrefixConfigHeaderChecksumGenerated = struct { - GOOD PatternPrefixConfigHeaderChecksumGeneratedEnum - BAD PatternPrefixConfigHeaderChecksumGeneratedEnum -}{ - GOOD: PatternPrefixConfigHeaderChecksumGeneratedEnum("good"), - BAD: PatternPrefixConfigHeaderChecksumGeneratedEnum("bad"), -} - -func (obj *patternPrefixConfigHeaderChecksum) Generated() PatternPrefixConfigHeaderChecksumGeneratedEnum { - return PatternPrefixConfigHeaderChecksumGeneratedEnum(obj.obj.Generated.Enum().String()) -} - -// A system generated checksum value -// Generated returns a string -func (obj *patternPrefixConfigHeaderChecksum) HasGenerated() bool { - return obj.obj.Generated != nil -} - -func (obj *patternPrefixConfigHeaderChecksum) SetGenerated(value PatternPrefixConfigHeaderChecksumGeneratedEnum) PatternPrefixConfigHeaderChecksum { - intValue, ok := sanity.PatternPrefixConfigHeaderChecksum_Generated_Enum_value[string(value)] - if !ok { - obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( - "%s is not a valid choice on PatternPrefixConfigHeaderChecksumGeneratedEnum", string(value))) - return obj - } - enumValue := sanity.PatternPrefixConfigHeaderChecksum_Generated_Enum(intValue) - obj.obj.Generated = &enumValue - - return obj -} - -// A custom checksum value -// Custom returns a uint32 -func (obj *patternPrefixConfigHeaderChecksum) Custom() uint32 { - - if obj.obj.Custom == nil { - obj.SetChoice(PatternPrefixConfigHeaderChecksumChoice.CUSTOM) - } - - return *obj.obj.Custom - -} - -// A custom checksum value -// Custom returns a uint32 -func (obj *patternPrefixConfigHeaderChecksum) HasCustom() bool { - return obj.obj.Custom != nil -} - -// A custom checksum value -// SetCustom sets the uint32 value in the PatternPrefixConfigHeaderChecksum object -func (obj *patternPrefixConfigHeaderChecksum) SetCustom(value uint32) PatternPrefixConfigHeaderChecksum { - obj.SetChoice(PatternPrefixConfigHeaderChecksumChoice.CUSTOM) - obj.obj.Custom = &value - return obj -} - -func (obj *patternPrefixConfigHeaderChecksum) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - if obj.obj.Custom != nil { - - if *obj.obj.Custom > 65535 { - vObj.validationErrors = append( - vObj.validationErrors, - fmt.Sprintf("0 <= PatternPrefixConfigHeaderChecksum.Custom <= 65535 but Got %d", *obj.obj.Custom)) - } - - } - -} - -func (obj *patternPrefixConfigHeaderChecksum) setDefault() { - if obj.obj.Choice == nil { - obj.SetChoice(PatternPrefixConfigHeaderChecksumChoice.GENERATED) - if obj.obj.Generated.Number() == 0 { - obj.SetGenerated(PatternPrefixConfigHeaderChecksumGenerated.GOOD) - - } - - } - -} - -// ***** PatternPrefixConfigAutoFieldTest ***** -type patternPrefixConfigAutoFieldTest struct { - validation - obj *sanity.PatternPrefixConfigAutoFieldTest - incrementHolder PatternPrefixConfigAutoFieldTestCounter - decrementHolder PatternPrefixConfigAutoFieldTestCounter -} - -func NewPatternPrefixConfigAutoFieldTest() PatternPrefixConfigAutoFieldTest { - obj := patternPrefixConfigAutoFieldTest{obj: &sanity.PatternPrefixConfigAutoFieldTest{}} - obj.setDefault() - return &obj -} - -func (obj *patternPrefixConfigAutoFieldTest) Msg() *sanity.PatternPrefixConfigAutoFieldTest { - return obj.obj -} - -func (obj *patternPrefixConfigAutoFieldTest) SetMsg(msg *sanity.PatternPrefixConfigAutoFieldTest) PatternPrefixConfigAutoFieldTest { - obj.setNil() - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *patternPrefixConfigAutoFieldTest) ToProto() (*sanity.PatternPrefixConfigAutoFieldTest, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *patternPrefixConfigAutoFieldTest) FromProto(msg *sanity.PatternPrefixConfigAutoFieldTest) (PatternPrefixConfigAutoFieldTest, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *patternPrefixConfigAutoFieldTest) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *patternPrefixConfigAutoFieldTest) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *patternPrefixConfigAutoFieldTest) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *patternPrefixConfigAutoFieldTest) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *patternPrefixConfigAutoFieldTest) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *patternPrefixConfigAutoFieldTest) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *patternPrefixConfigAutoFieldTest) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *patternPrefixConfigAutoFieldTest) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *patternPrefixConfigAutoFieldTest) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *patternPrefixConfigAutoFieldTest) Clone() (PatternPrefixConfigAutoFieldTest, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewPatternPrefixConfigAutoFieldTest() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -func (obj *patternPrefixConfigAutoFieldTest) setNil() { - obj.incrementHolder = nil - obj.decrementHolder = nil - obj.validationErrors = nil - obj.warnings = nil - obj.constraints = make(map[string]map[string]Constraints) -} - -// PatternPrefixConfigAutoFieldTest is tBD -type PatternPrefixConfigAutoFieldTest interface { - Validation - // Msg marshals PatternPrefixConfigAutoFieldTest to protobuf object *sanity.PatternPrefixConfigAutoFieldTest - // and doesn't set defaults - Msg() *sanity.PatternPrefixConfigAutoFieldTest - // SetMsg unmarshals PatternPrefixConfigAutoFieldTest from protobuf object *sanity.PatternPrefixConfigAutoFieldTest - // and doesn't set defaults - SetMsg(*sanity.PatternPrefixConfigAutoFieldTest) PatternPrefixConfigAutoFieldTest - // ToProto marshals PatternPrefixConfigAutoFieldTest to protobuf object *sanity.PatternPrefixConfigAutoFieldTest - ToProto() (*sanity.PatternPrefixConfigAutoFieldTest, error) - // ToPbText marshals PatternPrefixConfigAutoFieldTest to protobuf text - ToPbText() (string, error) - // ToYaml marshals PatternPrefixConfigAutoFieldTest to YAML text - ToYaml() (string, error) - // ToJson marshals PatternPrefixConfigAutoFieldTest to JSON text - ToJson() (string, error) - // FromProto unmarshals PatternPrefixConfigAutoFieldTest from protobuf object *sanity.PatternPrefixConfigAutoFieldTest - FromProto(msg *sanity.PatternPrefixConfigAutoFieldTest) (PatternPrefixConfigAutoFieldTest, error) - // FromPbText unmarshals PatternPrefixConfigAutoFieldTest from protobuf text - FromPbText(value string) error - // FromYaml unmarshals PatternPrefixConfigAutoFieldTest from YAML text - FromYaml(value string) error - // FromJson unmarshals PatternPrefixConfigAutoFieldTest from JSON text - FromJson(value string) error - // Validate validates PatternPrefixConfigAutoFieldTest - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (PatternPrefixConfigAutoFieldTest, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // Choice returns PatternPrefixConfigAutoFieldTestChoiceEnum, set in PatternPrefixConfigAutoFieldTest - Choice() PatternPrefixConfigAutoFieldTestChoiceEnum - // SetChoice assigns PatternPrefixConfigAutoFieldTestChoiceEnum provided by user to PatternPrefixConfigAutoFieldTest - SetChoice(value PatternPrefixConfigAutoFieldTestChoiceEnum) PatternPrefixConfigAutoFieldTest - // HasChoice checks if Choice has been set in PatternPrefixConfigAutoFieldTest - HasChoice() bool - // Value returns uint32, set in PatternPrefixConfigAutoFieldTest. - Value() uint32 - // SetValue assigns uint32 provided by user to PatternPrefixConfigAutoFieldTest - SetValue(value uint32) PatternPrefixConfigAutoFieldTest - // HasValue checks if Value has been set in PatternPrefixConfigAutoFieldTest - HasValue() bool - // Values returns []uint32, set in PatternPrefixConfigAutoFieldTest. - Values() []uint32 - // SetValues assigns []uint32 provided by user to PatternPrefixConfigAutoFieldTest - SetValues(value []uint32) PatternPrefixConfigAutoFieldTest - // Auto returns uint32, set in PatternPrefixConfigAutoFieldTest. - Auto() uint32 - // HasAuto checks if Auto has been set in PatternPrefixConfigAutoFieldTest - HasAuto() bool - // Increment returns PatternPrefixConfigAutoFieldTestCounter, set in PatternPrefixConfigAutoFieldTest. - // PatternPrefixConfigAutoFieldTestCounter is integer counter pattern - Increment() PatternPrefixConfigAutoFieldTestCounter - // SetIncrement assigns PatternPrefixConfigAutoFieldTestCounter provided by user to PatternPrefixConfigAutoFieldTest. - // PatternPrefixConfigAutoFieldTestCounter is integer counter pattern - SetIncrement(value PatternPrefixConfigAutoFieldTestCounter) PatternPrefixConfigAutoFieldTest - // HasIncrement checks if Increment has been set in PatternPrefixConfigAutoFieldTest - HasIncrement() bool - // Decrement returns PatternPrefixConfigAutoFieldTestCounter, set in PatternPrefixConfigAutoFieldTest. - // PatternPrefixConfigAutoFieldTestCounter is integer counter pattern - Decrement() PatternPrefixConfigAutoFieldTestCounter - // SetDecrement assigns PatternPrefixConfigAutoFieldTestCounter provided by user to PatternPrefixConfigAutoFieldTest. - // PatternPrefixConfigAutoFieldTestCounter is integer counter pattern - SetDecrement(value PatternPrefixConfigAutoFieldTestCounter) PatternPrefixConfigAutoFieldTest - // HasDecrement checks if Decrement has been set in PatternPrefixConfigAutoFieldTest - HasDecrement() bool - setNil() -} - -type PatternPrefixConfigAutoFieldTestChoiceEnum string - -// Enum of Choice on PatternPrefixConfigAutoFieldTest -var PatternPrefixConfigAutoFieldTestChoice = struct { - VALUE PatternPrefixConfigAutoFieldTestChoiceEnum - VALUES PatternPrefixConfigAutoFieldTestChoiceEnum - AUTO PatternPrefixConfigAutoFieldTestChoiceEnum - INCREMENT PatternPrefixConfigAutoFieldTestChoiceEnum - DECREMENT PatternPrefixConfigAutoFieldTestChoiceEnum -}{ - VALUE: PatternPrefixConfigAutoFieldTestChoiceEnum("value"), - VALUES: PatternPrefixConfigAutoFieldTestChoiceEnum("values"), - AUTO: PatternPrefixConfigAutoFieldTestChoiceEnum("auto"), - INCREMENT: PatternPrefixConfigAutoFieldTestChoiceEnum("increment"), - DECREMENT: PatternPrefixConfigAutoFieldTestChoiceEnum("decrement"), -} - -func (obj *patternPrefixConfigAutoFieldTest) Choice() PatternPrefixConfigAutoFieldTestChoiceEnum { - return PatternPrefixConfigAutoFieldTestChoiceEnum(obj.obj.Choice.Enum().String()) -} - -// description is TBD -// Choice returns a string -func (obj *patternPrefixConfigAutoFieldTest) HasChoice() bool { - return obj.obj.Choice != nil -} - -func (obj *patternPrefixConfigAutoFieldTest) SetChoice(value PatternPrefixConfigAutoFieldTestChoiceEnum) PatternPrefixConfigAutoFieldTest { - intValue, ok := sanity.PatternPrefixConfigAutoFieldTest_Choice_Enum_value[string(value)] - if !ok { - obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( - "%s is not a valid choice on PatternPrefixConfigAutoFieldTestChoiceEnum", string(value))) - return obj - } - enumValue := sanity.PatternPrefixConfigAutoFieldTest_Choice_Enum(intValue) - obj.obj.Choice = &enumValue - obj.obj.Decrement = nil - obj.decrementHolder = nil - obj.obj.Increment = nil - obj.incrementHolder = nil - obj.obj.Auto = nil - obj.obj.Values = nil - obj.obj.Value = nil - - if value == PatternPrefixConfigAutoFieldTestChoice.VALUE { - defaultValue := uint32(0) - obj.obj.Value = &defaultValue - } - - if value == PatternPrefixConfigAutoFieldTestChoice.VALUES { - defaultValue := []uint32{0} - obj.obj.Values = defaultValue - } - - if value == PatternPrefixConfigAutoFieldTestChoice.AUTO { - defaultValue := uint32(0) - obj.obj.Auto = &defaultValue - } - - if value == PatternPrefixConfigAutoFieldTestChoice.INCREMENT { - obj.obj.Increment = NewPatternPrefixConfigAutoFieldTestCounter().Msg() - } - - if value == PatternPrefixConfigAutoFieldTestChoice.DECREMENT { - obj.obj.Decrement = NewPatternPrefixConfigAutoFieldTestCounter().Msg() - } - - return obj -} - -// description is TBD -// Value returns a uint32 -func (obj *patternPrefixConfigAutoFieldTest) Value() uint32 { - - if obj.obj.Value == nil { - obj.SetChoice(PatternPrefixConfigAutoFieldTestChoice.VALUE) - } - - return *obj.obj.Value - -} - -// description is TBD -// Value returns a uint32 -func (obj *patternPrefixConfigAutoFieldTest) HasValue() bool { - return obj.obj.Value != nil -} - -// description is TBD -// SetValue sets the uint32 value in the PatternPrefixConfigAutoFieldTest object -func (obj *patternPrefixConfigAutoFieldTest) SetValue(value uint32) PatternPrefixConfigAutoFieldTest { - obj.SetChoice(PatternPrefixConfigAutoFieldTestChoice.VALUE) - obj.obj.Value = &value - return obj -} - -// description is TBD -// Values returns a []uint32 -func (obj *patternPrefixConfigAutoFieldTest) Values() []uint32 { - if obj.obj.Values == nil { - obj.SetValues([]uint32{0}) - } - return obj.obj.Values -} - -// description is TBD -// SetValues sets the []uint32 value in the PatternPrefixConfigAutoFieldTest object -func (obj *patternPrefixConfigAutoFieldTest) SetValues(value []uint32) PatternPrefixConfigAutoFieldTest { - obj.SetChoice(PatternPrefixConfigAutoFieldTestChoice.VALUES) - if obj.obj.Values == nil { - obj.obj.Values = make([]uint32, 0) - } - obj.obj.Values = value - - return obj -} - -// The OTG implementation can provide a system generated -// value for this property. If the OTG is unable to generate a value -// the default value must be used. -// Auto returns a uint32 -func (obj *patternPrefixConfigAutoFieldTest) Auto() uint32 { - - if obj.obj.Auto == nil { - obj.SetChoice(PatternPrefixConfigAutoFieldTestChoice.AUTO) - } - - return *obj.obj.Auto - -} - -// The OTG implementation can provide a system generated -// value for this property. If the OTG is unable to generate a value -// the default value must be used. -// Auto returns a uint32 -func (obj *patternPrefixConfigAutoFieldTest) HasAuto() bool { - return obj.obj.Auto != nil -} - -// description is TBD -// Increment returns a PatternPrefixConfigAutoFieldTestCounter -func (obj *patternPrefixConfigAutoFieldTest) Increment() PatternPrefixConfigAutoFieldTestCounter { - if obj.obj.Increment == nil { - obj.SetChoice(PatternPrefixConfigAutoFieldTestChoice.INCREMENT) - } - if obj.incrementHolder == nil { - obj.incrementHolder = &patternPrefixConfigAutoFieldTestCounter{obj: obj.obj.Increment} - } - return obj.incrementHolder -} - -// description is TBD -// Increment returns a PatternPrefixConfigAutoFieldTestCounter -func (obj *patternPrefixConfigAutoFieldTest) HasIncrement() bool { - return obj.obj.Increment != nil -} - -// description is TBD -// SetIncrement sets the PatternPrefixConfigAutoFieldTestCounter value in the PatternPrefixConfigAutoFieldTest object -func (obj *patternPrefixConfigAutoFieldTest) SetIncrement(value PatternPrefixConfigAutoFieldTestCounter) PatternPrefixConfigAutoFieldTest { - obj.SetChoice(PatternPrefixConfigAutoFieldTestChoice.INCREMENT) - obj.incrementHolder = nil - obj.obj.Increment = value.Msg() - - return obj -} - -// description is TBD -// Decrement returns a PatternPrefixConfigAutoFieldTestCounter -func (obj *patternPrefixConfigAutoFieldTest) Decrement() PatternPrefixConfigAutoFieldTestCounter { - if obj.obj.Decrement == nil { - obj.SetChoice(PatternPrefixConfigAutoFieldTestChoice.DECREMENT) - } - if obj.decrementHolder == nil { - obj.decrementHolder = &patternPrefixConfigAutoFieldTestCounter{obj: obj.obj.Decrement} - } - return obj.decrementHolder -} - -// description is TBD -// Decrement returns a PatternPrefixConfigAutoFieldTestCounter -func (obj *patternPrefixConfigAutoFieldTest) HasDecrement() bool { - return obj.obj.Decrement != nil -} - -// description is TBD -// SetDecrement sets the PatternPrefixConfigAutoFieldTestCounter value in the PatternPrefixConfigAutoFieldTest object -func (obj *patternPrefixConfigAutoFieldTest) SetDecrement(value PatternPrefixConfigAutoFieldTestCounter) PatternPrefixConfigAutoFieldTest { - obj.SetChoice(PatternPrefixConfigAutoFieldTestChoice.DECREMENT) - obj.decrementHolder = nil - obj.obj.Decrement = value.Msg() - - return obj -} - -func (obj *patternPrefixConfigAutoFieldTest) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - if obj.obj.Value != nil { - - if *obj.obj.Value > 255 { - vObj.validationErrors = append( - vObj.validationErrors, - fmt.Sprintf("0 <= PatternPrefixConfigAutoFieldTest.Value <= 255 but Got %d", *obj.obj.Value)) - } - - } - - if obj.obj.Values != nil { - - for _, item := range obj.obj.Values { - if item > 255 { - vObj.validationErrors = append( - vObj.validationErrors, - fmt.Sprintf("min(uint32) <= PatternPrefixConfigAutoFieldTest.Values <= 255 but Got %d", item)) - } - - } - - } - - if obj.obj.Auto != nil { - - if *obj.obj.Auto > 255 { - vObj.validationErrors = append( - vObj.validationErrors, - fmt.Sprintf("0 <= PatternPrefixConfigAutoFieldTest.Auto <= 255 but Got %d", *obj.obj.Auto)) - } - - } - - if obj.obj.Increment != nil { - - obj.Increment().validateObj(vObj, set_default) - } - - if obj.obj.Decrement != nil { - - obj.Decrement().validateObj(vObj, set_default) - } - -} - -func (obj *patternPrefixConfigAutoFieldTest) setDefault() { - if obj.obj.Choice == nil { - obj.SetChoice(PatternPrefixConfigAutoFieldTestChoice.AUTO) - - } - -} - -// ***** WObject ***** -type wObject struct { - validation - obj *sanity.WObject -} - -func NewWObject() WObject { - obj := wObject{obj: &sanity.WObject{}} - obj.setDefault() - return &obj -} - -func (obj *wObject) Msg() *sanity.WObject { - return obj.obj -} - -func (obj *wObject) SetMsg(msg *sanity.WObject) WObject { - - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *wObject) ToProto() (*sanity.WObject, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *wObject) FromProto(msg *sanity.WObject) (WObject, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *wObject) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *wObject) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *wObject) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *wObject) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *wObject) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *wObject) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *wObject) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *wObject) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *wObject) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *wObject) Clone() (WObject, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewWObject() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -// WObject is description is TBD -type WObject interface { - Validation - // Msg marshals WObject to protobuf object *sanity.WObject - // and doesn't set defaults - Msg() *sanity.WObject - // SetMsg unmarshals WObject from protobuf object *sanity.WObject - // and doesn't set defaults - SetMsg(*sanity.WObject) WObject - // ToProto marshals WObject to protobuf object *sanity.WObject - ToProto() (*sanity.WObject, error) - // ToPbText marshals WObject to protobuf text - ToPbText() (string, error) - // ToYaml marshals WObject to YAML text - ToYaml() (string, error) - // ToJson marshals WObject to JSON text - ToJson() (string, error) - // FromProto unmarshals WObject from protobuf object *sanity.WObject - FromProto(msg *sanity.WObject) (WObject, error) - // FromPbText unmarshals WObject from protobuf text - FromPbText(value string) error - // FromYaml unmarshals WObject from YAML text - FromYaml(value string) error - // FromJson unmarshals WObject from JSON text - FromJson(value string) error - // Validate validates WObject - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (WObject, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // WName returns string, set in WObject. - WName() string - // SetWName assigns string provided by user to WObject - SetWName(value string) WObject -} - -// description is TBD -// WName returns a string -func (obj *wObject) WName() string { - - return obj.obj.WName -} - -// description is TBD -// SetWName sets the string value in the WObject object -func (obj *wObject) SetWName(value string) WObject { - - obj.obj.WName = value - return obj -} - -func (obj *wObject) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - // WName is required - if obj.obj.WName == "" { - vObj.validationErrors = append(vObj.validationErrors, "WName is required field on interface WObject") - } -} - -func (obj *wObject) setDefault() { - -} - -// ***** ZObject ***** -type zObject struct { - validation - obj *sanity.ZObject -} - -func NewZObject() ZObject { - obj := zObject{obj: &sanity.ZObject{}} - obj.setDefault() - return &obj -} - -func (obj *zObject) Msg() *sanity.ZObject { - return obj.obj -} - -func (obj *zObject) SetMsg(msg *sanity.ZObject) ZObject { - - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *zObject) ToProto() (*sanity.ZObject, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *zObject) FromProto(msg *sanity.ZObject) (ZObject, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *zObject) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *zObject) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *zObject) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *zObject) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *zObject) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *zObject) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *zObject) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *zObject) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *zObject) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *zObject) Clone() (ZObject, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewZObject() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -// ZObject is description is TBD -type ZObject interface { - Validation - // Msg marshals ZObject to protobuf object *sanity.ZObject - // and doesn't set defaults - Msg() *sanity.ZObject - // SetMsg unmarshals ZObject from protobuf object *sanity.ZObject - // and doesn't set defaults - SetMsg(*sanity.ZObject) ZObject - // ToProto marshals ZObject to protobuf object *sanity.ZObject - ToProto() (*sanity.ZObject, error) - // ToPbText marshals ZObject to protobuf text - ToPbText() (string, error) - // ToYaml marshals ZObject to YAML text - ToYaml() (string, error) - // ToJson marshals ZObject to JSON text - ToJson() (string, error) - // FromProto unmarshals ZObject from protobuf object *sanity.ZObject - FromProto(msg *sanity.ZObject) (ZObject, error) - // FromPbText unmarshals ZObject from protobuf text - FromPbText(value string) error - // FromYaml unmarshals ZObject from YAML text - FromYaml(value string) error - // FromJson unmarshals ZObject from JSON text - FromJson(value string) error - // Validate validates ZObject - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (ZObject, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // Name returns string, set in ZObject. - Name() string - // SetName assigns string provided by user to ZObject - SetName(value string) ZObject -} - -// description is TBD -// Name returns a string -func (obj *zObject) Name() string { - - return obj.obj.Name -} - -// description is TBD -// SetName sets the string value in the ZObject object -func (obj *zObject) SetName(value string) ZObject { - - obj.obj.Name = value - return obj -} - -func (obj *zObject) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - // Name is required - if obj.obj.Name == "" { - vObj.validationErrors = append(vObj.validationErrors, "Name is required field on interface ZObject") - } -} - -func (obj *zObject) setDefault() { - -} - -// ***** YObject ***** -type yObject struct { - validation - obj *sanity.YObject -} - -func NewYObject() YObject { - obj := yObject{obj: &sanity.YObject{}} - obj.setDefault() - return &obj -} - -func (obj *yObject) Msg() *sanity.YObject { - return obj.obj -} - -func (obj *yObject) SetMsg(msg *sanity.YObject) YObject { - - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *yObject) ToProto() (*sanity.YObject, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *yObject) FromProto(msg *sanity.YObject) (YObject, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *yObject) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *yObject) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *yObject) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *yObject) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *yObject) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *yObject) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *yObject) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *yObject) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *yObject) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *yObject) Clone() (YObject, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewYObject() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -// YObject is description is TBD -type YObject interface { - Validation - // Msg marshals YObject to protobuf object *sanity.YObject - // and doesn't set defaults - Msg() *sanity.YObject - // SetMsg unmarshals YObject from protobuf object *sanity.YObject - // and doesn't set defaults - SetMsg(*sanity.YObject) YObject - // ToProto marshals YObject to protobuf object *sanity.YObject - ToProto() (*sanity.YObject, error) - // ToPbText marshals YObject to protobuf text - ToPbText() (string, error) - // ToYaml marshals YObject to YAML text - ToYaml() (string, error) - // ToJson marshals YObject to JSON text - ToJson() (string, error) - // FromProto unmarshals YObject from protobuf object *sanity.YObject - FromProto(msg *sanity.YObject) (YObject, error) - // FromPbText unmarshals YObject from protobuf text - FromPbText(value string) error - // FromYaml unmarshals YObject from YAML text - FromYaml(value string) error - // FromJson unmarshals YObject from JSON text - FromJson(value string) error - // Validate validates YObject - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (YObject, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // YName returns string, set in YObject. - YName() string - // SetYName assigns string provided by user to YObject - SetYName(value string) YObject - // HasYName checks if YName has been set in YObject - HasYName() bool -} - -// TBD -// -// x-constraint: -// - /components/schemas/ZObject/properties/name -// - /components/schemas/WObject/properties/w_name -// -// YName returns a string -func (obj *yObject) YName() string { - - return *obj.obj.YName - -} - -// TBD -// -// x-constraint: -// - /components/schemas/ZObject/properties/name -// - /components/schemas/WObject/properties/w_name -// -// YName returns a string -func (obj *yObject) HasYName() bool { - return obj.obj.YName != nil -} - -// TBD -// -// x-constraint: -// - /components/schemas/ZObject/properties/name -// - /components/schemas/WObject/properties/w_name -// -// SetYName sets the string value in the YObject object -func (obj *yObject) SetYName(value string) YObject { - - obj.obj.YName = &value - return obj -} - -func (obj *yObject) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - -} - -func (obj *yObject) setDefault() { - -} - -// ***** ChoiceObject ***** -type choiceObject struct { - validation - obj *sanity.ChoiceObject - eObjHolder EObject - fObjHolder FObject -} - -func NewChoiceObject() ChoiceObject { - obj := choiceObject{obj: &sanity.ChoiceObject{}} - obj.setDefault() - return &obj -} - -func (obj *choiceObject) Msg() *sanity.ChoiceObject { - return obj.obj -} - -func (obj *choiceObject) SetMsg(msg *sanity.ChoiceObject) ChoiceObject { - obj.setNil() - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *choiceObject) ToProto() (*sanity.ChoiceObject, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *choiceObject) FromProto(msg *sanity.ChoiceObject) (ChoiceObject, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *choiceObject) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *choiceObject) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *choiceObject) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *choiceObject) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *choiceObject) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *choiceObject) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *choiceObject) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *choiceObject) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *choiceObject) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *choiceObject) Clone() (ChoiceObject, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewChoiceObject() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -func (obj *choiceObject) setNil() { - obj.eObjHolder = nil - obj.fObjHolder = nil - obj.validationErrors = nil - obj.warnings = nil - obj.constraints = make(map[string]map[string]Constraints) -} - -// ChoiceObject is description is TBD -type ChoiceObject interface { - Validation - // Msg marshals ChoiceObject to protobuf object *sanity.ChoiceObject - // and doesn't set defaults - Msg() *sanity.ChoiceObject - // SetMsg unmarshals ChoiceObject from protobuf object *sanity.ChoiceObject - // and doesn't set defaults - SetMsg(*sanity.ChoiceObject) ChoiceObject - // ToProto marshals ChoiceObject to protobuf object *sanity.ChoiceObject - ToProto() (*sanity.ChoiceObject, error) - // ToPbText marshals ChoiceObject to protobuf text - ToPbText() (string, error) - // ToYaml marshals ChoiceObject to YAML text - ToYaml() (string, error) - // ToJson marshals ChoiceObject to JSON text - ToJson() (string, error) - // FromProto unmarshals ChoiceObject from protobuf object *sanity.ChoiceObject - FromProto(msg *sanity.ChoiceObject) (ChoiceObject, error) - // FromPbText unmarshals ChoiceObject from protobuf text - FromPbText(value string) error - // FromYaml unmarshals ChoiceObject from YAML text - FromYaml(value string) error - // FromJson unmarshals ChoiceObject from JSON text - FromJson(value string) error - // Validate validates ChoiceObject - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (ChoiceObject, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // Choice returns ChoiceObjectChoiceEnum, set in ChoiceObject - Choice() ChoiceObjectChoiceEnum - // SetChoice assigns ChoiceObjectChoiceEnum provided by user to ChoiceObject - SetChoice(value ChoiceObjectChoiceEnum) ChoiceObject - // HasChoice checks if Choice has been set in ChoiceObject - HasChoice() bool - // EObj returns EObject, set in ChoiceObject. - // EObject is description is TBD - EObj() EObject - // SetEObj assigns EObject provided by user to ChoiceObject. - // EObject is description is TBD - SetEObj(value EObject) ChoiceObject - // HasEObj checks if EObj has been set in ChoiceObject - HasEObj() bool - // FObj returns FObject, set in ChoiceObject. - // FObject is description is TBD - FObj() FObject - // SetFObj assigns FObject provided by user to ChoiceObject. - // FObject is description is TBD - SetFObj(value FObject) ChoiceObject - // HasFObj checks if FObj has been set in ChoiceObject - HasFObj() bool - setNil() -} - -type ChoiceObjectChoiceEnum string - -// Enum of Choice on ChoiceObject -var ChoiceObjectChoice = struct { - E_OBJ ChoiceObjectChoiceEnum - F_OBJ ChoiceObjectChoiceEnum - NO_OBJ ChoiceObjectChoiceEnum -}{ - E_OBJ: ChoiceObjectChoiceEnum("e_obj"), - F_OBJ: ChoiceObjectChoiceEnum("f_obj"), - NO_OBJ: ChoiceObjectChoiceEnum("no_obj"), -} - -func (obj *choiceObject) Choice() ChoiceObjectChoiceEnum { - return ChoiceObjectChoiceEnum(obj.obj.Choice.Enum().String()) -} - -// description is TBD -// Choice returns a string -func (obj *choiceObject) HasChoice() bool { - return obj.obj.Choice != nil -} - -func (obj *choiceObject) SetChoice(value ChoiceObjectChoiceEnum) ChoiceObject { - intValue, ok := sanity.ChoiceObject_Choice_Enum_value[string(value)] - if !ok { - obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( - "%s is not a valid choice on ChoiceObjectChoiceEnum", string(value))) - return obj - } - enumValue := sanity.ChoiceObject_Choice_Enum(intValue) - obj.obj.Choice = &enumValue - obj.obj.FObj = nil - obj.fObjHolder = nil - obj.obj.EObj = nil - obj.eObjHolder = nil - - if value == ChoiceObjectChoice.E_OBJ { - obj.obj.EObj = NewEObject().Msg() - } - - if value == ChoiceObjectChoice.F_OBJ { - obj.obj.FObj = NewFObject().Msg() - } - - return obj -} - -// description is TBD -// EObj returns a EObject -func (obj *choiceObject) EObj() EObject { - if obj.obj.EObj == nil { - obj.SetChoice(ChoiceObjectChoice.E_OBJ) - } - if obj.eObjHolder == nil { - obj.eObjHolder = &eObject{obj: obj.obj.EObj} - } - return obj.eObjHolder -} - -// description is TBD -// EObj returns a EObject -func (obj *choiceObject) HasEObj() bool { - return obj.obj.EObj != nil -} - -// description is TBD -// SetEObj sets the EObject value in the ChoiceObject object -func (obj *choiceObject) SetEObj(value EObject) ChoiceObject { - obj.SetChoice(ChoiceObjectChoice.E_OBJ) - obj.eObjHolder = nil - obj.obj.EObj = value.Msg() - - return obj -} - -// description is TBD -// FObj returns a FObject -func (obj *choiceObject) FObj() FObject { - if obj.obj.FObj == nil { - obj.SetChoice(ChoiceObjectChoice.F_OBJ) - } - if obj.fObjHolder == nil { - obj.fObjHolder = &fObject{obj: obj.obj.FObj} - } - return obj.fObjHolder -} - -// description is TBD -// FObj returns a FObject -func (obj *choiceObject) HasFObj() bool { - return obj.obj.FObj != nil -} - -// description is TBD -// SetFObj sets the FObject value in the ChoiceObject object -func (obj *choiceObject) SetFObj(value FObject) ChoiceObject { - obj.SetChoice(ChoiceObjectChoice.F_OBJ) - obj.fObjHolder = nil - obj.obj.FObj = value.Msg() - - return obj -} - -func (obj *choiceObject) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - if obj.obj.EObj != nil { - - obj.EObj().validateObj(vObj, set_default) - } - - if obj.obj.FObj != nil { - - obj.FObj().validateObj(vObj, set_default) - } - -} - -func (obj *choiceObject) setDefault() { - if obj.obj.Choice == nil { - obj.SetChoice(ChoiceObjectChoice.NO_OBJ) - - } - -} - -// ***** RequiredChoiceParent ***** -type requiredChoiceParent struct { - validation - obj *sanity.RequiredChoiceParent - intermediateObjHolder RequiredChoiceIntermediate -} - -func NewRequiredChoiceParent() RequiredChoiceParent { - obj := requiredChoiceParent{obj: &sanity.RequiredChoiceParent{}} - obj.setDefault() - return &obj -} - -func (obj *requiredChoiceParent) Msg() *sanity.RequiredChoiceParent { - return obj.obj -} - -func (obj *requiredChoiceParent) SetMsg(msg *sanity.RequiredChoiceParent) RequiredChoiceParent { - obj.setNil() - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *requiredChoiceParent) ToProto() (*sanity.RequiredChoiceParent, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *requiredChoiceParent) FromProto(msg *sanity.RequiredChoiceParent) (RequiredChoiceParent, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *requiredChoiceParent) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *requiredChoiceParent) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *requiredChoiceParent) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *requiredChoiceParent) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *requiredChoiceParent) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *requiredChoiceParent) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *requiredChoiceParent) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *requiredChoiceParent) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *requiredChoiceParent) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *requiredChoiceParent) Clone() (RequiredChoiceParent, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewRequiredChoiceParent() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -func (obj *requiredChoiceParent) setNil() { - obj.intermediateObjHolder = nil - obj.validationErrors = nil - obj.warnings = nil - obj.constraints = make(map[string]map[string]Constraints) -} - -// RequiredChoiceParent is description is TBD -type RequiredChoiceParent interface { - Validation - // Msg marshals RequiredChoiceParent to protobuf object *sanity.RequiredChoiceParent - // and doesn't set defaults - Msg() *sanity.RequiredChoiceParent - // SetMsg unmarshals RequiredChoiceParent from protobuf object *sanity.RequiredChoiceParent - // and doesn't set defaults - SetMsg(*sanity.RequiredChoiceParent) RequiredChoiceParent - // ToProto marshals RequiredChoiceParent to protobuf object *sanity.RequiredChoiceParent - ToProto() (*sanity.RequiredChoiceParent, error) - // ToPbText marshals RequiredChoiceParent to protobuf text - ToPbText() (string, error) - // ToYaml marshals RequiredChoiceParent to YAML text - ToYaml() (string, error) - // ToJson marshals RequiredChoiceParent to JSON text - ToJson() (string, error) - // FromProto unmarshals RequiredChoiceParent from protobuf object *sanity.RequiredChoiceParent - FromProto(msg *sanity.RequiredChoiceParent) (RequiredChoiceParent, error) - // FromPbText unmarshals RequiredChoiceParent from protobuf text - FromPbText(value string) error - // FromYaml unmarshals RequiredChoiceParent from YAML text - FromYaml(value string) error - // FromJson unmarshals RequiredChoiceParent from JSON text - FromJson(value string) error - // Validate validates RequiredChoiceParent - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (RequiredChoiceParent, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // Choice returns RequiredChoiceParentChoiceEnum, set in RequiredChoiceParent - Choice() RequiredChoiceParentChoiceEnum - // SetChoice assigns RequiredChoiceParentChoiceEnum provided by user to RequiredChoiceParent - SetChoice(value RequiredChoiceParentChoiceEnum) RequiredChoiceParent - // IntermediateObj returns RequiredChoiceIntermediate, set in RequiredChoiceParent. - // RequiredChoiceIntermediate is description is TBD - IntermediateObj() RequiredChoiceIntermediate - // SetIntermediateObj assigns RequiredChoiceIntermediate provided by user to RequiredChoiceParent. - // RequiredChoiceIntermediate is description is TBD - SetIntermediateObj(value RequiredChoiceIntermediate) RequiredChoiceParent - // HasIntermediateObj checks if IntermediateObj has been set in RequiredChoiceParent - HasIntermediateObj() bool - setNil() -} - -type RequiredChoiceParentChoiceEnum string - -// Enum of Choice on RequiredChoiceParent -var RequiredChoiceParentChoice = struct { - INTERMEDIATE_OBJ RequiredChoiceParentChoiceEnum - NO_OBJ RequiredChoiceParentChoiceEnum -}{ - INTERMEDIATE_OBJ: RequiredChoiceParentChoiceEnum("intermediate_obj"), - NO_OBJ: RequiredChoiceParentChoiceEnum("no_obj"), -} - -func (obj *requiredChoiceParent) Choice() RequiredChoiceParentChoiceEnum { - return RequiredChoiceParentChoiceEnum(obj.obj.Choice.Enum().String()) -} - -func (obj *requiredChoiceParent) SetChoice(value RequiredChoiceParentChoiceEnum) RequiredChoiceParent { - intValue, ok := sanity.RequiredChoiceParent_Choice_Enum_value[string(value)] - if !ok { - obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( - "%s is not a valid choice on RequiredChoiceParentChoiceEnum", string(value))) - return obj - } - obj.obj.Choice = sanity.RequiredChoiceParent_Choice_Enum(intValue) - obj.obj.IntermediateObj = nil - obj.intermediateObjHolder = nil - - if value == RequiredChoiceParentChoice.INTERMEDIATE_OBJ { - obj.obj.IntermediateObj = NewRequiredChoiceIntermediate().Msg() - } - - return obj -} - -// description is TBD -// IntermediateObj returns a RequiredChoiceIntermediate -func (obj *requiredChoiceParent) IntermediateObj() RequiredChoiceIntermediate { - if obj.obj.IntermediateObj == nil { - obj.SetChoice(RequiredChoiceParentChoice.INTERMEDIATE_OBJ) - } - if obj.intermediateObjHolder == nil { - obj.intermediateObjHolder = &requiredChoiceIntermediate{obj: obj.obj.IntermediateObj} - } - return obj.intermediateObjHolder -} - -// description is TBD -// IntermediateObj returns a RequiredChoiceIntermediate -func (obj *requiredChoiceParent) HasIntermediateObj() bool { - return obj.obj.IntermediateObj != nil -} - -// description is TBD -// SetIntermediateObj sets the RequiredChoiceIntermediate value in the RequiredChoiceParent object -func (obj *requiredChoiceParent) SetIntermediateObj(value RequiredChoiceIntermediate) RequiredChoiceParent { - obj.SetChoice(RequiredChoiceParentChoice.INTERMEDIATE_OBJ) - obj.intermediateObjHolder = nil - obj.obj.IntermediateObj = value.Msg() - - return obj -} - -func (obj *requiredChoiceParent) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - // Choice is required - if obj.obj.Choice.Number() == 0 { - vObj.validationErrors = append(vObj.validationErrors, "Choice is required field on interface RequiredChoiceParent") - } - - if obj.obj.IntermediateObj != nil { - - obj.IntermediateObj().validateObj(vObj, set_default) - } - -} - -func (obj *requiredChoiceParent) setDefault() { - -} - -// ***** Error ***** -type _error struct { - validation - obj *sanity.Error -} - -func NewError() Error { - obj := _error{obj: &sanity.Error{}} - obj.setDefault() - return &obj -} - -func (obj *_error) Msg() *sanity.Error { - return obj.obj -} - -func (obj *_error) SetMsg(msg *sanity.Error) Error { - - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *_error) ToProto() (*sanity.Error, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *_error) FromProto(msg *sanity.Error) (Error, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *_error) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *_error) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *_error) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *_error) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *_error) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *_error) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *_error) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *_error) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *_error) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *_error) Clone() (Error, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewError() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -// Error is error response generated while serving API request. -type Error interface { - Validation - // Msg marshals Error to protobuf object *sanity.Error - // and doesn't set defaults - Msg() *sanity.Error - // SetMsg unmarshals Error from protobuf object *sanity.Error - // and doesn't set defaults - SetMsg(*sanity.Error) Error - // ToProto marshals Error to protobuf object *sanity.Error - ToProto() (*sanity.Error, error) - // ToPbText marshals Error to protobuf text - ToPbText() (string, error) - // ToYaml marshals Error to YAML text - ToYaml() (string, error) - // ToJson marshals Error to JSON text - ToJson() (string, error) - // FromProto unmarshals Error from protobuf object *sanity.Error - FromProto(msg *sanity.Error) (Error, error) - // FromPbText unmarshals Error from protobuf text - FromPbText(value string) error - // FromYaml unmarshals Error from YAML text - FromYaml(value string) error - // FromJson unmarshals Error from JSON text - FromJson(value string) error - // Validate validates Error - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (Error, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // Code returns int32, set in Error. - Code() int32 - // SetCode assigns int32 provided by user to Error - SetCode(value int32) Error - // Kind returns ErrorKindEnum, set in Error - Kind() ErrorKindEnum - // SetKind assigns ErrorKindEnum provided by user to Error - SetKind(value ErrorKindEnum) Error - // HasKind checks if Kind has been set in Error - HasKind() bool - // Errors returns []string, set in Error. - Errors() []string - // SetErrors assigns []string provided by user to Error - SetErrors(value []string) Error - // implement Error function for implementingnative Error Interface. - Error() string -} - -func (obj *_error) Error() string { - json, err := obj.ToJson() - if err != nil { - return fmt.Sprintf("could not convert Error to JSON: %v", err) - } - return json -} - -// Numeric status code based on underlying transport being used. -// Code returns a int32 -func (obj *_error) Code() int32 { - - return obj.obj.Code -} - -// Numeric status code based on underlying transport being used. -// SetCode sets the int32 value in the Error object -func (obj *_error) SetCode(value int32) Error { - - obj.obj.Code = value - return obj -} - -type ErrorKindEnum string - -// Enum of Kind on Error -var ErrorKind = struct { - TRANSPORT ErrorKindEnum - VALIDATION ErrorKindEnum - INTERNAL ErrorKindEnum -}{ - TRANSPORT: ErrorKindEnum("transport"), - VALIDATION: ErrorKindEnum("validation"), - INTERNAL: ErrorKindEnum("internal"), -} - -func (obj *_error) Kind() ErrorKindEnum { - return ErrorKindEnum(obj.obj.Kind.Enum().String()) -} - -// Kind of error message. -// Kind returns a string -func (obj *_error) HasKind() bool { - return obj.obj.Kind != nil -} - -func (obj *_error) SetKind(value ErrorKindEnum) Error { - intValue, ok := sanity.Error_Kind_Enum_value[string(value)] - if !ok { - obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( - "%s is not a valid choice on ErrorKindEnum", string(value))) - return obj - } - enumValue := sanity.Error_Kind_Enum(intValue) - obj.obj.Kind = &enumValue - - return obj -} - -// List of error messages generated while serving API request. -// Errors returns a []string -func (obj *_error) Errors() []string { - if obj.obj.Errors == nil { - obj.obj.Errors = make([]string, 0) - } - return obj.obj.Errors -} - -// List of error messages generated while serving API request. -// SetErrors sets the []string value in the Error object -func (obj *_error) SetErrors(value []string) Error { - - if obj.obj.Errors == nil { - obj.obj.Errors = make([]string, 0) - } - obj.obj.Errors = value - - return obj -} - -func (obj *_error) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - // Errors is required - if obj.obj.Errors == nil { - vObj.validationErrors = append(vObj.validationErrors, "Errors is required field on interface Error") - } -} - -func (obj *_error) setDefault() { - -} - -// ***** Metrics ***** -type metrics struct { - validation - obj *sanity.Metrics - portsHolder MetricsPortMetricIter - flowsHolder MetricsFlowMetricIter -} - -func NewMetrics() Metrics { - obj := metrics{obj: &sanity.Metrics{}} - obj.setDefault() - return &obj -} - -func (obj *metrics) Msg() *sanity.Metrics { - return obj.obj -} - -func (obj *metrics) SetMsg(msg *sanity.Metrics) Metrics { - obj.setNil() - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *metrics) ToProto() (*sanity.Metrics, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *metrics) FromProto(msg *sanity.Metrics) (Metrics, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *metrics) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *metrics) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *metrics) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *metrics) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *metrics) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *metrics) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *metrics) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *metrics) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *metrics) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *metrics) Clone() (Metrics, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewMetrics() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -func (obj *metrics) setNil() { - obj.portsHolder = nil - obj.flowsHolder = nil - obj.validationErrors = nil - obj.warnings = nil - obj.constraints = make(map[string]map[string]Constraints) -} - -// Metrics is description is TBD -type Metrics interface { - Validation - // Msg marshals Metrics to protobuf object *sanity.Metrics - // and doesn't set defaults - Msg() *sanity.Metrics - // SetMsg unmarshals Metrics from protobuf object *sanity.Metrics - // and doesn't set defaults - SetMsg(*sanity.Metrics) Metrics - // ToProto marshals Metrics to protobuf object *sanity.Metrics - ToProto() (*sanity.Metrics, error) - // ToPbText marshals Metrics to protobuf text - ToPbText() (string, error) - // ToYaml marshals Metrics to YAML text - ToYaml() (string, error) - // ToJson marshals Metrics to JSON text - ToJson() (string, error) - // FromProto unmarshals Metrics from protobuf object *sanity.Metrics - FromProto(msg *sanity.Metrics) (Metrics, error) - // FromPbText unmarshals Metrics from protobuf text - FromPbText(value string) error - // FromYaml unmarshals Metrics from YAML text - FromYaml(value string) error - // FromJson unmarshals Metrics from JSON text - FromJson(value string) error - // Validate validates Metrics - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (Metrics, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // Choice returns MetricsChoiceEnum, set in Metrics - Choice() MetricsChoiceEnum - // SetChoice assigns MetricsChoiceEnum provided by user to Metrics - SetChoice(value MetricsChoiceEnum) Metrics - // HasChoice checks if Choice has been set in Metrics - HasChoice() bool - // Ports returns MetricsPortMetricIterIter, set in Metrics - Ports() MetricsPortMetricIter - // Flows returns MetricsFlowMetricIterIter, set in Metrics - Flows() MetricsFlowMetricIter - setNil() -} - -type MetricsChoiceEnum string - -// Enum of Choice on Metrics -var MetricsChoice = struct { - PORTS MetricsChoiceEnum - FLOWS MetricsChoiceEnum -}{ - PORTS: MetricsChoiceEnum("ports"), - FLOWS: MetricsChoiceEnum("flows"), -} - -func (obj *metrics) Choice() MetricsChoiceEnum { - return MetricsChoiceEnum(obj.obj.Choice.Enum().String()) -} - -// description is TBD -// Choice returns a string -func (obj *metrics) HasChoice() bool { - return obj.obj.Choice != nil -} - -func (obj *metrics) SetChoice(value MetricsChoiceEnum) Metrics { - intValue, ok := sanity.Metrics_Choice_Enum_value[string(value)] - if !ok { - obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( - "%s is not a valid choice on MetricsChoiceEnum", string(value))) - return obj - } - enumValue := sanity.Metrics_Choice_Enum(intValue) - obj.obj.Choice = &enumValue - obj.obj.Flows = nil - obj.flowsHolder = nil - obj.obj.Ports = nil - obj.portsHolder = nil - - if value == MetricsChoice.PORTS { - obj.obj.Ports = []*sanity.PortMetric{} - } - - if value == MetricsChoice.FLOWS { - obj.obj.Flows = []*sanity.FlowMetric{} - } - - return obj -} - -// description is TBD -// Ports returns a []PortMetric -func (obj *metrics) Ports() MetricsPortMetricIter { - if len(obj.obj.Ports) == 0 { - obj.SetChoice(MetricsChoice.PORTS) - } - if obj.portsHolder == nil { - obj.portsHolder = newMetricsPortMetricIter(&obj.obj.Ports).setMsg(obj) - } - return obj.portsHolder -} - -type metricsPortMetricIter struct { - obj *metrics - portMetricSlice []PortMetric - fieldPtr *[]*sanity.PortMetric -} - -func newMetricsPortMetricIter(ptr *[]*sanity.PortMetric) MetricsPortMetricIter { - return &metricsPortMetricIter{fieldPtr: ptr} -} - -type MetricsPortMetricIter interface { - setMsg(*metrics) MetricsPortMetricIter - Items() []PortMetric - Add() PortMetric - Append(items ...PortMetric) MetricsPortMetricIter - Set(index int, newObj PortMetric) MetricsPortMetricIter - Clear() MetricsPortMetricIter - clearHolderSlice() MetricsPortMetricIter - appendHolderSlice(item PortMetric) MetricsPortMetricIter -} - -func (obj *metricsPortMetricIter) setMsg(msg *metrics) MetricsPortMetricIter { - obj.clearHolderSlice() - for _, val := range *obj.fieldPtr { - obj.appendHolderSlice(&portMetric{obj: val}) - } - obj.obj = msg - return obj -} - -func (obj *metricsPortMetricIter) Items() []PortMetric { - return obj.portMetricSlice -} - -func (obj *metricsPortMetricIter) Add() PortMetric { - newObj := &sanity.PortMetric{} - *obj.fieldPtr = append(*obj.fieldPtr, newObj) - newLibObj := &portMetric{obj: newObj} - newLibObj.setDefault() - obj.portMetricSlice = append(obj.portMetricSlice, newLibObj) - return newLibObj -} - -func (obj *metricsPortMetricIter) Append(items ...PortMetric) MetricsPortMetricIter { - for _, item := range items { - newObj := item.Msg() - *obj.fieldPtr = append(*obj.fieldPtr, newObj) - obj.portMetricSlice = append(obj.portMetricSlice, item) - } - return obj -} - -func (obj *metricsPortMetricIter) Set(index int, newObj PortMetric) MetricsPortMetricIter { - (*obj.fieldPtr)[index] = newObj.Msg() - obj.portMetricSlice[index] = newObj - return obj -} -func (obj *metricsPortMetricIter) Clear() MetricsPortMetricIter { - if len(*obj.fieldPtr) > 0 { - *obj.fieldPtr = []*sanity.PortMetric{} - obj.portMetricSlice = []PortMetric{} - } - return obj -} -func (obj *metricsPortMetricIter) clearHolderSlice() MetricsPortMetricIter { - if len(obj.portMetricSlice) > 0 { - obj.portMetricSlice = []PortMetric{} - } - return obj -} -func (obj *metricsPortMetricIter) appendHolderSlice(item PortMetric) MetricsPortMetricIter { - obj.portMetricSlice = append(obj.portMetricSlice, item) - return obj -} - -// description is TBD -// Flows returns a []FlowMetric -func (obj *metrics) Flows() MetricsFlowMetricIter { - if len(obj.obj.Flows) == 0 { - obj.SetChoice(MetricsChoice.FLOWS) - } - if obj.flowsHolder == nil { - obj.flowsHolder = newMetricsFlowMetricIter(&obj.obj.Flows).setMsg(obj) - } - return obj.flowsHolder -} - -type metricsFlowMetricIter struct { - obj *metrics - flowMetricSlice []FlowMetric - fieldPtr *[]*sanity.FlowMetric -} - -func newMetricsFlowMetricIter(ptr *[]*sanity.FlowMetric) MetricsFlowMetricIter { - return &metricsFlowMetricIter{fieldPtr: ptr} -} - -type MetricsFlowMetricIter interface { - setMsg(*metrics) MetricsFlowMetricIter - Items() []FlowMetric - Add() FlowMetric - Append(items ...FlowMetric) MetricsFlowMetricIter - Set(index int, newObj FlowMetric) MetricsFlowMetricIter - Clear() MetricsFlowMetricIter - clearHolderSlice() MetricsFlowMetricIter - appendHolderSlice(item FlowMetric) MetricsFlowMetricIter -} - -func (obj *metricsFlowMetricIter) setMsg(msg *metrics) MetricsFlowMetricIter { - obj.clearHolderSlice() - for _, val := range *obj.fieldPtr { - obj.appendHolderSlice(&flowMetric{obj: val}) - } - obj.obj = msg - return obj -} - -func (obj *metricsFlowMetricIter) Items() []FlowMetric { - return obj.flowMetricSlice -} - -func (obj *metricsFlowMetricIter) Add() FlowMetric { - newObj := &sanity.FlowMetric{} - *obj.fieldPtr = append(*obj.fieldPtr, newObj) - newLibObj := &flowMetric{obj: newObj} - newLibObj.setDefault() - obj.flowMetricSlice = append(obj.flowMetricSlice, newLibObj) - return newLibObj -} - -func (obj *metricsFlowMetricIter) Append(items ...FlowMetric) MetricsFlowMetricIter { - for _, item := range items { - newObj := item.Msg() - *obj.fieldPtr = append(*obj.fieldPtr, newObj) - obj.flowMetricSlice = append(obj.flowMetricSlice, item) - } - return obj -} - -func (obj *metricsFlowMetricIter) Set(index int, newObj FlowMetric) MetricsFlowMetricIter { - (*obj.fieldPtr)[index] = newObj.Msg() - obj.flowMetricSlice[index] = newObj - return obj -} -func (obj *metricsFlowMetricIter) Clear() MetricsFlowMetricIter { - if len(*obj.fieldPtr) > 0 { - *obj.fieldPtr = []*sanity.FlowMetric{} - obj.flowMetricSlice = []FlowMetric{} - } - return obj -} -func (obj *metricsFlowMetricIter) clearHolderSlice() MetricsFlowMetricIter { - if len(obj.flowMetricSlice) > 0 { - obj.flowMetricSlice = []FlowMetric{} - } - return obj -} -func (obj *metricsFlowMetricIter) appendHolderSlice(item FlowMetric) MetricsFlowMetricIter { - obj.flowMetricSlice = append(obj.flowMetricSlice, item) - return obj -} - -func (obj *metrics) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - if len(obj.obj.Ports) != 0 { - - if set_default { - obj.Ports().clearHolderSlice() - for _, item := range obj.obj.Ports { - obj.Ports().appendHolderSlice(&portMetric{obj: item}) - } - } - for _, item := range obj.Ports().Items() { - item.validateObj(vObj, set_default) - } - - } - - if len(obj.obj.Flows) != 0 { - - if set_default { - obj.Flows().clearHolderSlice() - for _, item := range obj.obj.Flows { - obj.Flows().appendHolderSlice(&flowMetric{obj: item}) - } - } - for _, item := range obj.Flows().Items() { - item.validateObj(vObj, set_default) - } - - } - -} - -func (obj *metrics) setDefault() { - if obj.obj.Choice == nil { - obj.SetChoice(MetricsChoice.PORTS) - - } - -} - -// ***** WarningDetails ***** -type warningDetails struct { - validation - obj *sanity.WarningDetails -} - -func NewWarningDetails() WarningDetails { - obj := warningDetails{obj: &sanity.WarningDetails{}} - obj.setDefault() - return &obj -} - -func (obj *warningDetails) Msg() *sanity.WarningDetails { - return obj.obj -} - -func (obj *warningDetails) SetMsg(msg *sanity.WarningDetails) WarningDetails { - - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *warningDetails) ToProto() (*sanity.WarningDetails, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *warningDetails) FromProto(msg *sanity.WarningDetails) (WarningDetails, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *warningDetails) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *warningDetails) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *warningDetails) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *warningDetails) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *warningDetails) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *warningDetails) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *warningDetails) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *warningDetails) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *warningDetails) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *warningDetails) Clone() (WarningDetails, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewWarningDetails() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -// WarningDetails is description is TBD -type WarningDetails interface { - Validation - // Msg marshals WarningDetails to protobuf object *sanity.WarningDetails - // and doesn't set defaults - Msg() *sanity.WarningDetails - // SetMsg unmarshals WarningDetails from protobuf object *sanity.WarningDetails - // and doesn't set defaults - SetMsg(*sanity.WarningDetails) WarningDetails - // ToProto marshals WarningDetails to protobuf object *sanity.WarningDetails - ToProto() (*sanity.WarningDetails, error) - // ToPbText marshals WarningDetails to protobuf text - ToPbText() (string, error) - // ToYaml marshals WarningDetails to YAML text - ToYaml() (string, error) - // ToJson marshals WarningDetails to JSON text - ToJson() (string, error) - // FromProto unmarshals WarningDetails from protobuf object *sanity.WarningDetails - FromProto(msg *sanity.WarningDetails) (WarningDetails, error) - // FromPbText unmarshals WarningDetails from protobuf text - FromPbText(value string) error - // FromYaml unmarshals WarningDetails from YAML text - FromYaml(value string) error - // FromJson unmarshals WarningDetails from JSON text - FromJson(value string) error - // Validate validates WarningDetails - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (WarningDetails, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // Warnings returns []string, set in WarningDetails. - Warnings() []string - // SetWarnings assigns []string provided by user to WarningDetails - SetWarnings(value []string) WarningDetails -} - -// description is TBD -// Warnings returns a []string -func (obj *warningDetails) Warnings() []string { - if obj.obj.Warnings == nil { - obj.obj.Warnings = make([]string, 0) - } - return obj.obj.Warnings -} - -// description is TBD -// SetWarnings sets the []string value in the WarningDetails object -func (obj *warningDetails) SetWarnings(value []string) WarningDetails { - - if obj.obj.Warnings == nil { - obj.obj.Warnings = make([]string, 0) - } - obj.obj.Warnings = value - - return obj -} - -func (obj *warningDetails) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - -} - -func (obj *warningDetails) setDefault() { - -} - -// ***** CommonResponseSuccess ***** -type commonResponseSuccess struct { - validation - obj *sanity.CommonResponseSuccess -} - -func NewCommonResponseSuccess() CommonResponseSuccess { - obj := commonResponseSuccess{obj: &sanity.CommonResponseSuccess{}} - obj.setDefault() - return &obj -} - -func (obj *commonResponseSuccess) Msg() *sanity.CommonResponseSuccess { - return obj.obj -} - -func (obj *commonResponseSuccess) SetMsg(msg *sanity.CommonResponseSuccess) CommonResponseSuccess { - - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *commonResponseSuccess) ToProto() (*sanity.CommonResponseSuccess, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *commonResponseSuccess) FromProto(msg *sanity.CommonResponseSuccess) (CommonResponseSuccess, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *commonResponseSuccess) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *commonResponseSuccess) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *commonResponseSuccess) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *commonResponseSuccess) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *commonResponseSuccess) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *commonResponseSuccess) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *commonResponseSuccess) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *commonResponseSuccess) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *commonResponseSuccess) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *commonResponseSuccess) Clone() (CommonResponseSuccess, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewCommonResponseSuccess() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -// CommonResponseSuccess is description is TBD -type CommonResponseSuccess interface { - Validation - // Msg marshals CommonResponseSuccess to protobuf object *sanity.CommonResponseSuccess - // and doesn't set defaults - Msg() *sanity.CommonResponseSuccess - // SetMsg unmarshals CommonResponseSuccess from protobuf object *sanity.CommonResponseSuccess - // and doesn't set defaults - SetMsg(*sanity.CommonResponseSuccess) CommonResponseSuccess - // ToProto marshals CommonResponseSuccess to protobuf object *sanity.CommonResponseSuccess - ToProto() (*sanity.CommonResponseSuccess, error) - // ToPbText marshals CommonResponseSuccess to protobuf text - ToPbText() (string, error) - // ToYaml marshals CommonResponseSuccess to YAML text - ToYaml() (string, error) - // ToJson marshals CommonResponseSuccess to JSON text - ToJson() (string, error) - // FromProto unmarshals CommonResponseSuccess from protobuf object *sanity.CommonResponseSuccess - FromProto(msg *sanity.CommonResponseSuccess) (CommonResponseSuccess, error) - // FromPbText unmarshals CommonResponseSuccess from protobuf text - FromPbText(value string) error - // FromYaml unmarshals CommonResponseSuccess from YAML text - FromYaml(value string) error - // FromJson unmarshals CommonResponseSuccess from JSON text - FromJson(value string) error - // Validate validates CommonResponseSuccess - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (CommonResponseSuccess, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // Message returns string, set in CommonResponseSuccess. - Message() string - // SetMessage assigns string provided by user to CommonResponseSuccess - SetMessage(value string) CommonResponseSuccess - // HasMessage checks if Message has been set in CommonResponseSuccess - HasMessage() bool -} - -// description is TBD -// Message returns a string -func (obj *commonResponseSuccess) Message() string { - - return *obj.obj.Message - -} - -// description is TBD -// Message returns a string -func (obj *commonResponseSuccess) HasMessage() bool { - return obj.obj.Message != nil -} - -// description is TBD -// SetMessage sets the string value in the CommonResponseSuccess object -func (obj *commonResponseSuccess) SetMessage(value string) CommonResponseSuccess { - - obj.obj.Message = &value - return obj -} - -func (obj *commonResponseSuccess) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - -} - -func (obj *commonResponseSuccess) setDefault() { - -} - -// ***** ServiceAbcItemList ***** -type serviceAbcItemList struct { - validation - obj *sanity.ServiceAbcItemList - itemsHolder ServiceAbcItemListServiceAbcItemIter -} - -func NewServiceAbcItemList() ServiceAbcItemList { - obj := serviceAbcItemList{obj: &sanity.ServiceAbcItemList{}} - obj.setDefault() - return &obj -} - -func (obj *serviceAbcItemList) Msg() *sanity.ServiceAbcItemList { - return obj.obj -} - -func (obj *serviceAbcItemList) SetMsg(msg *sanity.ServiceAbcItemList) ServiceAbcItemList { - obj.setNil() - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *serviceAbcItemList) ToProto() (*sanity.ServiceAbcItemList, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *serviceAbcItemList) FromProto(msg *sanity.ServiceAbcItemList) (ServiceAbcItemList, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *serviceAbcItemList) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *serviceAbcItemList) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *serviceAbcItemList) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *serviceAbcItemList) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *serviceAbcItemList) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *serviceAbcItemList) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *serviceAbcItemList) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *serviceAbcItemList) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *serviceAbcItemList) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *serviceAbcItemList) Clone() (ServiceAbcItemList, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewServiceAbcItemList() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -func (obj *serviceAbcItemList) setNil() { - obj.itemsHolder = nil - obj.validationErrors = nil - obj.warnings = nil - obj.constraints = make(map[string]map[string]Constraints) -} - -// ServiceAbcItemList is description is TBD -type ServiceAbcItemList interface { - Validation - // Msg marshals ServiceAbcItemList to protobuf object *sanity.ServiceAbcItemList - // and doesn't set defaults - Msg() *sanity.ServiceAbcItemList - // SetMsg unmarshals ServiceAbcItemList from protobuf object *sanity.ServiceAbcItemList - // and doesn't set defaults - SetMsg(*sanity.ServiceAbcItemList) ServiceAbcItemList - // ToProto marshals ServiceAbcItemList to protobuf object *sanity.ServiceAbcItemList - ToProto() (*sanity.ServiceAbcItemList, error) - // ToPbText marshals ServiceAbcItemList to protobuf text - ToPbText() (string, error) - // ToYaml marshals ServiceAbcItemList to YAML text - ToYaml() (string, error) - // ToJson marshals ServiceAbcItemList to JSON text - ToJson() (string, error) - // FromProto unmarshals ServiceAbcItemList from protobuf object *sanity.ServiceAbcItemList - FromProto(msg *sanity.ServiceAbcItemList) (ServiceAbcItemList, error) - // FromPbText unmarshals ServiceAbcItemList from protobuf text - FromPbText(value string) error - // FromYaml unmarshals ServiceAbcItemList from YAML text - FromYaml(value string) error - // FromJson unmarshals ServiceAbcItemList from JSON text - FromJson(value string) error - // Validate validates ServiceAbcItemList - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (ServiceAbcItemList, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // Items returns ServiceAbcItemListServiceAbcItemIterIter, set in ServiceAbcItemList - Items() ServiceAbcItemListServiceAbcItemIter - setNil() -} - -// description is TBD -// Items returns a []ServiceAbcItem -func (obj *serviceAbcItemList) Items() ServiceAbcItemListServiceAbcItemIter { - if len(obj.obj.Items) == 0 { - obj.obj.Items = []*sanity.ServiceAbcItem{} - } - if obj.itemsHolder == nil { - obj.itemsHolder = newServiceAbcItemListServiceAbcItemIter(&obj.obj.Items).setMsg(obj) - } - return obj.itemsHolder -} - -type serviceAbcItemListServiceAbcItemIter struct { - obj *serviceAbcItemList - serviceAbcItemSlice []ServiceAbcItem - fieldPtr *[]*sanity.ServiceAbcItem -} - -func newServiceAbcItemListServiceAbcItemIter(ptr *[]*sanity.ServiceAbcItem) ServiceAbcItemListServiceAbcItemIter { - return &serviceAbcItemListServiceAbcItemIter{fieldPtr: ptr} -} - -type ServiceAbcItemListServiceAbcItemIter interface { - setMsg(*serviceAbcItemList) ServiceAbcItemListServiceAbcItemIter - Items() []ServiceAbcItem - Add() ServiceAbcItem - Append(items ...ServiceAbcItem) ServiceAbcItemListServiceAbcItemIter - Set(index int, newObj ServiceAbcItem) ServiceAbcItemListServiceAbcItemIter - Clear() ServiceAbcItemListServiceAbcItemIter - clearHolderSlice() ServiceAbcItemListServiceAbcItemIter - appendHolderSlice(item ServiceAbcItem) ServiceAbcItemListServiceAbcItemIter -} - -func (obj *serviceAbcItemListServiceAbcItemIter) setMsg(msg *serviceAbcItemList) ServiceAbcItemListServiceAbcItemIter { - obj.clearHolderSlice() - for _, val := range *obj.fieldPtr { - obj.appendHolderSlice(&serviceAbcItem{obj: val}) - } - obj.obj = msg - return obj -} - -func (obj *serviceAbcItemListServiceAbcItemIter) Items() []ServiceAbcItem { - return obj.serviceAbcItemSlice -} - -func (obj *serviceAbcItemListServiceAbcItemIter) Add() ServiceAbcItem { - newObj := &sanity.ServiceAbcItem{} - *obj.fieldPtr = append(*obj.fieldPtr, newObj) - newLibObj := &serviceAbcItem{obj: newObj} - newLibObj.setDefault() - obj.serviceAbcItemSlice = append(obj.serviceAbcItemSlice, newLibObj) - return newLibObj -} - -func (obj *serviceAbcItemListServiceAbcItemIter) Append(items ...ServiceAbcItem) ServiceAbcItemListServiceAbcItemIter { - for _, item := range items { - newObj := item.Msg() - *obj.fieldPtr = append(*obj.fieldPtr, newObj) - obj.serviceAbcItemSlice = append(obj.serviceAbcItemSlice, item) - } - return obj -} - -func (obj *serviceAbcItemListServiceAbcItemIter) Set(index int, newObj ServiceAbcItem) ServiceAbcItemListServiceAbcItemIter { - (*obj.fieldPtr)[index] = newObj.Msg() - obj.serviceAbcItemSlice[index] = newObj - return obj -} -func (obj *serviceAbcItemListServiceAbcItemIter) Clear() ServiceAbcItemListServiceAbcItemIter { - if len(*obj.fieldPtr) > 0 { - *obj.fieldPtr = []*sanity.ServiceAbcItem{} - obj.serviceAbcItemSlice = []ServiceAbcItem{} - } - return obj -} -func (obj *serviceAbcItemListServiceAbcItemIter) clearHolderSlice() ServiceAbcItemListServiceAbcItemIter { - if len(obj.serviceAbcItemSlice) > 0 { - obj.serviceAbcItemSlice = []ServiceAbcItem{} - } - return obj -} -func (obj *serviceAbcItemListServiceAbcItemIter) appendHolderSlice(item ServiceAbcItem) ServiceAbcItemListServiceAbcItemIter { - obj.serviceAbcItemSlice = append(obj.serviceAbcItemSlice, item) - return obj -} - -func (obj *serviceAbcItemList) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - if len(obj.obj.Items) != 0 { - - if set_default { - obj.Items().clearHolderSlice() - for _, item := range obj.obj.Items { - obj.Items().appendHolderSlice(&serviceAbcItem{obj: item}) - } - } - for _, item := range obj.Items().Items() { - item.validateObj(vObj, set_default) - } - - } - -} - -func (obj *serviceAbcItemList) setDefault() { - -} - -// ***** ServiceAbcItem ***** -type serviceAbcItem struct { - validation - obj *sanity.ServiceAbcItem -} - -func NewServiceAbcItem() ServiceAbcItem { - obj := serviceAbcItem{obj: &sanity.ServiceAbcItem{}} - obj.setDefault() - return &obj -} - -func (obj *serviceAbcItem) Msg() *sanity.ServiceAbcItem { - return obj.obj -} - -func (obj *serviceAbcItem) SetMsg(msg *sanity.ServiceAbcItem) ServiceAbcItem { - - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *serviceAbcItem) ToProto() (*sanity.ServiceAbcItem, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *serviceAbcItem) FromProto(msg *sanity.ServiceAbcItem) (ServiceAbcItem, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *serviceAbcItem) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *serviceAbcItem) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *serviceAbcItem) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *serviceAbcItem) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *serviceAbcItem) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *serviceAbcItem) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *serviceAbcItem) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *serviceAbcItem) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *serviceAbcItem) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *serviceAbcItem) Clone() (ServiceAbcItem, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewServiceAbcItem() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -// ServiceAbcItem is description is TBD -type ServiceAbcItem interface { - Validation - // Msg marshals ServiceAbcItem to protobuf object *sanity.ServiceAbcItem - // and doesn't set defaults - Msg() *sanity.ServiceAbcItem - // SetMsg unmarshals ServiceAbcItem from protobuf object *sanity.ServiceAbcItem - // and doesn't set defaults - SetMsg(*sanity.ServiceAbcItem) ServiceAbcItem - // ToProto marshals ServiceAbcItem to protobuf object *sanity.ServiceAbcItem - ToProto() (*sanity.ServiceAbcItem, error) - // ToPbText marshals ServiceAbcItem to protobuf text - ToPbText() (string, error) - // ToYaml marshals ServiceAbcItem to YAML text - ToYaml() (string, error) - // ToJson marshals ServiceAbcItem to JSON text - ToJson() (string, error) - // FromProto unmarshals ServiceAbcItem from protobuf object *sanity.ServiceAbcItem - FromProto(msg *sanity.ServiceAbcItem) (ServiceAbcItem, error) - // FromPbText unmarshals ServiceAbcItem from protobuf text - FromPbText(value string) error - // FromYaml unmarshals ServiceAbcItem from YAML text - FromYaml(value string) error - // FromJson unmarshals ServiceAbcItem from JSON text - FromJson(value string) error - // Validate validates ServiceAbcItem - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (ServiceAbcItem, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // SomeId returns string, set in ServiceAbcItem. - SomeId() string - // SetSomeId assigns string provided by user to ServiceAbcItem - SetSomeId(value string) ServiceAbcItem - // HasSomeId checks if SomeId has been set in ServiceAbcItem - HasSomeId() bool - // SomeString returns string, set in ServiceAbcItem. - SomeString() string - // SetSomeString assigns string provided by user to ServiceAbcItem - SetSomeString(value string) ServiceAbcItem - // HasSomeString checks if SomeString has been set in ServiceAbcItem - HasSomeString() bool - // PathId returns string, set in ServiceAbcItem. - PathId() string - // SetPathId assigns string provided by user to ServiceAbcItem - SetPathId(value string) ServiceAbcItem - // HasPathId checks if PathId has been set in ServiceAbcItem - HasPathId() bool - // Level2 returns string, set in ServiceAbcItem. - Level2() string - // SetLevel2 assigns string provided by user to ServiceAbcItem - SetLevel2(value string) ServiceAbcItem - // HasLevel2 checks if Level2 has been set in ServiceAbcItem - HasLevel2() bool -} - -// description is TBD -// SomeId returns a string -func (obj *serviceAbcItem) SomeId() string { - - return *obj.obj.SomeId - -} - -// description is TBD -// SomeId returns a string -func (obj *serviceAbcItem) HasSomeId() bool { - return obj.obj.SomeId != nil -} - -// description is TBD -// SetSomeId sets the string value in the ServiceAbcItem object -func (obj *serviceAbcItem) SetSomeId(value string) ServiceAbcItem { - - obj.obj.SomeId = &value - return obj -} - -// description is TBD -// SomeString returns a string -func (obj *serviceAbcItem) SomeString() string { - - return *obj.obj.SomeString - -} - -// description is TBD -// SomeString returns a string -func (obj *serviceAbcItem) HasSomeString() bool { - return obj.obj.SomeString != nil -} - -// description is TBD -// SetSomeString sets the string value in the ServiceAbcItem object -func (obj *serviceAbcItem) SetSomeString(value string) ServiceAbcItem { - - obj.obj.SomeString = &value - return obj -} - -// description is TBD -// PathId returns a string -func (obj *serviceAbcItem) PathId() string { - - return *obj.obj.PathId - -} - -// description is TBD -// PathId returns a string -func (obj *serviceAbcItem) HasPathId() bool { - return obj.obj.PathId != nil -} - -// description is TBD -// SetPathId sets the string value in the ServiceAbcItem object -func (obj *serviceAbcItem) SetPathId(value string) ServiceAbcItem { - - obj.obj.PathId = &value - return obj -} - -// description is TBD -// Level2 returns a string -func (obj *serviceAbcItem) Level2() string { - - return *obj.obj.Level_2 - -} - -// description is TBD -// Level2 returns a string -func (obj *serviceAbcItem) HasLevel2() bool { - return obj.obj.Level_2 != nil -} - -// description is TBD -// SetLevel2 sets the string value in the ServiceAbcItem object -func (obj *serviceAbcItem) SetLevel2(value string) ServiceAbcItem { - - obj.obj.Level_2 = &value - return obj -} - -func (obj *serviceAbcItem) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - -} - -func (obj *serviceAbcItem) setDefault() { - -} - -// ***** Version ***** -type version struct { - validation - obj *sanity.Version -} - -func NewVersion() Version { - obj := version{obj: &sanity.Version{}} - obj.setDefault() - return &obj -} - -func (obj *version) Msg() *sanity.Version { - return obj.obj -} - -func (obj *version) SetMsg(msg *sanity.Version) Version { - - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *version) ToProto() (*sanity.Version, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *version) FromProto(msg *sanity.Version) (Version, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *version) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *version) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *version) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *version) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *version) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *version) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *version) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *version) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *version) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *version) Clone() (Version, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewVersion() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -// Version is version details -type Version interface { - Validation - // Msg marshals Version to protobuf object *sanity.Version - // and doesn't set defaults - Msg() *sanity.Version - // SetMsg unmarshals Version from protobuf object *sanity.Version - // and doesn't set defaults - SetMsg(*sanity.Version) Version - // ToProto marshals Version to protobuf object *sanity.Version - ToProto() (*sanity.Version, error) - // ToPbText marshals Version to protobuf text - ToPbText() (string, error) - // ToYaml marshals Version to YAML text - ToYaml() (string, error) - // ToJson marshals Version to JSON text - ToJson() (string, error) - // FromProto unmarshals Version from protobuf object *sanity.Version - FromProto(msg *sanity.Version) (Version, error) - // FromPbText unmarshals Version from protobuf text - FromPbText(value string) error - // FromYaml unmarshals Version from YAML text - FromYaml(value string) error - // FromJson unmarshals Version from JSON text - FromJson(value string) error - // Validate validates Version - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (Version, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // ApiSpecVersion returns string, set in Version. - ApiSpecVersion() string - // SetApiSpecVersion assigns string provided by user to Version - SetApiSpecVersion(value string) Version - // HasApiSpecVersion checks if ApiSpecVersion has been set in Version - HasApiSpecVersion() bool - // SdkVersion returns string, set in Version. - SdkVersion() string - // SetSdkVersion assigns string provided by user to Version - SetSdkVersion(value string) Version - // HasSdkVersion checks if SdkVersion has been set in Version - HasSdkVersion() bool - // AppVersion returns string, set in Version. - AppVersion() string - // SetAppVersion assigns string provided by user to Version - SetAppVersion(value string) Version - // HasAppVersion checks if AppVersion has been set in Version - HasAppVersion() bool -} - -// Version of API specification -// ApiSpecVersion returns a string -func (obj *version) ApiSpecVersion() string { - - return *obj.obj.ApiSpecVersion - -} - -// Version of API specification -// ApiSpecVersion returns a string -func (obj *version) HasApiSpecVersion() bool { - return obj.obj.ApiSpecVersion != nil -} - -// Version of API specification -// SetApiSpecVersion sets the string value in the Version object -func (obj *version) SetApiSpecVersion(value string) Version { - - obj.obj.ApiSpecVersion = &value - return obj -} - -// Version of SDK generated from API specification -// SdkVersion returns a string -func (obj *version) SdkVersion() string { - - return *obj.obj.SdkVersion - -} - -// Version of SDK generated from API specification -// SdkVersion returns a string -func (obj *version) HasSdkVersion() bool { - return obj.obj.SdkVersion != nil -} - -// Version of SDK generated from API specification -// SetSdkVersion sets the string value in the Version object -func (obj *version) SetSdkVersion(value string) Version { - - obj.obj.SdkVersion = &value - return obj -} - -// Version of application consuming or serving the API -// AppVersion returns a string -func (obj *version) AppVersion() string { - - return *obj.obj.AppVersion - -} - -// Version of application consuming or serving the API -// AppVersion returns a string -func (obj *version) HasAppVersion() bool { - return obj.obj.AppVersion != nil -} - -// Version of application consuming or serving the API -// SetAppVersion sets the string value in the Version object -func (obj *version) SetAppVersion(value string) Version { - - obj.obj.AppVersion = &value - return obj -} - -func (obj *version) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - -} - -func (obj *version) setDefault() { - if obj.obj.ApiSpecVersion == nil { - obj.SetApiSpecVersion("") - } - if obj.obj.SdkVersion == nil { - obj.SetSdkVersion("") - } - if obj.obj.AppVersion == nil { - obj.SetAppVersion("") - } - -} - -// ***** LevelTwo ***** -type levelTwo struct { - validation - obj *sanity.LevelTwo - l2P1Holder LevelThree -} - -func NewLevelTwo() LevelTwo { - obj := levelTwo{obj: &sanity.LevelTwo{}} - obj.setDefault() - return &obj -} - -func (obj *levelTwo) Msg() *sanity.LevelTwo { - return obj.obj -} - -func (obj *levelTwo) SetMsg(msg *sanity.LevelTwo) LevelTwo { - obj.setNil() - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *levelTwo) ToProto() (*sanity.LevelTwo, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *levelTwo) FromProto(msg *sanity.LevelTwo) (LevelTwo, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *levelTwo) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *levelTwo) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *levelTwo) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *levelTwo) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *levelTwo) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *levelTwo) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *levelTwo) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *levelTwo) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *levelTwo) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *levelTwo) Clone() (LevelTwo, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewLevelTwo() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -func (obj *levelTwo) setNil() { - obj.l2P1Holder = nil - obj.validationErrors = nil - obj.warnings = nil - obj.constraints = make(map[string]map[string]Constraints) -} - -// LevelTwo is test Level 2 -type LevelTwo interface { - Validation - // Msg marshals LevelTwo to protobuf object *sanity.LevelTwo - // and doesn't set defaults - Msg() *sanity.LevelTwo - // SetMsg unmarshals LevelTwo from protobuf object *sanity.LevelTwo - // and doesn't set defaults - SetMsg(*sanity.LevelTwo) LevelTwo - // ToProto marshals LevelTwo to protobuf object *sanity.LevelTwo - ToProto() (*sanity.LevelTwo, error) - // ToPbText marshals LevelTwo to protobuf text - ToPbText() (string, error) - // ToYaml marshals LevelTwo to YAML text - ToYaml() (string, error) - // ToJson marshals LevelTwo to JSON text - ToJson() (string, error) - // FromProto unmarshals LevelTwo from protobuf object *sanity.LevelTwo - FromProto(msg *sanity.LevelTwo) (LevelTwo, error) - // FromPbText unmarshals LevelTwo from protobuf text - FromPbText(value string) error - // FromYaml unmarshals LevelTwo from YAML text - FromYaml(value string) error - // FromJson unmarshals LevelTwo from JSON text - FromJson(value string) error - // Validate validates LevelTwo - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (LevelTwo, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // L2P1 returns LevelThree, set in LevelTwo. - // LevelThree is test Level3 - L2P1() LevelThree - // SetL2P1 assigns LevelThree provided by user to LevelTwo. - // LevelThree is test Level3 - SetL2P1(value LevelThree) LevelTwo - // HasL2P1 checks if L2P1 has been set in LevelTwo - HasL2P1() bool - setNil() -} - -// Level Two -// L2P1 returns a LevelThree -func (obj *levelTwo) L2P1() LevelThree { - if obj.obj.L2P1 == nil { - obj.obj.L2P1 = NewLevelThree().Msg() - } - if obj.l2P1Holder == nil { - obj.l2P1Holder = &levelThree{obj: obj.obj.L2P1} - } - return obj.l2P1Holder -} - -// Level Two -// L2P1 returns a LevelThree -func (obj *levelTwo) HasL2P1() bool { - return obj.obj.L2P1 != nil -} - -// Level Two -// SetL2P1 sets the LevelThree value in the LevelTwo object -func (obj *levelTwo) SetL2P1(value LevelThree) LevelTwo { - - obj.l2P1Holder = nil - obj.obj.L2P1 = value.Msg() - - return obj -} - -func (obj *levelTwo) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - if obj.obj.L2P1 != nil { - - obj.L2P1().validateObj(vObj, set_default) - } - -} - -func (obj *levelTwo) setDefault() { - -} - -// ***** LevelFour ***** -type levelFour struct { - validation - obj *sanity.LevelFour - l4P1Holder LevelOne -} - -func NewLevelFour() LevelFour { - obj := levelFour{obj: &sanity.LevelFour{}} - obj.setDefault() - return &obj -} - -func (obj *levelFour) Msg() *sanity.LevelFour { - return obj.obj -} - -func (obj *levelFour) SetMsg(msg *sanity.LevelFour) LevelFour { - obj.setNil() - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *levelFour) ToProto() (*sanity.LevelFour, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *levelFour) FromProto(msg *sanity.LevelFour) (LevelFour, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *levelFour) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *levelFour) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *levelFour) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *levelFour) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *levelFour) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *levelFour) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *levelFour) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *levelFour) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *levelFour) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *levelFour) Clone() (LevelFour, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewLevelFour() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -func (obj *levelFour) setNil() { - obj.l4P1Holder = nil - obj.validationErrors = nil - obj.warnings = nil - obj.constraints = make(map[string]map[string]Constraints) -} - -// LevelFour is test level4 redundant junk testing -type LevelFour interface { - Validation - // Msg marshals LevelFour to protobuf object *sanity.LevelFour - // and doesn't set defaults - Msg() *sanity.LevelFour - // SetMsg unmarshals LevelFour from protobuf object *sanity.LevelFour - // and doesn't set defaults - SetMsg(*sanity.LevelFour) LevelFour - // ToProto marshals LevelFour to protobuf object *sanity.LevelFour - ToProto() (*sanity.LevelFour, error) - // ToPbText marshals LevelFour to protobuf text - ToPbText() (string, error) - // ToYaml marshals LevelFour to YAML text - ToYaml() (string, error) - // ToJson marshals LevelFour to JSON text - ToJson() (string, error) - // FromProto unmarshals LevelFour from protobuf object *sanity.LevelFour - FromProto(msg *sanity.LevelFour) (LevelFour, error) - // FromPbText unmarshals LevelFour from protobuf text - FromPbText(value string) error - // FromYaml unmarshals LevelFour from YAML text - FromYaml(value string) error - // FromJson unmarshals LevelFour from JSON text - FromJson(value string) error - // Validate validates LevelFour - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (LevelFour, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // L4P1 returns LevelOne, set in LevelFour. - // LevelOne is to Test Multi level non-primitive types - L4P1() LevelOne - // SetL4P1 assigns LevelOne provided by user to LevelFour. - // LevelOne is to Test Multi level non-primitive types - SetL4P1(value LevelOne) LevelFour - // HasL4P1 checks if L4P1 has been set in LevelFour - HasL4P1() bool - setNil() -} - -// loop over level 1 -// L4P1 returns a LevelOne -func (obj *levelFour) L4P1() LevelOne { - if obj.obj.L4P1 == nil { - obj.obj.L4P1 = NewLevelOne().Msg() - } - if obj.l4P1Holder == nil { - obj.l4P1Holder = &levelOne{obj: obj.obj.L4P1} - } - return obj.l4P1Holder -} - -// loop over level 1 -// L4P1 returns a LevelOne -func (obj *levelFour) HasL4P1() bool { - return obj.obj.L4P1 != nil -} - -// loop over level 1 -// SetL4P1 sets the LevelOne value in the LevelFour object -func (obj *levelFour) SetL4P1(value LevelOne) LevelFour { - - obj.l4P1Holder = nil - obj.obj.L4P1 = value.Msg() - - return obj -} - -func (obj *levelFour) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - if obj.obj.L4P1 != nil { - - obj.L4P1().validateObj(vObj, set_default) - } - -} - -func (obj *levelFour) setDefault() { - -} - -// ***** PatternIpv4PatternIpv4 ***** -type patternIpv4PatternIpv4 struct { - validation - obj *sanity.PatternIpv4PatternIpv4 - incrementHolder PatternIpv4PatternIpv4Counter - decrementHolder PatternIpv4PatternIpv4Counter -} - -func NewPatternIpv4PatternIpv4() PatternIpv4PatternIpv4 { - obj := patternIpv4PatternIpv4{obj: &sanity.PatternIpv4PatternIpv4{}} - obj.setDefault() - return &obj -} - -func (obj *patternIpv4PatternIpv4) Msg() *sanity.PatternIpv4PatternIpv4 { - return obj.obj -} - -func (obj *patternIpv4PatternIpv4) SetMsg(msg *sanity.PatternIpv4PatternIpv4) PatternIpv4PatternIpv4 { - obj.setNil() - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *patternIpv4PatternIpv4) ToProto() (*sanity.PatternIpv4PatternIpv4, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *patternIpv4PatternIpv4) FromProto(msg *sanity.PatternIpv4PatternIpv4) (PatternIpv4PatternIpv4, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *patternIpv4PatternIpv4) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *patternIpv4PatternIpv4) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *patternIpv4PatternIpv4) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *patternIpv4PatternIpv4) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *patternIpv4PatternIpv4) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *patternIpv4PatternIpv4) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *patternIpv4PatternIpv4) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *patternIpv4PatternIpv4) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *patternIpv4PatternIpv4) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *patternIpv4PatternIpv4) Clone() (PatternIpv4PatternIpv4, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewPatternIpv4PatternIpv4() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -func (obj *patternIpv4PatternIpv4) setNil() { - obj.incrementHolder = nil - obj.decrementHolder = nil - obj.validationErrors = nil - obj.warnings = nil - obj.constraints = make(map[string]map[string]Constraints) -} - -// PatternIpv4PatternIpv4 is tBD -type PatternIpv4PatternIpv4 interface { - Validation - // Msg marshals PatternIpv4PatternIpv4 to protobuf object *sanity.PatternIpv4PatternIpv4 - // and doesn't set defaults - Msg() *sanity.PatternIpv4PatternIpv4 - // SetMsg unmarshals PatternIpv4PatternIpv4 from protobuf object *sanity.PatternIpv4PatternIpv4 - // and doesn't set defaults - SetMsg(*sanity.PatternIpv4PatternIpv4) PatternIpv4PatternIpv4 - // ToProto marshals PatternIpv4PatternIpv4 to protobuf object *sanity.PatternIpv4PatternIpv4 - ToProto() (*sanity.PatternIpv4PatternIpv4, error) - // ToPbText marshals PatternIpv4PatternIpv4 to protobuf text - ToPbText() (string, error) - // ToYaml marshals PatternIpv4PatternIpv4 to YAML text - ToYaml() (string, error) - // ToJson marshals PatternIpv4PatternIpv4 to JSON text - ToJson() (string, error) - // FromProto unmarshals PatternIpv4PatternIpv4 from protobuf object *sanity.PatternIpv4PatternIpv4 - FromProto(msg *sanity.PatternIpv4PatternIpv4) (PatternIpv4PatternIpv4, error) - // FromPbText unmarshals PatternIpv4PatternIpv4 from protobuf text - FromPbText(value string) error - // FromYaml unmarshals PatternIpv4PatternIpv4 from YAML text - FromYaml(value string) error - // FromJson unmarshals PatternIpv4PatternIpv4 from JSON text - FromJson(value string) error - // Validate validates PatternIpv4PatternIpv4 - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (PatternIpv4PatternIpv4, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // Choice returns PatternIpv4PatternIpv4ChoiceEnum, set in PatternIpv4PatternIpv4 - Choice() PatternIpv4PatternIpv4ChoiceEnum - // SetChoice assigns PatternIpv4PatternIpv4ChoiceEnum provided by user to PatternIpv4PatternIpv4 - SetChoice(value PatternIpv4PatternIpv4ChoiceEnum) PatternIpv4PatternIpv4 - // HasChoice checks if Choice has been set in PatternIpv4PatternIpv4 - HasChoice() bool - // Value returns string, set in PatternIpv4PatternIpv4. - Value() string - // SetValue assigns string provided by user to PatternIpv4PatternIpv4 - SetValue(value string) PatternIpv4PatternIpv4 - // HasValue checks if Value has been set in PatternIpv4PatternIpv4 - HasValue() bool - // Values returns []string, set in PatternIpv4PatternIpv4. - Values() []string - // SetValues assigns []string provided by user to PatternIpv4PatternIpv4 - SetValues(value []string) PatternIpv4PatternIpv4 - // Increment returns PatternIpv4PatternIpv4Counter, set in PatternIpv4PatternIpv4. - // PatternIpv4PatternIpv4Counter is ipv4 counter pattern - Increment() PatternIpv4PatternIpv4Counter - // SetIncrement assigns PatternIpv4PatternIpv4Counter provided by user to PatternIpv4PatternIpv4. - // PatternIpv4PatternIpv4Counter is ipv4 counter pattern - SetIncrement(value PatternIpv4PatternIpv4Counter) PatternIpv4PatternIpv4 - // HasIncrement checks if Increment has been set in PatternIpv4PatternIpv4 - HasIncrement() bool - // Decrement returns PatternIpv4PatternIpv4Counter, set in PatternIpv4PatternIpv4. - // PatternIpv4PatternIpv4Counter is ipv4 counter pattern - Decrement() PatternIpv4PatternIpv4Counter - // SetDecrement assigns PatternIpv4PatternIpv4Counter provided by user to PatternIpv4PatternIpv4. - // PatternIpv4PatternIpv4Counter is ipv4 counter pattern - SetDecrement(value PatternIpv4PatternIpv4Counter) PatternIpv4PatternIpv4 - // HasDecrement checks if Decrement has been set in PatternIpv4PatternIpv4 - HasDecrement() bool - setNil() -} - -type PatternIpv4PatternIpv4ChoiceEnum string - -// Enum of Choice on PatternIpv4PatternIpv4 -var PatternIpv4PatternIpv4Choice = struct { - VALUE PatternIpv4PatternIpv4ChoiceEnum - VALUES PatternIpv4PatternIpv4ChoiceEnum - INCREMENT PatternIpv4PatternIpv4ChoiceEnum - DECREMENT PatternIpv4PatternIpv4ChoiceEnum -}{ - VALUE: PatternIpv4PatternIpv4ChoiceEnum("value"), - VALUES: PatternIpv4PatternIpv4ChoiceEnum("values"), - INCREMENT: PatternIpv4PatternIpv4ChoiceEnum("increment"), - DECREMENT: PatternIpv4PatternIpv4ChoiceEnum("decrement"), -} - -func (obj *patternIpv4PatternIpv4) Choice() PatternIpv4PatternIpv4ChoiceEnum { - return PatternIpv4PatternIpv4ChoiceEnum(obj.obj.Choice.Enum().String()) -} - -// description is TBD -// Choice returns a string -func (obj *patternIpv4PatternIpv4) HasChoice() bool { - return obj.obj.Choice != nil -} - -func (obj *patternIpv4PatternIpv4) SetChoice(value PatternIpv4PatternIpv4ChoiceEnum) PatternIpv4PatternIpv4 { - intValue, ok := sanity.PatternIpv4PatternIpv4_Choice_Enum_value[string(value)] - if !ok { - obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( - "%s is not a valid choice on PatternIpv4PatternIpv4ChoiceEnum", string(value))) - return obj - } - enumValue := sanity.PatternIpv4PatternIpv4_Choice_Enum(intValue) - obj.obj.Choice = &enumValue - obj.obj.Decrement = nil - obj.decrementHolder = nil - obj.obj.Increment = nil - obj.incrementHolder = nil - obj.obj.Values = nil - obj.obj.Value = nil - - if value == PatternIpv4PatternIpv4Choice.VALUE { - defaultValue := "0.0.0.0" - obj.obj.Value = &defaultValue - } - - if value == PatternIpv4PatternIpv4Choice.VALUES { - defaultValue := []string{"0.0.0.0"} - obj.obj.Values = defaultValue - } - - if value == PatternIpv4PatternIpv4Choice.INCREMENT { - obj.obj.Increment = NewPatternIpv4PatternIpv4Counter().Msg() - } - - if value == PatternIpv4PatternIpv4Choice.DECREMENT { - obj.obj.Decrement = NewPatternIpv4PatternIpv4Counter().Msg() - } - - return obj -} - -// description is TBD -// Value returns a string -func (obj *patternIpv4PatternIpv4) Value() string { - - if obj.obj.Value == nil { - obj.SetChoice(PatternIpv4PatternIpv4Choice.VALUE) - } - - return *obj.obj.Value - -} - -// description is TBD -// Value returns a string -func (obj *patternIpv4PatternIpv4) HasValue() bool { - return obj.obj.Value != nil -} - -// description is TBD -// SetValue sets the string value in the PatternIpv4PatternIpv4 object -func (obj *patternIpv4PatternIpv4) SetValue(value string) PatternIpv4PatternIpv4 { - obj.SetChoice(PatternIpv4PatternIpv4Choice.VALUE) - obj.obj.Value = &value - return obj -} - -// description is TBD -// Values returns a []string -func (obj *patternIpv4PatternIpv4) Values() []string { - if obj.obj.Values == nil { - obj.SetValues([]string{"0.0.0.0"}) - } - return obj.obj.Values -} - -// description is TBD -// SetValues sets the []string value in the PatternIpv4PatternIpv4 object -func (obj *patternIpv4PatternIpv4) SetValues(value []string) PatternIpv4PatternIpv4 { - obj.SetChoice(PatternIpv4PatternIpv4Choice.VALUES) - if obj.obj.Values == nil { - obj.obj.Values = make([]string, 0) - } - obj.obj.Values = value - - return obj -} - -// description is TBD -// Increment returns a PatternIpv4PatternIpv4Counter -func (obj *patternIpv4PatternIpv4) Increment() PatternIpv4PatternIpv4Counter { - if obj.obj.Increment == nil { - obj.SetChoice(PatternIpv4PatternIpv4Choice.INCREMENT) - } - if obj.incrementHolder == nil { - obj.incrementHolder = &patternIpv4PatternIpv4Counter{obj: obj.obj.Increment} - } - return obj.incrementHolder -} - -// description is TBD -// Increment returns a PatternIpv4PatternIpv4Counter -func (obj *patternIpv4PatternIpv4) HasIncrement() bool { - return obj.obj.Increment != nil -} - -// description is TBD -// SetIncrement sets the PatternIpv4PatternIpv4Counter value in the PatternIpv4PatternIpv4 object -func (obj *patternIpv4PatternIpv4) SetIncrement(value PatternIpv4PatternIpv4Counter) PatternIpv4PatternIpv4 { - obj.SetChoice(PatternIpv4PatternIpv4Choice.INCREMENT) - obj.incrementHolder = nil - obj.obj.Increment = value.Msg() - - return obj -} - -// description is TBD -// Decrement returns a PatternIpv4PatternIpv4Counter -func (obj *patternIpv4PatternIpv4) Decrement() PatternIpv4PatternIpv4Counter { - if obj.obj.Decrement == nil { - obj.SetChoice(PatternIpv4PatternIpv4Choice.DECREMENT) - } - if obj.decrementHolder == nil { - obj.decrementHolder = &patternIpv4PatternIpv4Counter{obj: obj.obj.Decrement} - } - return obj.decrementHolder -} - -// description is TBD -// Decrement returns a PatternIpv4PatternIpv4Counter -func (obj *patternIpv4PatternIpv4) HasDecrement() bool { - return obj.obj.Decrement != nil -} - -// description is TBD -// SetDecrement sets the PatternIpv4PatternIpv4Counter value in the PatternIpv4PatternIpv4 object -func (obj *patternIpv4PatternIpv4) SetDecrement(value PatternIpv4PatternIpv4Counter) PatternIpv4PatternIpv4 { - obj.SetChoice(PatternIpv4PatternIpv4Choice.DECREMENT) - obj.decrementHolder = nil - obj.obj.Decrement = value.Msg() - - return obj -} - -func (obj *patternIpv4PatternIpv4) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - if obj.obj.Value != nil { - - err := obj.validateIpv4(obj.Value()) - if err != nil { - vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternIpv4PatternIpv4.Value")) - } - - } - - if obj.obj.Values != nil { - - err := obj.validateIpv4Slice(obj.Values()) - if err != nil { - vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternIpv4PatternIpv4.Values")) - } - - } - - if obj.obj.Increment != nil { - - obj.Increment().validateObj(vObj, set_default) - } - - if obj.obj.Decrement != nil { - - obj.Decrement().validateObj(vObj, set_default) - } - -} - -func (obj *patternIpv4PatternIpv4) setDefault() { - if obj.obj.Choice == nil { - obj.SetChoice(PatternIpv4PatternIpv4Choice.VALUE) - - } - -} - -// ***** PatternIpv6PatternIpv6 ***** -type patternIpv6PatternIpv6 struct { - validation - obj *sanity.PatternIpv6PatternIpv6 - incrementHolder PatternIpv6PatternIpv6Counter - decrementHolder PatternIpv6PatternIpv6Counter -} - -func NewPatternIpv6PatternIpv6() PatternIpv6PatternIpv6 { - obj := patternIpv6PatternIpv6{obj: &sanity.PatternIpv6PatternIpv6{}} - obj.setDefault() - return &obj -} - -func (obj *patternIpv6PatternIpv6) Msg() *sanity.PatternIpv6PatternIpv6 { - return obj.obj -} - -func (obj *patternIpv6PatternIpv6) SetMsg(msg *sanity.PatternIpv6PatternIpv6) PatternIpv6PatternIpv6 { - obj.setNil() - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *patternIpv6PatternIpv6) ToProto() (*sanity.PatternIpv6PatternIpv6, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *patternIpv6PatternIpv6) FromProto(msg *sanity.PatternIpv6PatternIpv6) (PatternIpv6PatternIpv6, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *patternIpv6PatternIpv6) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *patternIpv6PatternIpv6) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *patternIpv6PatternIpv6) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *patternIpv6PatternIpv6) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *patternIpv6PatternIpv6) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *patternIpv6PatternIpv6) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *patternIpv6PatternIpv6) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *patternIpv6PatternIpv6) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *patternIpv6PatternIpv6) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *patternIpv6PatternIpv6) Clone() (PatternIpv6PatternIpv6, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewPatternIpv6PatternIpv6() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -func (obj *patternIpv6PatternIpv6) setNil() { - obj.incrementHolder = nil - obj.decrementHolder = nil - obj.validationErrors = nil - obj.warnings = nil - obj.constraints = make(map[string]map[string]Constraints) -} - -// PatternIpv6PatternIpv6 is tBD -type PatternIpv6PatternIpv6 interface { - Validation - // Msg marshals PatternIpv6PatternIpv6 to protobuf object *sanity.PatternIpv6PatternIpv6 - // and doesn't set defaults - Msg() *sanity.PatternIpv6PatternIpv6 - // SetMsg unmarshals PatternIpv6PatternIpv6 from protobuf object *sanity.PatternIpv6PatternIpv6 - // and doesn't set defaults - SetMsg(*sanity.PatternIpv6PatternIpv6) PatternIpv6PatternIpv6 - // ToProto marshals PatternIpv6PatternIpv6 to protobuf object *sanity.PatternIpv6PatternIpv6 - ToProto() (*sanity.PatternIpv6PatternIpv6, error) - // ToPbText marshals PatternIpv6PatternIpv6 to protobuf text - ToPbText() (string, error) - // ToYaml marshals PatternIpv6PatternIpv6 to YAML text - ToYaml() (string, error) - // ToJson marshals PatternIpv6PatternIpv6 to JSON text - ToJson() (string, error) - // FromProto unmarshals PatternIpv6PatternIpv6 from protobuf object *sanity.PatternIpv6PatternIpv6 - FromProto(msg *sanity.PatternIpv6PatternIpv6) (PatternIpv6PatternIpv6, error) - // FromPbText unmarshals PatternIpv6PatternIpv6 from protobuf text - FromPbText(value string) error - // FromYaml unmarshals PatternIpv6PatternIpv6 from YAML text - FromYaml(value string) error - // FromJson unmarshals PatternIpv6PatternIpv6 from JSON text - FromJson(value string) error - // Validate validates PatternIpv6PatternIpv6 - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (PatternIpv6PatternIpv6, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // Choice returns PatternIpv6PatternIpv6ChoiceEnum, set in PatternIpv6PatternIpv6 - Choice() PatternIpv6PatternIpv6ChoiceEnum - // SetChoice assigns PatternIpv6PatternIpv6ChoiceEnum provided by user to PatternIpv6PatternIpv6 - SetChoice(value PatternIpv6PatternIpv6ChoiceEnum) PatternIpv6PatternIpv6 - // HasChoice checks if Choice has been set in PatternIpv6PatternIpv6 - HasChoice() bool - // Value returns string, set in PatternIpv6PatternIpv6. - Value() string - // SetValue assigns string provided by user to PatternIpv6PatternIpv6 - SetValue(value string) PatternIpv6PatternIpv6 - // HasValue checks if Value has been set in PatternIpv6PatternIpv6 - HasValue() bool - // Values returns []string, set in PatternIpv6PatternIpv6. - Values() []string - // SetValues assigns []string provided by user to PatternIpv6PatternIpv6 - SetValues(value []string) PatternIpv6PatternIpv6 - // Increment returns PatternIpv6PatternIpv6Counter, set in PatternIpv6PatternIpv6. - // PatternIpv6PatternIpv6Counter is ipv6 counter pattern - Increment() PatternIpv6PatternIpv6Counter - // SetIncrement assigns PatternIpv6PatternIpv6Counter provided by user to PatternIpv6PatternIpv6. - // PatternIpv6PatternIpv6Counter is ipv6 counter pattern - SetIncrement(value PatternIpv6PatternIpv6Counter) PatternIpv6PatternIpv6 - // HasIncrement checks if Increment has been set in PatternIpv6PatternIpv6 - HasIncrement() bool - // Decrement returns PatternIpv6PatternIpv6Counter, set in PatternIpv6PatternIpv6. - // PatternIpv6PatternIpv6Counter is ipv6 counter pattern - Decrement() PatternIpv6PatternIpv6Counter - // SetDecrement assigns PatternIpv6PatternIpv6Counter provided by user to PatternIpv6PatternIpv6. - // PatternIpv6PatternIpv6Counter is ipv6 counter pattern - SetDecrement(value PatternIpv6PatternIpv6Counter) PatternIpv6PatternIpv6 - // HasDecrement checks if Decrement has been set in PatternIpv6PatternIpv6 - HasDecrement() bool - setNil() -} - -type PatternIpv6PatternIpv6ChoiceEnum string - -// Enum of Choice on PatternIpv6PatternIpv6 -var PatternIpv6PatternIpv6Choice = struct { - VALUE PatternIpv6PatternIpv6ChoiceEnum - VALUES PatternIpv6PatternIpv6ChoiceEnum - INCREMENT PatternIpv6PatternIpv6ChoiceEnum - DECREMENT PatternIpv6PatternIpv6ChoiceEnum -}{ - VALUE: PatternIpv6PatternIpv6ChoiceEnum("value"), - VALUES: PatternIpv6PatternIpv6ChoiceEnum("values"), - INCREMENT: PatternIpv6PatternIpv6ChoiceEnum("increment"), - DECREMENT: PatternIpv6PatternIpv6ChoiceEnum("decrement"), -} - -func (obj *patternIpv6PatternIpv6) Choice() PatternIpv6PatternIpv6ChoiceEnum { - return PatternIpv6PatternIpv6ChoiceEnum(obj.obj.Choice.Enum().String()) -} - -// description is TBD -// Choice returns a string -func (obj *patternIpv6PatternIpv6) HasChoice() bool { - return obj.obj.Choice != nil -} - -func (obj *patternIpv6PatternIpv6) SetChoice(value PatternIpv6PatternIpv6ChoiceEnum) PatternIpv6PatternIpv6 { - intValue, ok := sanity.PatternIpv6PatternIpv6_Choice_Enum_value[string(value)] - if !ok { - obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( - "%s is not a valid choice on PatternIpv6PatternIpv6ChoiceEnum", string(value))) - return obj - } - enumValue := sanity.PatternIpv6PatternIpv6_Choice_Enum(intValue) - obj.obj.Choice = &enumValue - obj.obj.Decrement = nil - obj.decrementHolder = nil - obj.obj.Increment = nil - obj.incrementHolder = nil - obj.obj.Values = nil - obj.obj.Value = nil - - if value == PatternIpv6PatternIpv6Choice.VALUE { - defaultValue := "::" - obj.obj.Value = &defaultValue - } - - if value == PatternIpv6PatternIpv6Choice.VALUES { - defaultValue := []string{"::"} - obj.obj.Values = defaultValue - } - - if value == PatternIpv6PatternIpv6Choice.INCREMENT { - obj.obj.Increment = NewPatternIpv6PatternIpv6Counter().Msg() - } - - if value == PatternIpv6PatternIpv6Choice.DECREMENT { - obj.obj.Decrement = NewPatternIpv6PatternIpv6Counter().Msg() - } - - return obj -} - -// description is TBD -// Value returns a string -func (obj *patternIpv6PatternIpv6) Value() string { - - if obj.obj.Value == nil { - obj.SetChoice(PatternIpv6PatternIpv6Choice.VALUE) - } - - return *obj.obj.Value - -} - -// description is TBD -// Value returns a string -func (obj *patternIpv6PatternIpv6) HasValue() bool { - return obj.obj.Value != nil -} - -// description is TBD -// SetValue sets the string value in the PatternIpv6PatternIpv6 object -func (obj *patternIpv6PatternIpv6) SetValue(value string) PatternIpv6PatternIpv6 { - obj.SetChoice(PatternIpv6PatternIpv6Choice.VALUE) - obj.obj.Value = &value - return obj -} - -// description is TBD -// Values returns a []string -func (obj *patternIpv6PatternIpv6) Values() []string { - if obj.obj.Values == nil { - obj.SetValues([]string{"::"}) - } - return obj.obj.Values -} - -// description is TBD -// SetValues sets the []string value in the PatternIpv6PatternIpv6 object -func (obj *patternIpv6PatternIpv6) SetValues(value []string) PatternIpv6PatternIpv6 { - obj.SetChoice(PatternIpv6PatternIpv6Choice.VALUES) - if obj.obj.Values == nil { - obj.obj.Values = make([]string, 0) - } - obj.obj.Values = value - - return obj -} - -// description is TBD -// Increment returns a PatternIpv6PatternIpv6Counter -func (obj *patternIpv6PatternIpv6) Increment() PatternIpv6PatternIpv6Counter { - if obj.obj.Increment == nil { - obj.SetChoice(PatternIpv6PatternIpv6Choice.INCREMENT) - } - if obj.incrementHolder == nil { - obj.incrementHolder = &patternIpv6PatternIpv6Counter{obj: obj.obj.Increment} - } - return obj.incrementHolder -} - -// description is TBD -// Increment returns a PatternIpv6PatternIpv6Counter -func (obj *patternIpv6PatternIpv6) HasIncrement() bool { - return obj.obj.Increment != nil -} - -// description is TBD -// SetIncrement sets the PatternIpv6PatternIpv6Counter value in the PatternIpv6PatternIpv6 object -func (obj *patternIpv6PatternIpv6) SetIncrement(value PatternIpv6PatternIpv6Counter) PatternIpv6PatternIpv6 { - obj.SetChoice(PatternIpv6PatternIpv6Choice.INCREMENT) - obj.incrementHolder = nil - obj.obj.Increment = value.Msg() - - return obj -} - -// description is TBD -// Decrement returns a PatternIpv6PatternIpv6Counter -func (obj *patternIpv6PatternIpv6) Decrement() PatternIpv6PatternIpv6Counter { - if obj.obj.Decrement == nil { - obj.SetChoice(PatternIpv6PatternIpv6Choice.DECREMENT) - } - if obj.decrementHolder == nil { - obj.decrementHolder = &patternIpv6PatternIpv6Counter{obj: obj.obj.Decrement} - } - return obj.decrementHolder -} - -// description is TBD -// Decrement returns a PatternIpv6PatternIpv6Counter -func (obj *patternIpv6PatternIpv6) HasDecrement() bool { - return obj.obj.Decrement != nil -} - -// description is TBD -// SetDecrement sets the PatternIpv6PatternIpv6Counter value in the PatternIpv6PatternIpv6 object -func (obj *patternIpv6PatternIpv6) SetDecrement(value PatternIpv6PatternIpv6Counter) PatternIpv6PatternIpv6 { - obj.SetChoice(PatternIpv6PatternIpv6Choice.DECREMENT) - obj.decrementHolder = nil - obj.obj.Decrement = value.Msg() - - return obj -} - -func (obj *patternIpv6PatternIpv6) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - if obj.obj.Value != nil { - - err := obj.validateIpv6(obj.Value()) - if err != nil { - vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternIpv6PatternIpv6.Value")) - } - - } - - if obj.obj.Values != nil { - - err := obj.validateIpv6Slice(obj.Values()) - if err != nil { - vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternIpv6PatternIpv6.Values")) - } - - } - - if obj.obj.Increment != nil { - - obj.Increment().validateObj(vObj, set_default) - } - - if obj.obj.Decrement != nil { - - obj.Decrement().validateObj(vObj, set_default) - } - -} - -func (obj *patternIpv6PatternIpv6) setDefault() { - if obj.obj.Choice == nil { - obj.SetChoice(PatternIpv6PatternIpv6Choice.VALUE) - - } - -} - -// ***** PatternMacPatternMac ***** -type patternMacPatternMac struct { - validation - obj *sanity.PatternMacPatternMac - incrementHolder PatternMacPatternMacCounter - decrementHolder PatternMacPatternMacCounter -} - -func NewPatternMacPatternMac() PatternMacPatternMac { - obj := patternMacPatternMac{obj: &sanity.PatternMacPatternMac{}} - obj.setDefault() - return &obj -} - -func (obj *patternMacPatternMac) Msg() *sanity.PatternMacPatternMac { - return obj.obj -} - -func (obj *patternMacPatternMac) SetMsg(msg *sanity.PatternMacPatternMac) PatternMacPatternMac { - obj.setNil() - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *patternMacPatternMac) ToProto() (*sanity.PatternMacPatternMac, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *patternMacPatternMac) FromProto(msg *sanity.PatternMacPatternMac) (PatternMacPatternMac, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *patternMacPatternMac) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *patternMacPatternMac) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *patternMacPatternMac) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *patternMacPatternMac) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *patternMacPatternMac) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *patternMacPatternMac) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *patternMacPatternMac) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *patternMacPatternMac) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *patternMacPatternMac) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *patternMacPatternMac) Clone() (PatternMacPatternMac, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewPatternMacPatternMac() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -func (obj *patternMacPatternMac) setNil() { - obj.incrementHolder = nil - obj.decrementHolder = nil - obj.validationErrors = nil - obj.warnings = nil - obj.constraints = make(map[string]map[string]Constraints) -} - -// PatternMacPatternMac is tBD -type PatternMacPatternMac interface { - Validation - // Msg marshals PatternMacPatternMac to protobuf object *sanity.PatternMacPatternMac - // and doesn't set defaults - Msg() *sanity.PatternMacPatternMac - // SetMsg unmarshals PatternMacPatternMac from protobuf object *sanity.PatternMacPatternMac - // and doesn't set defaults - SetMsg(*sanity.PatternMacPatternMac) PatternMacPatternMac - // ToProto marshals PatternMacPatternMac to protobuf object *sanity.PatternMacPatternMac - ToProto() (*sanity.PatternMacPatternMac, error) - // ToPbText marshals PatternMacPatternMac to protobuf text - ToPbText() (string, error) - // ToYaml marshals PatternMacPatternMac to YAML text - ToYaml() (string, error) - // ToJson marshals PatternMacPatternMac to JSON text - ToJson() (string, error) - // FromProto unmarshals PatternMacPatternMac from protobuf object *sanity.PatternMacPatternMac - FromProto(msg *sanity.PatternMacPatternMac) (PatternMacPatternMac, error) - // FromPbText unmarshals PatternMacPatternMac from protobuf text - FromPbText(value string) error - // FromYaml unmarshals PatternMacPatternMac from YAML text - FromYaml(value string) error - // FromJson unmarshals PatternMacPatternMac from JSON text - FromJson(value string) error - // Validate validates PatternMacPatternMac - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (PatternMacPatternMac, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // Choice returns PatternMacPatternMacChoiceEnum, set in PatternMacPatternMac - Choice() PatternMacPatternMacChoiceEnum - // SetChoice assigns PatternMacPatternMacChoiceEnum provided by user to PatternMacPatternMac - SetChoice(value PatternMacPatternMacChoiceEnum) PatternMacPatternMac - // HasChoice checks if Choice has been set in PatternMacPatternMac - HasChoice() bool - // Value returns string, set in PatternMacPatternMac. - Value() string - // SetValue assigns string provided by user to PatternMacPatternMac - SetValue(value string) PatternMacPatternMac - // HasValue checks if Value has been set in PatternMacPatternMac - HasValue() bool - // Values returns []string, set in PatternMacPatternMac. - Values() []string - // SetValues assigns []string provided by user to PatternMacPatternMac - SetValues(value []string) PatternMacPatternMac - // Auto returns string, set in PatternMacPatternMac. - Auto() string - // HasAuto checks if Auto has been set in PatternMacPatternMac - HasAuto() bool - // Increment returns PatternMacPatternMacCounter, set in PatternMacPatternMac. - // PatternMacPatternMacCounter is mac counter pattern - Increment() PatternMacPatternMacCounter - // SetIncrement assigns PatternMacPatternMacCounter provided by user to PatternMacPatternMac. - // PatternMacPatternMacCounter is mac counter pattern - SetIncrement(value PatternMacPatternMacCounter) PatternMacPatternMac - // HasIncrement checks if Increment has been set in PatternMacPatternMac - HasIncrement() bool - // Decrement returns PatternMacPatternMacCounter, set in PatternMacPatternMac. - // PatternMacPatternMacCounter is mac counter pattern - Decrement() PatternMacPatternMacCounter - // SetDecrement assigns PatternMacPatternMacCounter provided by user to PatternMacPatternMac. - // PatternMacPatternMacCounter is mac counter pattern - SetDecrement(value PatternMacPatternMacCounter) PatternMacPatternMac - // HasDecrement checks if Decrement has been set in PatternMacPatternMac - HasDecrement() bool - setNil() -} - -type PatternMacPatternMacChoiceEnum string - -// Enum of Choice on PatternMacPatternMac -var PatternMacPatternMacChoice = struct { - VALUE PatternMacPatternMacChoiceEnum - VALUES PatternMacPatternMacChoiceEnum - AUTO PatternMacPatternMacChoiceEnum - INCREMENT PatternMacPatternMacChoiceEnum - DECREMENT PatternMacPatternMacChoiceEnum -}{ - VALUE: PatternMacPatternMacChoiceEnum("value"), - VALUES: PatternMacPatternMacChoiceEnum("values"), - AUTO: PatternMacPatternMacChoiceEnum("auto"), - INCREMENT: PatternMacPatternMacChoiceEnum("increment"), - DECREMENT: PatternMacPatternMacChoiceEnum("decrement"), -} - -func (obj *patternMacPatternMac) Choice() PatternMacPatternMacChoiceEnum { - return PatternMacPatternMacChoiceEnum(obj.obj.Choice.Enum().String()) -} - -// description is TBD -// Choice returns a string -func (obj *patternMacPatternMac) HasChoice() bool { - return obj.obj.Choice != nil -} - -func (obj *patternMacPatternMac) SetChoice(value PatternMacPatternMacChoiceEnum) PatternMacPatternMac { - intValue, ok := sanity.PatternMacPatternMac_Choice_Enum_value[string(value)] - if !ok { - obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( - "%s is not a valid choice on PatternMacPatternMacChoiceEnum", string(value))) - return obj - } - enumValue := sanity.PatternMacPatternMac_Choice_Enum(intValue) - obj.obj.Choice = &enumValue - obj.obj.Decrement = nil - obj.decrementHolder = nil - obj.obj.Increment = nil - obj.incrementHolder = nil - obj.obj.Auto = nil - obj.obj.Values = nil - obj.obj.Value = nil - - if value == PatternMacPatternMacChoice.VALUE { - defaultValue := "00:00:00:00:00:00" - obj.obj.Value = &defaultValue - } - - if value == PatternMacPatternMacChoice.VALUES { - defaultValue := []string{"00:00:00:00:00:00"} - obj.obj.Values = defaultValue - } - - if value == PatternMacPatternMacChoice.AUTO { - defaultValue := "00:00:00:00:00:00" - obj.obj.Auto = &defaultValue - } - - if value == PatternMacPatternMacChoice.INCREMENT { - obj.obj.Increment = NewPatternMacPatternMacCounter().Msg() - } - - if value == PatternMacPatternMacChoice.DECREMENT { - obj.obj.Decrement = NewPatternMacPatternMacCounter().Msg() - } - - return obj -} - -// description is TBD -// Value returns a string -func (obj *patternMacPatternMac) Value() string { - - if obj.obj.Value == nil { - obj.SetChoice(PatternMacPatternMacChoice.VALUE) - } - - return *obj.obj.Value - -} - -// description is TBD -// Value returns a string -func (obj *patternMacPatternMac) HasValue() bool { - return obj.obj.Value != nil -} - -// description is TBD -// SetValue sets the string value in the PatternMacPatternMac object -func (obj *patternMacPatternMac) SetValue(value string) PatternMacPatternMac { - obj.SetChoice(PatternMacPatternMacChoice.VALUE) - obj.obj.Value = &value - return obj -} - -// description is TBD -// Values returns a []string -func (obj *patternMacPatternMac) Values() []string { - if obj.obj.Values == nil { - obj.SetValues([]string{"00:00:00:00:00:00"}) - } - return obj.obj.Values -} - -// description is TBD -// SetValues sets the []string value in the PatternMacPatternMac object -func (obj *patternMacPatternMac) SetValues(value []string) PatternMacPatternMac { - obj.SetChoice(PatternMacPatternMacChoice.VALUES) - if obj.obj.Values == nil { - obj.obj.Values = make([]string, 0) - } - obj.obj.Values = value - - return obj -} - -// The OTG implementation can provide a system generated -// value for this property. If the OTG is unable to generate a value -// the default value must be used. -// Auto returns a string -func (obj *patternMacPatternMac) Auto() string { - - if obj.obj.Auto == nil { - obj.SetChoice(PatternMacPatternMacChoice.AUTO) - } - - return *obj.obj.Auto - -} - -// The OTG implementation can provide a system generated -// value for this property. If the OTG is unable to generate a value -// the default value must be used. -// Auto returns a string -func (obj *patternMacPatternMac) HasAuto() bool { - return obj.obj.Auto != nil -} - -// description is TBD -// Increment returns a PatternMacPatternMacCounter -func (obj *patternMacPatternMac) Increment() PatternMacPatternMacCounter { - if obj.obj.Increment == nil { - obj.SetChoice(PatternMacPatternMacChoice.INCREMENT) - } - if obj.incrementHolder == nil { - obj.incrementHolder = &patternMacPatternMacCounter{obj: obj.obj.Increment} - } - return obj.incrementHolder -} - -// description is TBD -// Increment returns a PatternMacPatternMacCounter -func (obj *patternMacPatternMac) HasIncrement() bool { - return obj.obj.Increment != nil -} - -// description is TBD -// SetIncrement sets the PatternMacPatternMacCounter value in the PatternMacPatternMac object -func (obj *patternMacPatternMac) SetIncrement(value PatternMacPatternMacCounter) PatternMacPatternMac { - obj.SetChoice(PatternMacPatternMacChoice.INCREMENT) - obj.incrementHolder = nil - obj.obj.Increment = value.Msg() - - return obj -} - -// description is TBD -// Decrement returns a PatternMacPatternMacCounter -func (obj *patternMacPatternMac) Decrement() PatternMacPatternMacCounter { - if obj.obj.Decrement == nil { - obj.SetChoice(PatternMacPatternMacChoice.DECREMENT) - } - if obj.decrementHolder == nil { - obj.decrementHolder = &patternMacPatternMacCounter{obj: obj.obj.Decrement} - } - return obj.decrementHolder -} - -// description is TBD -// Decrement returns a PatternMacPatternMacCounter -func (obj *patternMacPatternMac) HasDecrement() bool { - return obj.obj.Decrement != nil -} - -// description is TBD -// SetDecrement sets the PatternMacPatternMacCounter value in the PatternMacPatternMac object -func (obj *patternMacPatternMac) SetDecrement(value PatternMacPatternMacCounter) PatternMacPatternMac { - obj.SetChoice(PatternMacPatternMacChoice.DECREMENT) - obj.decrementHolder = nil - obj.obj.Decrement = value.Msg() - - return obj -} - -func (obj *patternMacPatternMac) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - if obj.obj.Value != nil { - - err := obj.validateMac(obj.Value()) - if err != nil { - vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternMacPatternMac.Value")) - } - - } - - if obj.obj.Values != nil { - - err := obj.validateMacSlice(obj.Values()) - if err != nil { - vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternMacPatternMac.Values")) - } - - } - - if obj.obj.Auto != nil { - - err := obj.validateMac(obj.Auto()) - if err != nil { - vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternMacPatternMac.Auto")) - } - - } - - if obj.obj.Increment != nil { - - obj.Increment().validateObj(vObj, set_default) - } - - if obj.obj.Decrement != nil { - - obj.Decrement().validateObj(vObj, set_default) - } - -} - -func (obj *patternMacPatternMac) setDefault() { - if obj.obj.Choice == nil { - obj.SetChoice(PatternMacPatternMacChoice.AUTO) - - } - -} - -// ***** PatternIntegerPatternInteger ***** -type patternIntegerPatternInteger struct { - validation - obj *sanity.PatternIntegerPatternInteger - incrementHolder PatternIntegerPatternIntegerCounter - decrementHolder PatternIntegerPatternIntegerCounter -} - -func NewPatternIntegerPatternInteger() PatternIntegerPatternInteger { - obj := patternIntegerPatternInteger{obj: &sanity.PatternIntegerPatternInteger{}} - obj.setDefault() - return &obj -} - -func (obj *patternIntegerPatternInteger) Msg() *sanity.PatternIntegerPatternInteger { - return obj.obj -} - -func (obj *patternIntegerPatternInteger) SetMsg(msg *sanity.PatternIntegerPatternInteger) PatternIntegerPatternInteger { - obj.setNil() - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *patternIntegerPatternInteger) ToProto() (*sanity.PatternIntegerPatternInteger, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *patternIntegerPatternInteger) FromProto(msg *sanity.PatternIntegerPatternInteger) (PatternIntegerPatternInteger, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *patternIntegerPatternInteger) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *patternIntegerPatternInteger) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *patternIntegerPatternInteger) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *patternIntegerPatternInteger) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *patternIntegerPatternInteger) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *patternIntegerPatternInteger) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *patternIntegerPatternInteger) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *patternIntegerPatternInteger) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *patternIntegerPatternInteger) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *patternIntegerPatternInteger) Clone() (PatternIntegerPatternInteger, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewPatternIntegerPatternInteger() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -func (obj *patternIntegerPatternInteger) setNil() { - obj.incrementHolder = nil - obj.decrementHolder = nil - obj.validationErrors = nil - obj.warnings = nil - obj.constraints = make(map[string]map[string]Constraints) -} - -// PatternIntegerPatternInteger is tBD -type PatternIntegerPatternInteger interface { - Validation - // Msg marshals PatternIntegerPatternInteger to protobuf object *sanity.PatternIntegerPatternInteger - // and doesn't set defaults - Msg() *sanity.PatternIntegerPatternInteger - // SetMsg unmarshals PatternIntegerPatternInteger from protobuf object *sanity.PatternIntegerPatternInteger - // and doesn't set defaults - SetMsg(*sanity.PatternIntegerPatternInteger) PatternIntegerPatternInteger - // ToProto marshals PatternIntegerPatternInteger to protobuf object *sanity.PatternIntegerPatternInteger - ToProto() (*sanity.PatternIntegerPatternInteger, error) - // ToPbText marshals PatternIntegerPatternInteger to protobuf text - ToPbText() (string, error) - // ToYaml marshals PatternIntegerPatternInteger to YAML text - ToYaml() (string, error) - // ToJson marshals PatternIntegerPatternInteger to JSON text - ToJson() (string, error) - // FromProto unmarshals PatternIntegerPatternInteger from protobuf object *sanity.PatternIntegerPatternInteger - FromProto(msg *sanity.PatternIntegerPatternInteger) (PatternIntegerPatternInteger, error) - // FromPbText unmarshals PatternIntegerPatternInteger from protobuf text - FromPbText(value string) error - // FromYaml unmarshals PatternIntegerPatternInteger from YAML text - FromYaml(value string) error - // FromJson unmarshals PatternIntegerPatternInteger from JSON text - FromJson(value string) error - // Validate validates PatternIntegerPatternInteger - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (PatternIntegerPatternInteger, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // Choice returns PatternIntegerPatternIntegerChoiceEnum, set in PatternIntegerPatternInteger - Choice() PatternIntegerPatternIntegerChoiceEnum - // SetChoice assigns PatternIntegerPatternIntegerChoiceEnum provided by user to PatternIntegerPatternInteger - SetChoice(value PatternIntegerPatternIntegerChoiceEnum) PatternIntegerPatternInteger - // HasChoice checks if Choice has been set in PatternIntegerPatternInteger - HasChoice() bool - // Value returns uint32, set in PatternIntegerPatternInteger. - Value() uint32 - // SetValue assigns uint32 provided by user to PatternIntegerPatternInteger - SetValue(value uint32) PatternIntegerPatternInteger - // HasValue checks if Value has been set in PatternIntegerPatternInteger - HasValue() bool - // Values returns []uint32, set in PatternIntegerPatternInteger. - Values() []uint32 - // SetValues assigns []uint32 provided by user to PatternIntegerPatternInteger - SetValues(value []uint32) PatternIntegerPatternInteger - // Increment returns PatternIntegerPatternIntegerCounter, set in PatternIntegerPatternInteger. - // PatternIntegerPatternIntegerCounter is integer counter pattern - Increment() PatternIntegerPatternIntegerCounter - // SetIncrement assigns PatternIntegerPatternIntegerCounter provided by user to PatternIntegerPatternInteger. - // PatternIntegerPatternIntegerCounter is integer counter pattern - SetIncrement(value PatternIntegerPatternIntegerCounter) PatternIntegerPatternInteger - // HasIncrement checks if Increment has been set in PatternIntegerPatternInteger - HasIncrement() bool - // Decrement returns PatternIntegerPatternIntegerCounter, set in PatternIntegerPatternInteger. - // PatternIntegerPatternIntegerCounter is integer counter pattern - Decrement() PatternIntegerPatternIntegerCounter - // SetDecrement assigns PatternIntegerPatternIntegerCounter provided by user to PatternIntegerPatternInteger. - // PatternIntegerPatternIntegerCounter is integer counter pattern - SetDecrement(value PatternIntegerPatternIntegerCounter) PatternIntegerPatternInteger - // HasDecrement checks if Decrement has been set in PatternIntegerPatternInteger - HasDecrement() bool - setNil() -} - -type PatternIntegerPatternIntegerChoiceEnum string - -// Enum of Choice on PatternIntegerPatternInteger -var PatternIntegerPatternIntegerChoice = struct { - VALUE PatternIntegerPatternIntegerChoiceEnum - VALUES PatternIntegerPatternIntegerChoiceEnum - INCREMENT PatternIntegerPatternIntegerChoiceEnum - DECREMENT PatternIntegerPatternIntegerChoiceEnum -}{ - VALUE: PatternIntegerPatternIntegerChoiceEnum("value"), - VALUES: PatternIntegerPatternIntegerChoiceEnum("values"), - INCREMENT: PatternIntegerPatternIntegerChoiceEnum("increment"), - DECREMENT: PatternIntegerPatternIntegerChoiceEnum("decrement"), -} - -func (obj *patternIntegerPatternInteger) Choice() PatternIntegerPatternIntegerChoiceEnum { - return PatternIntegerPatternIntegerChoiceEnum(obj.obj.Choice.Enum().String()) -} - -// description is TBD -// Choice returns a string -func (obj *patternIntegerPatternInteger) HasChoice() bool { - return obj.obj.Choice != nil -} - -func (obj *patternIntegerPatternInteger) SetChoice(value PatternIntegerPatternIntegerChoiceEnum) PatternIntegerPatternInteger { - intValue, ok := sanity.PatternIntegerPatternInteger_Choice_Enum_value[string(value)] - if !ok { - obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( - "%s is not a valid choice on PatternIntegerPatternIntegerChoiceEnum", string(value))) - return obj - } - enumValue := sanity.PatternIntegerPatternInteger_Choice_Enum(intValue) - obj.obj.Choice = &enumValue - obj.obj.Decrement = nil - obj.decrementHolder = nil - obj.obj.Increment = nil - obj.incrementHolder = nil - obj.obj.Values = nil - obj.obj.Value = nil - - if value == PatternIntegerPatternIntegerChoice.VALUE { - defaultValue := uint32(0) - obj.obj.Value = &defaultValue - } - - if value == PatternIntegerPatternIntegerChoice.VALUES { - defaultValue := []uint32{0} - obj.obj.Values = defaultValue - } - - if value == PatternIntegerPatternIntegerChoice.INCREMENT { - obj.obj.Increment = NewPatternIntegerPatternIntegerCounter().Msg() - } - - if value == PatternIntegerPatternIntegerChoice.DECREMENT { - obj.obj.Decrement = NewPatternIntegerPatternIntegerCounter().Msg() - } - - return obj -} - -// description is TBD -// Value returns a uint32 -func (obj *patternIntegerPatternInteger) Value() uint32 { - - if obj.obj.Value == nil { - obj.SetChoice(PatternIntegerPatternIntegerChoice.VALUE) - } - - return *obj.obj.Value - -} - -// description is TBD -// Value returns a uint32 -func (obj *patternIntegerPatternInteger) HasValue() bool { - return obj.obj.Value != nil -} - -// description is TBD -// SetValue sets the uint32 value in the PatternIntegerPatternInteger object -func (obj *patternIntegerPatternInteger) SetValue(value uint32) PatternIntegerPatternInteger { - obj.SetChoice(PatternIntegerPatternIntegerChoice.VALUE) - obj.obj.Value = &value - return obj -} - -// description is TBD -// Values returns a []uint32 -func (obj *patternIntegerPatternInteger) Values() []uint32 { - if obj.obj.Values == nil { - obj.SetValues([]uint32{0}) - } - return obj.obj.Values -} - -// description is TBD -// SetValues sets the []uint32 value in the PatternIntegerPatternInteger object -func (obj *patternIntegerPatternInteger) SetValues(value []uint32) PatternIntegerPatternInteger { - obj.SetChoice(PatternIntegerPatternIntegerChoice.VALUES) - if obj.obj.Values == nil { - obj.obj.Values = make([]uint32, 0) - } - obj.obj.Values = value - - return obj -} - -// description is TBD -// Increment returns a PatternIntegerPatternIntegerCounter -func (obj *patternIntegerPatternInteger) Increment() PatternIntegerPatternIntegerCounter { - if obj.obj.Increment == nil { - obj.SetChoice(PatternIntegerPatternIntegerChoice.INCREMENT) - } - if obj.incrementHolder == nil { - obj.incrementHolder = &patternIntegerPatternIntegerCounter{obj: obj.obj.Increment} - } - return obj.incrementHolder -} - -// description is TBD -// Increment returns a PatternIntegerPatternIntegerCounter -func (obj *patternIntegerPatternInteger) HasIncrement() bool { - return obj.obj.Increment != nil -} - -// description is TBD -// SetIncrement sets the PatternIntegerPatternIntegerCounter value in the PatternIntegerPatternInteger object -func (obj *patternIntegerPatternInteger) SetIncrement(value PatternIntegerPatternIntegerCounter) PatternIntegerPatternInteger { - obj.SetChoice(PatternIntegerPatternIntegerChoice.INCREMENT) - obj.incrementHolder = nil - obj.obj.Increment = value.Msg() - - return obj -} - -// description is TBD -// Decrement returns a PatternIntegerPatternIntegerCounter -func (obj *patternIntegerPatternInteger) Decrement() PatternIntegerPatternIntegerCounter { - if obj.obj.Decrement == nil { - obj.SetChoice(PatternIntegerPatternIntegerChoice.DECREMENT) - } - if obj.decrementHolder == nil { - obj.decrementHolder = &patternIntegerPatternIntegerCounter{obj: obj.obj.Decrement} - } - return obj.decrementHolder -} - -// description is TBD -// Decrement returns a PatternIntegerPatternIntegerCounter -func (obj *patternIntegerPatternInteger) HasDecrement() bool { - return obj.obj.Decrement != nil -} - -// description is TBD -// SetDecrement sets the PatternIntegerPatternIntegerCounter value in the PatternIntegerPatternInteger object -func (obj *patternIntegerPatternInteger) SetDecrement(value PatternIntegerPatternIntegerCounter) PatternIntegerPatternInteger { - obj.SetChoice(PatternIntegerPatternIntegerChoice.DECREMENT) - obj.decrementHolder = nil - obj.obj.Decrement = value.Msg() - - return obj -} - -func (obj *patternIntegerPatternInteger) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - if obj.obj.Value != nil { - - if *obj.obj.Value > 255 { - vObj.validationErrors = append( - vObj.validationErrors, - fmt.Sprintf("0 <= PatternIntegerPatternInteger.Value <= 255 but Got %d", *obj.obj.Value)) - } - - } - - if obj.obj.Values != nil { - - for _, item := range obj.obj.Values { - if item > 255 { - vObj.validationErrors = append( - vObj.validationErrors, - fmt.Sprintf("min(uint32) <= PatternIntegerPatternInteger.Values <= 255 but Got %d", item)) - } - - } - - } - - if obj.obj.Increment != nil { - - obj.Increment().validateObj(vObj, set_default) - } - - if obj.obj.Decrement != nil { - - obj.Decrement().validateObj(vObj, set_default) - } - -} - -func (obj *patternIntegerPatternInteger) setDefault() { - if obj.obj.Choice == nil { - obj.SetChoice(PatternIntegerPatternIntegerChoice.VALUE) - - } - -} - -// ***** PatternChecksumPatternChecksum ***** -type patternChecksumPatternChecksum struct { - validation - obj *sanity.PatternChecksumPatternChecksum -} - -func NewPatternChecksumPatternChecksum() PatternChecksumPatternChecksum { - obj := patternChecksumPatternChecksum{obj: &sanity.PatternChecksumPatternChecksum{}} - obj.setDefault() - return &obj -} - -func (obj *patternChecksumPatternChecksum) Msg() *sanity.PatternChecksumPatternChecksum { - return obj.obj -} - -func (obj *patternChecksumPatternChecksum) SetMsg(msg *sanity.PatternChecksumPatternChecksum) PatternChecksumPatternChecksum { - - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *patternChecksumPatternChecksum) ToProto() (*sanity.PatternChecksumPatternChecksum, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *patternChecksumPatternChecksum) FromProto(msg *sanity.PatternChecksumPatternChecksum) (PatternChecksumPatternChecksum, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *patternChecksumPatternChecksum) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *patternChecksumPatternChecksum) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *patternChecksumPatternChecksum) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *patternChecksumPatternChecksum) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *patternChecksumPatternChecksum) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *patternChecksumPatternChecksum) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *patternChecksumPatternChecksum) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *patternChecksumPatternChecksum) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *patternChecksumPatternChecksum) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *patternChecksumPatternChecksum) Clone() (PatternChecksumPatternChecksum, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewPatternChecksumPatternChecksum() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -// PatternChecksumPatternChecksum is tBD -type PatternChecksumPatternChecksum interface { - Validation - // Msg marshals PatternChecksumPatternChecksum to protobuf object *sanity.PatternChecksumPatternChecksum - // and doesn't set defaults - Msg() *sanity.PatternChecksumPatternChecksum - // SetMsg unmarshals PatternChecksumPatternChecksum from protobuf object *sanity.PatternChecksumPatternChecksum - // and doesn't set defaults - SetMsg(*sanity.PatternChecksumPatternChecksum) PatternChecksumPatternChecksum - // ToProto marshals PatternChecksumPatternChecksum to protobuf object *sanity.PatternChecksumPatternChecksum - ToProto() (*sanity.PatternChecksumPatternChecksum, error) - // ToPbText marshals PatternChecksumPatternChecksum to protobuf text - ToPbText() (string, error) - // ToYaml marshals PatternChecksumPatternChecksum to YAML text - ToYaml() (string, error) - // ToJson marshals PatternChecksumPatternChecksum to JSON text - ToJson() (string, error) - // FromProto unmarshals PatternChecksumPatternChecksum from protobuf object *sanity.PatternChecksumPatternChecksum - FromProto(msg *sanity.PatternChecksumPatternChecksum) (PatternChecksumPatternChecksum, error) - // FromPbText unmarshals PatternChecksumPatternChecksum from protobuf text - FromPbText(value string) error - // FromYaml unmarshals PatternChecksumPatternChecksum from YAML text - FromYaml(value string) error - // FromJson unmarshals PatternChecksumPatternChecksum from JSON text - FromJson(value string) error - // Validate validates PatternChecksumPatternChecksum - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (PatternChecksumPatternChecksum, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // Choice returns PatternChecksumPatternChecksumChoiceEnum, set in PatternChecksumPatternChecksum - Choice() PatternChecksumPatternChecksumChoiceEnum - // SetChoice assigns PatternChecksumPatternChecksumChoiceEnum provided by user to PatternChecksumPatternChecksum - SetChoice(value PatternChecksumPatternChecksumChoiceEnum) PatternChecksumPatternChecksum - // HasChoice checks if Choice has been set in PatternChecksumPatternChecksum - HasChoice() bool - // Generated returns PatternChecksumPatternChecksumGeneratedEnum, set in PatternChecksumPatternChecksum - Generated() PatternChecksumPatternChecksumGeneratedEnum - // SetGenerated assigns PatternChecksumPatternChecksumGeneratedEnum provided by user to PatternChecksumPatternChecksum - SetGenerated(value PatternChecksumPatternChecksumGeneratedEnum) PatternChecksumPatternChecksum - // HasGenerated checks if Generated has been set in PatternChecksumPatternChecksum - HasGenerated() bool - // Custom returns uint32, set in PatternChecksumPatternChecksum. - Custom() uint32 - // SetCustom assigns uint32 provided by user to PatternChecksumPatternChecksum - SetCustom(value uint32) PatternChecksumPatternChecksum - // HasCustom checks if Custom has been set in PatternChecksumPatternChecksum - HasCustom() bool -} - -type PatternChecksumPatternChecksumChoiceEnum string - -// Enum of Choice on PatternChecksumPatternChecksum -var PatternChecksumPatternChecksumChoice = struct { - GENERATED PatternChecksumPatternChecksumChoiceEnum - CUSTOM PatternChecksumPatternChecksumChoiceEnum -}{ - GENERATED: PatternChecksumPatternChecksumChoiceEnum("generated"), - CUSTOM: PatternChecksumPatternChecksumChoiceEnum("custom"), -} - -func (obj *patternChecksumPatternChecksum) Choice() PatternChecksumPatternChecksumChoiceEnum { - return PatternChecksumPatternChecksumChoiceEnum(obj.obj.Choice.Enum().String()) -} - -// The type of checksum -// Choice returns a string -func (obj *patternChecksumPatternChecksum) HasChoice() bool { - return obj.obj.Choice != nil -} - -func (obj *patternChecksumPatternChecksum) SetChoice(value PatternChecksumPatternChecksumChoiceEnum) PatternChecksumPatternChecksum { - intValue, ok := sanity.PatternChecksumPatternChecksum_Choice_Enum_value[string(value)] - if !ok { - obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( - "%s is not a valid choice on PatternChecksumPatternChecksumChoiceEnum", string(value))) - return obj - } - enumValue := sanity.PatternChecksumPatternChecksum_Choice_Enum(intValue) - obj.obj.Choice = &enumValue - obj.obj.Custom = nil - obj.obj.Generated = sanity.PatternChecksumPatternChecksum_Generated_unspecified.Enum() - return obj -} - -type PatternChecksumPatternChecksumGeneratedEnum string - -// Enum of Generated on PatternChecksumPatternChecksum -var PatternChecksumPatternChecksumGenerated = struct { - GOOD PatternChecksumPatternChecksumGeneratedEnum - BAD PatternChecksumPatternChecksumGeneratedEnum -}{ - GOOD: PatternChecksumPatternChecksumGeneratedEnum("good"), - BAD: PatternChecksumPatternChecksumGeneratedEnum("bad"), -} - -func (obj *patternChecksumPatternChecksum) Generated() PatternChecksumPatternChecksumGeneratedEnum { - return PatternChecksumPatternChecksumGeneratedEnum(obj.obj.Generated.Enum().String()) -} - -// A system generated checksum value -// Generated returns a string -func (obj *patternChecksumPatternChecksum) HasGenerated() bool { - return obj.obj.Generated != nil -} - -func (obj *patternChecksumPatternChecksum) SetGenerated(value PatternChecksumPatternChecksumGeneratedEnum) PatternChecksumPatternChecksum { - intValue, ok := sanity.PatternChecksumPatternChecksum_Generated_Enum_value[string(value)] - if !ok { - obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( - "%s is not a valid choice on PatternChecksumPatternChecksumGeneratedEnum", string(value))) - return obj - } - enumValue := sanity.PatternChecksumPatternChecksum_Generated_Enum(intValue) - obj.obj.Generated = &enumValue - - return obj -} - -// A custom checksum value -// Custom returns a uint32 -func (obj *patternChecksumPatternChecksum) Custom() uint32 { - - if obj.obj.Custom == nil { - obj.SetChoice(PatternChecksumPatternChecksumChoice.CUSTOM) - } - - return *obj.obj.Custom - -} - -// A custom checksum value -// Custom returns a uint32 -func (obj *patternChecksumPatternChecksum) HasCustom() bool { - return obj.obj.Custom != nil -} - -// A custom checksum value -// SetCustom sets the uint32 value in the PatternChecksumPatternChecksum object -func (obj *patternChecksumPatternChecksum) SetCustom(value uint32) PatternChecksumPatternChecksum { - obj.SetChoice(PatternChecksumPatternChecksumChoice.CUSTOM) - obj.obj.Custom = &value - return obj -} - -func (obj *patternChecksumPatternChecksum) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - if obj.obj.Custom != nil { - - if *obj.obj.Custom > 255 { - vObj.validationErrors = append( - vObj.validationErrors, - fmt.Sprintf("0 <= PatternChecksumPatternChecksum.Custom <= 255 but Got %d", *obj.obj.Custom)) - } - - } - -} - -func (obj *patternChecksumPatternChecksum) setDefault() { - if obj.obj.Choice == nil { - obj.SetChoice(PatternChecksumPatternChecksumChoice.GENERATED) - if obj.obj.Generated.Number() == 0 { - obj.SetGenerated(PatternChecksumPatternChecksumGenerated.GOOD) - - } - - } - -} - -// ***** PatternPrefixConfigAutoFieldTestCounter ***** -type patternPrefixConfigAutoFieldTestCounter struct { - validation - obj *sanity.PatternPrefixConfigAutoFieldTestCounter -} - -func NewPatternPrefixConfigAutoFieldTestCounter() PatternPrefixConfigAutoFieldTestCounter { - obj := patternPrefixConfigAutoFieldTestCounter{obj: &sanity.PatternPrefixConfigAutoFieldTestCounter{}} - obj.setDefault() - return &obj -} - -func (obj *patternPrefixConfigAutoFieldTestCounter) Msg() *sanity.PatternPrefixConfigAutoFieldTestCounter { - return obj.obj -} - -func (obj *patternPrefixConfigAutoFieldTestCounter) SetMsg(msg *sanity.PatternPrefixConfigAutoFieldTestCounter) PatternPrefixConfigAutoFieldTestCounter { - - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *patternPrefixConfigAutoFieldTestCounter) ToProto() (*sanity.PatternPrefixConfigAutoFieldTestCounter, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *patternPrefixConfigAutoFieldTestCounter) FromProto(msg *sanity.PatternPrefixConfigAutoFieldTestCounter) (PatternPrefixConfigAutoFieldTestCounter, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *patternPrefixConfigAutoFieldTestCounter) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *patternPrefixConfigAutoFieldTestCounter) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *patternPrefixConfigAutoFieldTestCounter) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *patternPrefixConfigAutoFieldTestCounter) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *patternPrefixConfigAutoFieldTestCounter) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *patternPrefixConfigAutoFieldTestCounter) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *patternPrefixConfigAutoFieldTestCounter) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *patternPrefixConfigAutoFieldTestCounter) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *patternPrefixConfigAutoFieldTestCounter) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *patternPrefixConfigAutoFieldTestCounter) Clone() (PatternPrefixConfigAutoFieldTestCounter, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewPatternPrefixConfigAutoFieldTestCounter() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -// PatternPrefixConfigAutoFieldTestCounter is integer counter pattern -type PatternPrefixConfigAutoFieldTestCounter interface { - Validation - // Msg marshals PatternPrefixConfigAutoFieldTestCounter to protobuf object *sanity.PatternPrefixConfigAutoFieldTestCounter - // and doesn't set defaults - Msg() *sanity.PatternPrefixConfigAutoFieldTestCounter - // SetMsg unmarshals PatternPrefixConfigAutoFieldTestCounter from protobuf object *sanity.PatternPrefixConfigAutoFieldTestCounter - // and doesn't set defaults - SetMsg(*sanity.PatternPrefixConfigAutoFieldTestCounter) PatternPrefixConfigAutoFieldTestCounter - // ToProto marshals PatternPrefixConfigAutoFieldTestCounter to protobuf object *sanity.PatternPrefixConfigAutoFieldTestCounter - ToProto() (*sanity.PatternPrefixConfigAutoFieldTestCounter, error) - // ToPbText marshals PatternPrefixConfigAutoFieldTestCounter to protobuf text - ToPbText() (string, error) - // ToYaml marshals PatternPrefixConfigAutoFieldTestCounter to YAML text - ToYaml() (string, error) - // ToJson marshals PatternPrefixConfigAutoFieldTestCounter to JSON text - ToJson() (string, error) - // FromProto unmarshals PatternPrefixConfigAutoFieldTestCounter from protobuf object *sanity.PatternPrefixConfigAutoFieldTestCounter - FromProto(msg *sanity.PatternPrefixConfigAutoFieldTestCounter) (PatternPrefixConfigAutoFieldTestCounter, error) - // FromPbText unmarshals PatternPrefixConfigAutoFieldTestCounter from protobuf text - FromPbText(value string) error - // FromYaml unmarshals PatternPrefixConfigAutoFieldTestCounter from YAML text - FromYaml(value string) error - // FromJson unmarshals PatternPrefixConfigAutoFieldTestCounter from JSON text - FromJson(value string) error - // Validate validates PatternPrefixConfigAutoFieldTestCounter - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (PatternPrefixConfigAutoFieldTestCounter, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // Start returns uint32, set in PatternPrefixConfigAutoFieldTestCounter. - Start() uint32 - // SetStart assigns uint32 provided by user to PatternPrefixConfigAutoFieldTestCounter - SetStart(value uint32) PatternPrefixConfigAutoFieldTestCounter - // HasStart checks if Start has been set in PatternPrefixConfigAutoFieldTestCounter - HasStart() bool - // Step returns uint32, set in PatternPrefixConfigAutoFieldTestCounter. - Step() uint32 - // SetStep assigns uint32 provided by user to PatternPrefixConfigAutoFieldTestCounter - SetStep(value uint32) PatternPrefixConfigAutoFieldTestCounter - // HasStep checks if Step has been set in PatternPrefixConfigAutoFieldTestCounter - HasStep() bool - // Count returns uint32, set in PatternPrefixConfigAutoFieldTestCounter. - Count() uint32 - // SetCount assigns uint32 provided by user to PatternPrefixConfigAutoFieldTestCounter - SetCount(value uint32) PatternPrefixConfigAutoFieldTestCounter - // HasCount checks if Count has been set in PatternPrefixConfigAutoFieldTestCounter - HasCount() bool -} - -// description is TBD -// Start returns a uint32 -func (obj *patternPrefixConfigAutoFieldTestCounter) Start() uint32 { - - return *obj.obj.Start - -} - -// description is TBD -// Start returns a uint32 -func (obj *patternPrefixConfigAutoFieldTestCounter) HasStart() bool { - return obj.obj.Start != nil -} - -// description is TBD -// SetStart sets the uint32 value in the PatternPrefixConfigAutoFieldTestCounter object -func (obj *patternPrefixConfigAutoFieldTestCounter) SetStart(value uint32) PatternPrefixConfigAutoFieldTestCounter { - - obj.obj.Start = &value - return obj -} - -// description is TBD -// Step returns a uint32 -func (obj *patternPrefixConfigAutoFieldTestCounter) Step() uint32 { - - return *obj.obj.Step - -} - -// description is TBD -// Step returns a uint32 -func (obj *patternPrefixConfigAutoFieldTestCounter) HasStep() bool { - return obj.obj.Step != nil -} - -// description is TBD -// SetStep sets the uint32 value in the PatternPrefixConfigAutoFieldTestCounter object -func (obj *patternPrefixConfigAutoFieldTestCounter) SetStep(value uint32) PatternPrefixConfigAutoFieldTestCounter { - - obj.obj.Step = &value - return obj -} - -// description is TBD -// Count returns a uint32 -func (obj *patternPrefixConfigAutoFieldTestCounter) Count() uint32 { - - return *obj.obj.Count - -} - -// description is TBD -// Count returns a uint32 -func (obj *patternPrefixConfigAutoFieldTestCounter) HasCount() bool { - return obj.obj.Count != nil -} - -// description is TBD -// SetCount sets the uint32 value in the PatternPrefixConfigAutoFieldTestCounter object -func (obj *patternPrefixConfigAutoFieldTestCounter) SetCount(value uint32) PatternPrefixConfigAutoFieldTestCounter { - - obj.obj.Count = &value - return obj -} - -func (obj *patternPrefixConfigAutoFieldTestCounter) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - if obj.obj.Start != nil { - - if *obj.obj.Start > 255 { - vObj.validationErrors = append( - vObj.validationErrors, - fmt.Sprintf("0 <= PatternPrefixConfigAutoFieldTestCounter.Start <= 255 but Got %d", *obj.obj.Start)) - } - - } - - if obj.obj.Step != nil { - - if *obj.obj.Step > 255 { - vObj.validationErrors = append( - vObj.validationErrors, - fmt.Sprintf("0 <= PatternPrefixConfigAutoFieldTestCounter.Step <= 255 but Got %d", *obj.obj.Step)) - } - - } - - if obj.obj.Count != nil { - - if *obj.obj.Count > 255 { - vObj.validationErrors = append( - vObj.validationErrors, - fmt.Sprintf("0 <= PatternPrefixConfigAutoFieldTestCounter.Count <= 255 but Got %d", *obj.obj.Count)) - } - - } - -} - -func (obj *patternPrefixConfigAutoFieldTestCounter) setDefault() { - if obj.obj.Start == nil { - obj.SetStart(0) - } - if obj.obj.Step == nil { - obj.SetStep(1) - } - if obj.obj.Count == nil { - obj.SetCount(1) - } - -} - -// ***** RequiredChoiceIntermediate ***** -type requiredChoiceIntermediate struct { - validation - obj *sanity.RequiredChoiceIntermediate - leafHolder RequiredChoiceIntermeLeaf -} - -func NewRequiredChoiceIntermediate() RequiredChoiceIntermediate { - obj := requiredChoiceIntermediate{obj: &sanity.RequiredChoiceIntermediate{}} - obj.setDefault() - return &obj -} - -func (obj *requiredChoiceIntermediate) Msg() *sanity.RequiredChoiceIntermediate { - return obj.obj -} - -func (obj *requiredChoiceIntermediate) SetMsg(msg *sanity.RequiredChoiceIntermediate) RequiredChoiceIntermediate { - obj.setNil() - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *requiredChoiceIntermediate) ToProto() (*sanity.RequiredChoiceIntermediate, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *requiredChoiceIntermediate) FromProto(msg *sanity.RequiredChoiceIntermediate) (RequiredChoiceIntermediate, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *requiredChoiceIntermediate) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *requiredChoiceIntermediate) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *requiredChoiceIntermediate) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *requiredChoiceIntermediate) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *requiredChoiceIntermediate) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *requiredChoiceIntermediate) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - obj.setNil() - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *requiredChoiceIntermediate) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *requiredChoiceIntermediate) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *requiredChoiceIntermediate) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *requiredChoiceIntermediate) Clone() (RequiredChoiceIntermediate, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewRequiredChoiceIntermediate() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -func (obj *requiredChoiceIntermediate) setNil() { - obj.leafHolder = nil - obj.validationErrors = nil - obj.warnings = nil - obj.constraints = make(map[string]map[string]Constraints) -} - -// RequiredChoiceIntermediate is description is TBD -type RequiredChoiceIntermediate interface { - Validation - // Msg marshals RequiredChoiceIntermediate to protobuf object *sanity.RequiredChoiceIntermediate - // and doesn't set defaults - Msg() *sanity.RequiredChoiceIntermediate - // SetMsg unmarshals RequiredChoiceIntermediate from protobuf object *sanity.RequiredChoiceIntermediate - // and doesn't set defaults - SetMsg(*sanity.RequiredChoiceIntermediate) RequiredChoiceIntermediate - // ToProto marshals RequiredChoiceIntermediate to protobuf object *sanity.RequiredChoiceIntermediate - ToProto() (*sanity.RequiredChoiceIntermediate, error) - // ToPbText marshals RequiredChoiceIntermediate to protobuf text - ToPbText() (string, error) - // ToYaml marshals RequiredChoiceIntermediate to YAML text - ToYaml() (string, error) - // ToJson marshals RequiredChoiceIntermediate to JSON text - ToJson() (string, error) - // FromProto unmarshals RequiredChoiceIntermediate from protobuf object *sanity.RequiredChoiceIntermediate - FromProto(msg *sanity.RequiredChoiceIntermediate) (RequiredChoiceIntermediate, error) - // FromPbText unmarshals RequiredChoiceIntermediate from protobuf text - FromPbText(value string) error - // FromYaml unmarshals RequiredChoiceIntermediate from YAML text - FromYaml(value string) error - // FromJson unmarshals RequiredChoiceIntermediate from JSON text - FromJson(value string) error - // Validate validates RequiredChoiceIntermediate - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (RequiredChoiceIntermediate, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // Choice returns RequiredChoiceIntermediateChoiceEnum, set in RequiredChoiceIntermediate - Choice() RequiredChoiceIntermediateChoiceEnum - // SetChoice assigns RequiredChoiceIntermediateChoiceEnum provided by user to RequiredChoiceIntermediate - SetChoice(value RequiredChoiceIntermediateChoiceEnum) RequiredChoiceIntermediate - // FA returns string, set in RequiredChoiceIntermediate. - FA() string - // SetFA assigns string provided by user to RequiredChoiceIntermediate - SetFA(value string) RequiredChoiceIntermediate - // HasFA checks if FA has been set in RequiredChoiceIntermediate - HasFA() bool - // Leaf returns RequiredChoiceIntermeLeaf, set in RequiredChoiceIntermediate. - // RequiredChoiceIntermeLeaf is description is TBD - Leaf() RequiredChoiceIntermeLeaf - // SetLeaf assigns RequiredChoiceIntermeLeaf provided by user to RequiredChoiceIntermediate. - // RequiredChoiceIntermeLeaf is description is TBD - SetLeaf(value RequiredChoiceIntermeLeaf) RequiredChoiceIntermediate - // HasLeaf checks if Leaf has been set in RequiredChoiceIntermediate - HasLeaf() bool - setNil() -} - -type RequiredChoiceIntermediateChoiceEnum string - -// Enum of Choice on RequiredChoiceIntermediate -var RequiredChoiceIntermediateChoice = struct { - F_A RequiredChoiceIntermediateChoiceEnum - LEAF RequiredChoiceIntermediateChoiceEnum -}{ - F_A: RequiredChoiceIntermediateChoiceEnum("f_a"), - LEAF: RequiredChoiceIntermediateChoiceEnum("leaf"), -} - -func (obj *requiredChoiceIntermediate) Choice() RequiredChoiceIntermediateChoiceEnum { - return RequiredChoiceIntermediateChoiceEnum(obj.obj.Choice.Enum().String()) -} - -func (obj *requiredChoiceIntermediate) SetChoice(value RequiredChoiceIntermediateChoiceEnum) RequiredChoiceIntermediate { - intValue, ok := sanity.RequiredChoiceIntermediate_Choice_Enum_value[string(value)] - if !ok { - obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( - "%s is not a valid choice on RequiredChoiceIntermediateChoiceEnum", string(value))) - return obj - } - obj.obj.Choice = sanity.RequiredChoiceIntermediate_Choice_Enum(intValue) - obj.obj.Leaf = nil - obj.leafHolder = nil - obj.obj.FA = nil - - if value == RequiredChoiceIntermediateChoice.F_A { - defaultValue := "some string" - obj.obj.FA = &defaultValue - } - - if value == RequiredChoiceIntermediateChoice.LEAF { - obj.obj.Leaf = NewRequiredChoiceIntermeLeaf().Msg() - } - - return obj -} - -// description is TBD -// FA returns a string -func (obj *requiredChoiceIntermediate) FA() string { - - if obj.obj.FA == nil { - obj.SetChoice(RequiredChoiceIntermediateChoice.F_A) - } - - return *obj.obj.FA - -} - -// description is TBD -// FA returns a string -func (obj *requiredChoiceIntermediate) HasFA() bool { - return obj.obj.FA != nil -} - -// description is TBD -// SetFA sets the string value in the RequiredChoiceIntermediate object -func (obj *requiredChoiceIntermediate) SetFA(value string) RequiredChoiceIntermediate { - obj.SetChoice(RequiredChoiceIntermediateChoice.F_A) - obj.obj.FA = &value - return obj -} - -// description is TBD -// Leaf returns a RequiredChoiceIntermeLeaf -func (obj *requiredChoiceIntermediate) Leaf() RequiredChoiceIntermeLeaf { - if obj.obj.Leaf == nil { - obj.SetChoice(RequiredChoiceIntermediateChoice.LEAF) - } - if obj.leafHolder == nil { - obj.leafHolder = &requiredChoiceIntermeLeaf{obj: obj.obj.Leaf} - } - return obj.leafHolder -} - -// description is TBD -// Leaf returns a RequiredChoiceIntermeLeaf -func (obj *requiredChoiceIntermediate) HasLeaf() bool { - return obj.obj.Leaf != nil -} - -// description is TBD -// SetLeaf sets the RequiredChoiceIntermeLeaf value in the RequiredChoiceIntermediate object -func (obj *requiredChoiceIntermediate) SetLeaf(value RequiredChoiceIntermeLeaf) RequiredChoiceIntermediate { - obj.SetChoice(RequiredChoiceIntermediateChoice.LEAF) - obj.leafHolder = nil - obj.obj.Leaf = value.Msg() - - return obj -} - -func (obj *requiredChoiceIntermediate) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - // Choice is required - if obj.obj.Choice.Number() == 0 { - vObj.validationErrors = append(vObj.validationErrors, "Choice is required field on interface RequiredChoiceIntermediate") - } - - if obj.obj.Leaf != nil { - - obj.Leaf().validateObj(vObj, set_default) - } - -} - -func (obj *requiredChoiceIntermediate) setDefault() { - if obj.obj.FA == nil { - obj.SetFA("some string") - } - -} - -// ***** PortMetric ***** -type portMetric struct { - validation - obj *sanity.PortMetric -} - -func NewPortMetric() PortMetric { - obj := portMetric{obj: &sanity.PortMetric{}} - obj.setDefault() - return &obj -} - -func (obj *portMetric) Msg() *sanity.PortMetric { - return obj.obj -} - -func (obj *portMetric) SetMsg(msg *sanity.PortMetric) PortMetric { - - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *portMetric) ToProto() (*sanity.PortMetric, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *portMetric) FromProto(msg *sanity.PortMetric) (PortMetric, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *portMetric) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *portMetric) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *portMetric) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *portMetric) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *portMetric) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *portMetric) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *portMetric) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *portMetric) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *portMetric) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *portMetric) Clone() (PortMetric, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewPortMetric() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -// PortMetric is description is TBD -type PortMetric interface { - Validation - // Msg marshals PortMetric to protobuf object *sanity.PortMetric - // and doesn't set defaults - Msg() *sanity.PortMetric - // SetMsg unmarshals PortMetric from protobuf object *sanity.PortMetric - // and doesn't set defaults - SetMsg(*sanity.PortMetric) PortMetric - // ToProto marshals PortMetric to protobuf object *sanity.PortMetric - ToProto() (*sanity.PortMetric, error) - // ToPbText marshals PortMetric to protobuf text - ToPbText() (string, error) - // ToYaml marshals PortMetric to YAML text - ToYaml() (string, error) - // ToJson marshals PortMetric to JSON text - ToJson() (string, error) - // FromProto unmarshals PortMetric from protobuf object *sanity.PortMetric - FromProto(msg *sanity.PortMetric) (PortMetric, error) - // FromPbText unmarshals PortMetric from protobuf text - FromPbText(value string) error - // FromYaml unmarshals PortMetric from YAML text - FromYaml(value string) error - // FromJson unmarshals PortMetric from JSON text - FromJson(value string) error - // Validate validates PortMetric - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (PortMetric, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // Name returns string, set in PortMetric. - Name() string - // SetName assigns string provided by user to PortMetric - SetName(value string) PortMetric - // TxFrames returns float64, set in PortMetric. - TxFrames() float64 - // SetTxFrames assigns float64 provided by user to PortMetric - SetTxFrames(value float64) PortMetric - // RxFrames returns float64, set in PortMetric. - RxFrames() float64 - // SetRxFrames assigns float64 provided by user to PortMetric - SetRxFrames(value float64) PortMetric -} - -// description is TBD -// Name returns a string -func (obj *portMetric) Name() string { - - return obj.obj.Name -} - -// description is TBD -// SetName sets the string value in the PortMetric object -func (obj *portMetric) SetName(value string) PortMetric { - - obj.obj.Name = value - return obj -} - -// description is TBD -// TxFrames returns a float64 -func (obj *portMetric) TxFrames() float64 { - - return obj.obj.TxFrames -} - -// description is TBD -// SetTxFrames sets the float64 value in the PortMetric object -func (obj *portMetric) SetTxFrames(value float64) PortMetric { - - obj.obj.TxFrames = value - return obj -} - -// description is TBD -// RxFrames returns a float64 -func (obj *portMetric) RxFrames() float64 { - - return obj.obj.RxFrames -} - -// description is TBD -// SetRxFrames sets the float64 value in the PortMetric object -func (obj *portMetric) SetRxFrames(value float64) PortMetric { - - obj.obj.RxFrames = value - return obj -} - -func (obj *portMetric) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - // Name is required - if obj.obj.Name == "" { - vObj.validationErrors = append(vObj.validationErrors, "Name is required field on interface PortMetric") - } -} - -func (obj *portMetric) setDefault() { - -} - -// ***** FlowMetric ***** -type flowMetric struct { - validation - obj *sanity.FlowMetric -} - -func NewFlowMetric() FlowMetric { - obj := flowMetric{obj: &sanity.FlowMetric{}} - obj.setDefault() - return &obj -} - -func (obj *flowMetric) Msg() *sanity.FlowMetric { - return obj.obj -} - -func (obj *flowMetric) SetMsg(msg *sanity.FlowMetric) FlowMetric { - - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *flowMetric) ToProto() (*sanity.FlowMetric, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *flowMetric) FromProto(msg *sanity.FlowMetric) (FlowMetric, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *flowMetric) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *flowMetric) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *flowMetric) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *flowMetric) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *flowMetric) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *flowMetric) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *flowMetric) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *flowMetric) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *flowMetric) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *flowMetric) Clone() (FlowMetric, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewFlowMetric() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -// FlowMetric is description is TBD -type FlowMetric interface { - Validation - // Msg marshals FlowMetric to protobuf object *sanity.FlowMetric - // and doesn't set defaults - Msg() *sanity.FlowMetric - // SetMsg unmarshals FlowMetric from protobuf object *sanity.FlowMetric - // and doesn't set defaults - SetMsg(*sanity.FlowMetric) FlowMetric - // ToProto marshals FlowMetric to protobuf object *sanity.FlowMetric - ToProto() (*sanity.FlowMetric, error) - // ToPbText marshals FlowMetric to protobuf text - ToPbText() (string, error) - // ToYaml marshals FlowMetric to YAML text - ToYaml() (string, error) - // ToJson marshals FlowMetric to JSON text - ToJson() (string, error) - // FromProto unmarshals FlowMetric from protobuf object *sanity.FlowMetric - FromProto(msg *sanity.FlowMetric) (FlowMetric, error) - // FromPbText unmarshals FlowMetric from protobuf text - FromPbText(value string) error - // FromYaml unmarshals FlowMetric from YAML text - FromYaml(value string) error - // FromJson unmarshals FlowMetric from JSON text - FromJson(value string) error - // Validate validates FlowMetric - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (FlowMetric, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // Name returns string, set in FlowMetric. - Name() string - // SetName assigns string provided by user to FlowMetric - SetName(value string) FlowMetric - // TxFrames returns float64, set in FlowMetric. - TxFrames() float64 - // SetTxFrames assigns float64 provided by user to FlowMetric - SetTxFrames(value float64) FlowMetric - // RxFrames returns float64, set in FlowMetric. - RxFrames() float64 - // SetRxFrames assigns float64 provided by user to FlowMetric - SetRxFrames(value float64) FlowMetric -} - -// description is TBD -// Name returns a string -func (obj *flowMetric) Name() string { - - return obj.obj.Name -} - -// description is TBD -// SetName sets the string value in the FlowMetric object -func (obj *flowMetric) SetName(value string) FlowMetric { - - obj.obj.Name = value - return obj -} - -// description is TBD -// TxFrames returns a float64 -func (obj *flowMetric) TxFrames() float64 { - - return obj.obj.TxFrames -} - -// description is TBD -// SetTxFrames sets the float64 value in the FlowMetric object -func (obj *flowMetric) SetTxFrames(value float64) FlowMetric { - - obj.obj.TxFrames = value - return obj -} - -// description is TBD -// RxFrames returns a float64 -func (obj *flowMetric) RxFrames() float64 { - - return obj.obj.RxFrames -} - -// description is TBD -// SetRxFrames sets the float64 value in the FlowMetric object -func (obj *flowMetric) SetRxFrames(value float64) FlowMetric { - - obj.obj.RxFrames = value - return obj -} - -func (obj *flowMetric) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - // Name is required - if obj.obj.Name == "" { - vObj.validationErrors = append(vObj.validationErrors, "Name is required field on interface FlowMetric") - } -} - -func (obj *flowMetric) setDefault() { - -} - -// ***** LevelThree ***** -type levelThree struct { - validation - obj *sanity.LevelThree -} - -func NewLevelThree() LevelThree { - obj := levelThree{obj: &sanity.LevelThree{}} - obj.setDefault() - return &obj -} - -func (obj *levelThree) Msg() *sanity.LevelThree { - return obj.obj -} - -func (obj *levelThree) SetMsg(msg *sanity.LevelThree) LevelThree { - - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *levelThree) ToProto() (*sanity.LevelThree, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *levelThree) FromProto(msg *sanity.LevelThree) (LevelThree, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *levelThree) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *levelThree) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *levelThree) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *levelThree) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *levelThree) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *levelThree) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *levelThree) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *levelThree) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *levelThree) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *levelThree) Clone() (LevelThree, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewLevelThree() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -// LevelThree is test Level3 -type LevelThree interface { - Validation - // Msg marshals LevelThree to protobuf object *sanity.LevelThree - // and doesn't set defaults - Msg() *sanity.LevelThree - // SetMsg unmarshals LevelThree from protobuf object *sanity.LevelThree - // and doesn't set defaults - SetMsg(*sanity.LevelThree) LevelThree - // ToProto marshals LevelThree to protobuf object *sanity.LevelThree - ToProto() (*sanity.LevelThree, error) - // ToPbText marshals LevelThree to protobuf text - ToPbText() (string, error) - // ToYaml marshals LevelThree to YAML text - ToYaml() (string, error) - // ToJson marshals LevelThree to JSON text - ToJson() (string, error) - // FromProto unmarshals LevelThree from protobuf object *sanity.LevelThree - FromProto(msg *sanity.LevelThree) (LevelThree, error) - // FromPbText unmarshals LevelThree from protobuf text - FromPbText(value string) error - // FromYaml unmarshals LevelThree from YAML text - FromYaml(value string) error - // FromJson unmarshals LevelThree from JSON text - FromJson(value string) error - // Validate validates LevelThree - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (LevelThree, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // L3P1 returns string, set in LevelThree. - L3P1() string - // SetL3P1 assigns string provided by user to LevelThree - SetL3P1(value string) LevelThree - // HasL3P1 checks if L3P1 has been set in LevelThree - HasL3P1() bool -} - -// Set value at Level 3 -// L3P1 returns a string -func (obj *levelThree) L3P1() string { - - return *obj.obj.L3P1 - -} - -// Set value at Level 3 -// L3P1 returns a string -func (obj *levelThree) HasL3P1() bool { - return obj.obj.L3P1 != nil -} - -// Set value at Level 3 -// SetL3P1 sets the string value in the LevelThree object -func (obj *levelThree) SetL3P1(value string) LevelThree { - - obj.obj.L3P1 = &value - return obj -} - -func (obj *levelThree) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - -} - -func (obj *levelThree) setDefault() { - -} - -// ***** PatternIpv4PatternIpv4Counter ***** -type patternIpv4PatternIpv4Counter struct { - validation - obj *sanity.PatternIpv4PatternIpv4Counter -} - -func NewPatternIpv4PatternIpv4Counter() PatternIpv4PatternIpv4Counter { - obj := patternIpv4PatternIpv4Counter{obj: &sanity.PatternIpv4PatternIpv4Counter{}} - obj.setDefault() - return &obj -} - -func (obj *patternIpv4PatternIpv4Counter) Msg() *sanity.PatternIpv4PatternIpv4Counter { - return obj.obj -} - -func (obj *patternIpv4PatternIpv4Counter) SetMsg(msg *sanity.PatternIpv4PatternIpv4Counter) PatternIpv4PatternIpv4Counter { - - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *patternIpv4PatternIpv4Counter) ToProto() (*sanity.PatternIpv4PatternIpv4Counter, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *patternIpv4PatternIpv4Counter) FromProto(msg *sanity.PatternIpv4PatternIpv4Counter) (PatternIpv4PatternIpv4Counter, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *patternIpv4PatternIpv4Counter) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *patternIpv4PatternIpv4Counter) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *patternIpv4PatternIpv4Counter) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *patternIpv4PatternIpv4Counter) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *patternIpv4PatternIpv4Counter) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *patternIpv4PatternIpv4Counter) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *patternIpv4PatternIpv4Counter) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *patternIpv4PatternIpv4Counter) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *patternIpv4PatternIpv4Counter) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *patternIpv4PatternIpv4Counter) Clone() (PatternIpv4PatternIpv4Counter, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewPatternIpv4PatternIpv4Counter() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -// PatternIpv4PatternIpv4Counter is ipv4 counter pattern -type PatternIpv4PatternIpv4Counter interface { - Validation - // Msg marshals PatternIpv4PatternIpv4Counter to protobuf object *sanity.PatternIpv4PatternIpv4Counter - // and doesn't set defaults - Msg() *sanity.PatternIpv4PatternIpv4Counter - // SetMsg unmarshals PatternIpv4PatternIpv4Counter from protobuf object *sanity.PatternIpv4PatternIpv4Counter - // and doesn't set defaults - SetMsg(*sanity.PatternIpv4PatternIpv4Counter) PatternIpv4PatternIpv4Counter - // ToProto marshals PatternIpv4PatternIpv4Counter to protobuf object *sanity.PatternIpv4PatternIpv4Counter - ToProto() (*sanity.PatternIpv4PatternIpv4Counter, error) - // ToPbText marshals PatternIpv4PatternIpv4Counter to protobuf text - ToPbText() (string, error) - // ToYaml marshals PatternIpv4PatternIpv4Counter to YAML text - ToYaml() (string, error) - // ToJson marshals PatternIpv4PatternIpv4Counter to JSON text - ToJson() (string, error) - // FromProto unmarshals PatternIpv4PatternIpv4Counter from protobuf object *sanity.PatternIpv4PatternIpv4Counter - FromProto(msg *sanity.PatternIpv4PatternIpv4Counter) (PatternIpv4PatternIpv4Counter, error) - // FromPbText unmarshals PatternIpv4PatternIpv4Counter from protobuf text - FromPbText(value string) error - // FromYaml unmarshals PatternIpv4PatternIpv4Counter from YAML text - FromYaml(value string) error - // FromJson unmarshals PatternIpv4PatternIpv4Counter from JSON text - FromJson(value string) error - // Validate validates PatternIpv4PatternIpv4Counter - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (PatternIpv4PatternIpv4Counter, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // Start returns string, set in PatternIpv4PatternIpv4Counter. - Start() string - // SetStart assigns string provided by user to PatternIpv4PatternIpv4Counter - SetStart(value string) PatternIpv4PatternIpv4Counter - // HasStart checks if Start has been set in PatternIpv4PatternIpv4Counter - HasStart() bool - // Step returns string, set in PatternIpv4PatternIpv4Counter. - Step() string - // SetStep assigns string provided by user to PatternIpv4PatternIpv4Counter - SetStep(value string) PatternIpv4PatternIpv4Counter - // HasStep checks if Step has been set in PatternIpv4PatternIpv4Counter - HasStep() bool - // Count returns uint32, set in PatternIpv4PatternIpv4Counter. - Count() uint32 - // SetCount assigns uint32 provided by user to PatternIpv4PatternIpv4Counter - SetCount(value uint32) PatternIpv4PatternIpv4Counter - // HasCount checks if Count has been set in PatternIpv4PatternIpv4Counter - HasCount() bool -} - -// description is TBD -// Start returns a string -func (obj *patternIpv4PatternIpv4Counter) Start() string { - - return *obj.obj.Start - -} - -// description is TBD -// Start returns a string -func (obj *patternIpv4PatternIpv4Counter) HasStart() bool { - return obj.obj.Start != nil -} - -// description is TBD -// SetStart sets the string value in the PatternIpv4PatternIpv4Counter object -func (obj *patternIpv4PatternIpv4Counter) SetStart(value string) PatternIpv4PatternIpv4Counter { - - obj.obj.Start = &value - return obj -} - -// description is TBD -// Step returns a string -func (obj *patternIpv4PatternIpv4Counter) Step() string { - - return *obj.obj.Step - -} - -// description is TBD -// Step returns a string -func (obj *patternIpv4PatternIpv4Counter) HasStep() bool { - return obj.obj.Step != nil -} - -// description is TBD -// SetStep sets the string value in the PatternIpv4PatternIpv4Counter object -func (obj *patternIpv4PatternIpv4Counter) SetStep(value string) PatternIpv4PatternIpv4Counter { - - obj.obj.Step = &value - return obj -} - -// description is TBD -// Count returns a uint32 -func (obj *patternIpv4PatternIpv4Counter) Count() uint32 { - - return *obj.obj.Count - -} - -// description is TBD -// Count returns a uint32 -func (obj *patternIpv4PatternIpv4Counter) HasCount() bool { - return obj.obj.Count != nil -} - -// description is TBD -// SetCount sets the uint32 value in the PatternIpv4PatternIpv4Counter object -func (obj *patternIpv4PatternIpv4Counter) SetCount(value uint32) PatternIpv4PatternIpv4Counter { - - obj.obj.Count = &value - return obj -} - -func (obj *patternIpv4PatternIpv4Counter) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - if obj.obj.Start != nil { - - err := obj.validateIpv4(obj.Start()) - if err != nil { - vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternIpv4PatternIpv4Counter.Start")) - } - - } - - if obj.obj.Step != nil { - - err := obj.validateIpv4(obj.Step()) - if err != nil { - vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternIpv4PatternIpv4Counter.Step")) - } - - } - -} - -func (obj *patternIpv4PatternIpv4Counter) setDefault() { - if obj.obj.Start == nil { - obj.SetStart("0.0.0.0") - } - if obj.obj.Step == nil { - obj.SetStep("0.0.0.1") - } - if obj.obj.Count == nil { - obj.SetCount(1) - } - -} - -// ***** PatternIpv6PatternIpv6Counter ***** -type patternIpv6PatternIpv6Counter struct { - validation - obj *sanity.PatternIpv6PatternIpv6Counter -} - -func NewPatternIpv6PatternIpv6Counter() PatternIpv6PatternIpv6Counter { - obj := patternIpv6PatternIpv6Counter{obj: &sanity.PatternIpv6PatternIpv6Counter{}} - obj.setDefault() - return &obj -} - -func (obj *patternIpv6PatternIpv6Counter) Msg() *sanity.PatternIpv6PatternIpv6Counter { - return obj.obj -} - -func (obj *patternIpv6PatternIpv6Counter) SetMsg(msg *sanity.PatternIpv6PatternIpv6Counter) PatternIpv6PatternIpv6Counter { - - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *patternIpv6PatternIpv6Counter) ToProto() (*sanity.PatternIpv6PatternIpv6Counter, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *patternIpv6PatternIpv6Counter) FromProto(msg *sanity.PatternIpv6PatternIpv6Counter) (PatternIpv6PatternIpv6Counter, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *patternIpv6PatternIpv6Counter) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *patternIpv6PatternIpv6Counter) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *patternIpv6PatternIpv6Counter) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *patternIpv6PatternIpv6Counter) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *patternIpv6PatternIpv6Counter) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *patternIpv6PatternIpv6Counter) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *patternIpv6PatternIpv6Counter) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *patternIpv6PatternIpv6Counter) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *patternIpv6PatternIpv6Counter) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *patternIpv6PatternIpv6Counter) Clone() (PatternIpv6PatternIpv6Counter, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewPatternIpv6PatternIpv6Counter() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -// PatternIpv6PatternIpv6Counter is ipv6 counter pattern -type PatternIpv6PatternIpv6Counter interface { - Validation - // Msg marshals PatternIpv6PatternIpv6Counter to protobuf object *sanity.PatternIpv6PatternIpv6Counter - // and doesn't set defaults - Msg() *sanity.PatternIpv6PatternIpv6Counter - // SetMsg unmarshals PatternIpv6PatternIpv6Counter from protobuf object *sanity.PatternIpv6PatternIpv6Counter - // and doesn't set defaults - SetMsg(*sanity.PatternIpv6PatternIpv6Counter) PatternIpv6PatternIpv6Counter - // ToProto marshals PatternIpv6PatternIpv6Counter to protobuf object *sanity.PatternIpv6PatternIpv6Counter - ToProto() (*sanity.PatternIpv6PatternIpv6Counter, error) - // ToPbText marshals PatternIpv6PatternIpv6Counter to protobuf text - ToPbText() (string, error) - // ToYaml marshals PatternIpv6PatternIpv6Counter to YAML text - ToYaml() (string, error) - // ToJson marshals PatternIpv6PatternIpv6Counter to JSON text - ToJson() (string, error) - // FromProto unmarshals PatternIpv6PatternIpv6Counter from protobuf object *sanity.PatternIpv6PatternIpv6Counter - FromProto(msg *sanity.PatternIpv6PatternIpv6Counter) (PatternIpv6PatternIpv6Counter, error) - // FromPbText unmarshals PatternIpv6PatternIpv6Counter from protobuf text - FromPbText(value string) error - // FromYaml unmarshals PatternIpv6PatternIpv6Counter from YAML text - FromYaml(value string) error - // FromJson unmarshals PatternIpv6PatternIpv6Counter from JSON text - FromJson(value string) error - // Validate validates PatternIpv6PatternIpv6Counter - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (PatternIpv6PatternIpv6Counter, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // Start returns string, set in PatternIpv6PatternIpv6Counter. - Start() string - // SetStart assigns string provided by user to PatternIpv6PatternIpv6Counter - SetStart(value string) PatternIpv6PatternIpv6Counter - // HasStart checks if Start has been set in PatternIpv6PatternIpv6Counter - HasStart() bool - // Step returns string, set in PatternIpv6PatternIpv6Counter. - Step() string - // SetStep assigns string provided by user to PatternIpv6PatternIpv6Counter - SetStep(value string) PatternIpv6PatternIpv6Counter - // HasStep checks if Step has been set in PatternIpv6PatternIpv6Counter - HasStep() bool - // Count returns uint32, set in PatternIpv6PatternIpv6Counter. - Count() uint32 - // SetCount assigns uint32 provided by user to PatternIpv6PatternIpv6Counter - SetCount(value uint32) PatternIpv6PatternIpv6Counter - // HasCount checks if Count has been set in PatternIpv6PatternIpv6Counter - HasCount() bool -} - -// description is TBD -// Start returns a string -func (obj *patternIpv6PatternIpv6Counter) Start() string { - - return *obj.obj.Start - -} - -// description is TBD -// Start returns a string -func (obj *patternIpv6PatternIpv6Counter) HasStart() bool { - return obj.obj.Start != nil -} - -// description is TBD -// SetStart sets the string value in the PatternIpv6PatternIpv6Counter object -func (obj *patternIpv6PatternIpv6Counter) SetStart(value string) PatternIpv6PatternIpv6Counter { - - obj.obj.Start = &value - return obj -} - -// description is TBD -// Step returns a string -func (obj *patternIpv6PatternIpv6Counter) Step() string { - - return *obj.obj.Step - -} - -// description is TBD -// Step returns a string -func (obj *patternIpv6PatternIpv6Counter) HasStep() bool { - return obj.obj.Step != nil -} - -// description is TBD -// SetStep sets the string value in the PatternIpv6PatternIpv6Counter object -func (obj *patternIpv6PatternIpv6Counter) SetStep(value string) PatternIpv6PatternIpv6Counter { - - obj.obj.Step = &value - return obj -} - -// description is TBD -// Count returns a uint32 -func (obj *patternIpv6PatternIpv6Counter) Count() uint32 { - - return *obj.obj.Count - -} - -// description is TBD -// Count returns a uint32 -func (obj *patternIpv6PatternIpv6Counter) HasCount() bool { - return obj.obj.Count != nil -} - -// description is TBD -// SetCount sets the uint32 value in the PatternIpv6PatternIpv6Counter object -func (obj *patternIpv6PatternIpv6Counter) SetCount(value uint32) PatternIpv6PatternIpv6Counter { - - obj.obj.Count = &value - return obj -} - -func (obj *patternIpv6PatternIpv6Counter) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - if obj.obj.Start != nil { - - err := obj.validateIpv6(obj.Start()) - if err != nil { - vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternIpv6PatternIpv6Counter.Start")) - } - - } - - if obj.obj.Step != nil { - - err := obj.validateIpv6(obj.Step()) - if err != nil { - vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternIpv6PatternIpv6Counter.Step")) - } - - } - -} - -func (obj *patternIpv6PatternIpv6Counter) setDefault() { - if obj.obj.Start == nil { - obj.SetStart("::") - } - if obj.obj.Step == nil { - obj.SetStep("::1") - } - if obj.obj.Count == nil { - obj.SetCount(1) - } - -} - -// ***** PatternMacPatternMacCounter ***** -type patternMacPatternMacCounter struct { - validation - obj *sanity.PatternMacPatternMacCounter -} - -func NewPatternMacPatternMacCounter() PatternMacPatternMacCounter { - obj := patternMacPatternMacCounter{obj: &sanity.PatternMacPatternMacCounter{}} - obj.setDefault() - return &obj -} - -func (obj *patternMacPatternMacCounter) Msg() *sanity.PatternMacPatternMacCounter { - return obj.obj -} - -func (obj *patternMacPatternMacCounter) SetMsg(msg *sanity.PatternMacPatternMacCounter) PatternMacPatternMacCounter { - - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *patternMacPatternMacCounter) ToProto() (*sanity.PatternMacPatternMacCounter, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *patternMacPatternMacCounter) FromProto(msg *sanity.PatternMacPatternMacCounter) (PatternMacPatternMacCounter, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *patternMacPatternMacCounter) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *patternMacPatternMacCounter) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *patternMacPatternMacCounter) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *patternMacPatternMacCounter) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *patternMacPatternMacCounter) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *patternMacPatternMacCounter) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *patternMacPatternMacCounter) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *patternMacPatternMacCounter) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *patternMacPatternMacCounter) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *patternMacPatternMacCounter) Clone() (PatternMacPatternMacCounter, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewPatternMacPatternMacCounter() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -// PatternMacPatternMacCounter is mac counter pattern -type PatternMacPatternMacCounter interface { - Validation - // Msg marshals PatternMacPatternMacCounter to protobuf object *sanity.PatternMacPatternMacCounter - // and doesn't set defaults - Msg() *sanity.PatternMacPatternMacCounter - // SetMsg unmarshals PatternMacPatternMacCounter from protobuf object *sanity.PatternMacPatternMacCounter - // and doesn't set defaults - SetMsg(*sanity.PatternMacPatternMacCounter) PatternMacPatternMacCounter - // ToProto marshals PatternMacPatternMacCounter to protobuf object *sanity.PatternMacPatternMacCounter - ToProto() (*sanity.PatternMacPatternMacCounter, error) - // ToPbText marshals PatternMacPatternMacCounter to protobuf text - ToPbText() (string, error) - // ToYaml marshals PatternMacPatternMacCounter to YAML text - ToYaml() (string, error) - // ToJson marshals PatternMacPatternMacCounter to JSON text - ToJson() (string, error) - // FromProto unmarshals PatternMacPatternMacCounter from protobuf object *sanity.PatternMacPatternMacCounter - FromProto(msg *sanity.PatternMacPatternMacCounter) (PatternMacPatternMacCounter, error) - // FromPbText unmarshals PatternMacPatternMacCounter from protobuf text - FromPbText(value string) error - // FromYaml unmarshals PatternMacPatternMacCounter from YAML text - FromYaml(value string) error - // FromJson unmarshals PatternMacPatternMacCounter from JSON text - FromJson(value string) error - // Validate validates PatternMacPatternMacCounter - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (PatternMacPatternMacCounter, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // Start returns string, set in PatternMacPatternMacCounter. - Start() string - // SetStart assigns string provided by user to PatternMacPatternMacCounter - SetStart(value string) PatternMacPatternMacCounter - // HasStart checks if Start has been set in PatternMacPatternMacCounter - HasStart() bool - // Step returns string, set in PatternMacPatternMacCounter. - Step() string - // SetStep assigns string provided by user to PatternMacPatternMacCounter - SetStep(value string) PatternMacPatternMacCounter - // HasStep checks if Step has been set in PatternMacPatternMacCounter - HasStep() bool - // Count returns uint32, set in PatternMacPatternMacCounter. - Count() uint32 - // SetCount assigns uint32 provided by user to PatternMacPatternMacCounter - SetCount(value uint32) PatternMacPatternMacCounter - // HasCount checks if Count has been set in PatternMacPatternMacCounter - HasCount() bool -} - -// description is TBD -// Start returns a string -func (obj *patternMacPatternMacCounter) Start() string { - - return *obj.obj.Start - -} - -// description is TBD -// Start returns a string -func (obj *patternMacPatternMacCounter) HasStart() bool { - return obj.obj.Start != nil -} - -// description is TBD -// SetStart sets the string value in the PatternMacPatternMacCounter object -func (obj *patternMacPatternMacCounter) SetStart(value string) PatternMacPatternMacCounter { - - obj.obj.Start = &value - return obj -} - -// description is TBD -// Step returns a string -func (obj *patternMacPatternMacCounter) Step() string { - - return *obj.obj.Step - -} - -// description is TBD -// Step returns a string -func (obj *patternMacPatternMacCounter) HasStep() bool { - return obj.obj.Step != nil -} - -// description is TBD -// SetStep sets the string value in the PatternMacPatternMacCounter object -func (obj *patternMacPatternMacCounter) SetStep(value string) PatternMacPatternMacCounter { - - obj.obj.Step = &value - return obj -} - -// description is TBD -// Count returns a uint32 -func (obj *patternMacPatternMacCounter) Count() uint32 { - - return *obj.obj.Count - -} - -// description is TBD -// Count returns a uint32 -func (obj *patternMacPatternMacCounter) HasCount() bool { - return obj.obj.Count != nil -} - -// description is TBD -// SetCount sets the uint32 value in the PatternMacPatternMacCounter object -func (obj *patternMacPatternMacCounter) SetCount(value uint32) PatternMacPatternMacCounter { - - obj.obj.Count = &value - return obj -} - -func (obj *patternMacPatternMacCounter) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - if obj.obj.Start != nil { - - err := obj.validateMac(obj.Start()) - if err != nil { - vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternMacPatternMacCounter.Start")) - } - - } - - if obj.obj.Step != nil { - - err := obj.validateMac(obj.Step()) - if err != nil { - vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternMacPatternMacCounter.Step")) - } - - } - -} - -func (obj *patternMacPatternMacCounter) setDefault() { - if obj.obj.Start == nil { - obj.SetStart("00:00:00:00:00:00") - } - if obj.obj.Step == nil { - obj.SetStep("00:00:00:00:00:01") - } - if obj.obj.Count == nil { - obj.SetCount(1) - } - -} - -// ***** PatternIntegerPatternIntegerCounter ***** -type patternIntegerPatternIntegerCounter struct { - validation - obj *sanity.PatternIntegerPatternIntegerCounter -} - -func NewPatternIntegerPatternIntegerCounter() PatternIntegerPatternIntegerCounter { - obj := patternIntegerPatternIntegerCounter{obj: &sanity.PatternIntegerPatternIntegerCounter{}} - obj.setDefault() - return &obj -} - -func (obj *patternIntegerPatternIntegerCounter) Msg() *sanity.PatternIntegerPatternIntegerCounter { - return obj.obj -} - -func (obj *patternIntegerPatternIntegerCounter) SetMsg(msg *sanity.PatternIntegerPatternIntegerCounter) PatternIntegerPatternIntegerCounter { - - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *patternIntegerPatternIntegerCounter) ToProto() (*sanity.PatternIntegerPatternIntegerCounter, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *patternIntegerPatternIntegerCounter) FromProto(msg *sanity.PatternIntegerPatternIntegerCounter) (PatternIntegerPatternIntegerCounter, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *patternIntegerPatternIntegerCounter) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *patternIntegerPatternIntegerCounter) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *patternIntegerPatternIntegerCounter) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *patternIntegerPatternIntegerCounter) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *patternIntegerPatternIntegerCounter) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *patternIntegerPatternIntegerCounter) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *patternIntegerPatternIntegerCounter) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *patternIntegerPatternIntegerCounter) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *patternIntegerPatternIntegerCounter) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *patternIntegerPatternIntegerCounter) Clone() (PatternIntegerPatternIntegerCounter, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewPatternIntegerPatternIntegerCounter() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -// PatternIntegerPatternIntegerCounter is integer counter pattern -type PatternIntegerPatternIntegerCounter interface { - Validation - // Msg marshals PatternIntegerPatternIntegerCounter to protobuf object *sanity.PatternIntegerPatternIntegerCounter - // and doesn't set defaults - Msg() *sanity.PatternIntegerPatternIntegerCounter - // SetMsg unmarshals PatternIntegerPatternIntegerCounter from protobuf object *sanity.PatternIntegerPatternIntegerCounter - // and doesn't set defaults - SetMsg(*sanity.PatternIntegerPatternIntegerCounter) PatternIntegerPatternIntegerCounter - // ToProto marshals PatternIntegerPatternIntegerCounter to protobuf object *sanity.PatternIntegerPatternIntegerCounter - ToProto() (*sanity.PatternIntegerPatternIntegerCounter, error) - // ToPbText marshals PatternIntegerPatternIntegerCounter to protobuf text - ToPbText() (string, error) - // ToYaml marshals PatternIntegerPatternIntegerCounter to YAML text - ToYaml() (string, error) - // ToJson marshals PatternIntegerPatternIntegerCounter to JSON text - ToJson() (string, error) - // FromProto unmarshals PatternIntegerPatternIntegerCounter from protobuf object *sanity.PatternIntegerPatternIntegerCounter - FromProto(msg *sanity.PatternIntegerPatternIntegerCounter) (PatternIntegerPatternIntegerCounter, error) - // FromPbText unmarshals PatternIntegerPatternIntegerCounter from protobuf text - FromPbText(value string) error - // FromYaml unmarshals PatternIntegerPatternIntegerCounter from YAML text - FromYaml(value string) error - // FromJson unmarshals PatternIntegerPatternIntegerCounter from JSON text - FromJson(value string) error - // Validate validates PatternIntegerPatternIntegerCounter - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (PatternIntegerPatternIntegerCounter, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // Start returns uint32, set in PatternIntegerPatternIntegerCounter. - Start() uint32 - // SetStart assigns uint32 provided by user to PatternIntegerPatternIntegerCounter - SetStart(value uint32) PatternIntegerPatternIntegerCounter - // HasStart checks if Start has been set in PatternIntegerPatternIntegerCounter - HasStart() bool - // Step returns uint32, set in PatternIntegerPatternIntegerCounter. - Step() uint32 - // SetStep assigns uint32 provided by user to PatternIntegerPatternIntegerCounter - SetStep(value uint32) PatternIntegerPatternIntegerCounter - // HasStep checks if Step has been set in PatternIntegerPatternIntegerCounter - HasStep() bool - // Count returns uint32, set in PatternIntegerPatternIntegerCounter. - Count() uint32 - // SetCount assigns uint32 provided by user to PatternIntegerPatternIntegerCounter - SetCount(value uint32) PatternIntegerPatternIntegerCounter - // HasCount checks if Count has been set in PatternIntegerPatternIntegerCounter - HasCount() bool -} - -// description is TBD -// Start returns a uint32 -func (obj *patternIntegerPatternIntegerCounter) Start() uint32 { - - return *obj.obj.Start - -} - -// description is TBD -// Start returns a uint32 -func (obj *patternIntegerPatternIntegerCounter) HasStart() bool { - return obj.obj.Start != nil -} - -// description is TBD -// SetStart sets the uint32 value in the PatternIntegerPatternIntegerCounter object -func (obj *patternIntegerPatternIntegerCounter) SetStart(value uint32) PatternIntegerPatternIntegerCounter { - - obj.obj.Start = &value - return obj -} - -// description is TBD -// Step returns a uint32 -func (obj *patternIntegerPatternIntegerCounter) Step() uint32 { - - return *obj.obj.Step - -} - -// description is TBD -// Step returns a uint32 -func (obj *patternIntegerPatternIntegerCounter) HasStep() bool { - return obj.obj.Step != nil -} - -// description is TBD -// SetStep sets the uint32 value in the PatternIntegerPatternIntegerCounter object -func (obj *patternIntegerPatternIntegerCounter) SetStep(value uint32) PatternIntegerPatternIntegerCounter { - - obj.obj.Step = &value - return obj -} - -// description is TBD -// Count returns a uint32 -func (obj *patternIntegerPatternIntegerCounter) Count() uint32 { - - return *obj.obj.Count - -} - -// description is TBD -// Count returns a uint32 -func (obj *patternIntegerPatternIntegerCounter) HasCount() bool { - return obj.obj.Count != nil -} - -// description is TBD -// SetCount sets the uint32 value in the PatternIntegerPatternIntegerCounter object -func (obj *patternIntegerPatternIntegerCounter) SetCount(value uint32) PatternIntegerPatternIntegerCounter { - - obj.obj.Count = &value - return obj -} - -func (obj *patternIntegerPatternIntegerCounter) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - - if obj.obj.Start != nil { - - if *obj.obj.Start > 255 { - vObj.validationErrors = append( - vObj.validationErrors, - fmt.Sprintf("0 <= PatternIntegerPatternIntegerCounter.Start <= 255 but Got %d", *obj.obj.Start)) - } - - } - - if obj.obj.Step != nil { - - if *obj.obj.Step > 255 { - vObj.validationErrors = append( - vObj.validationErrors, - fmt.Sprintf("0 <= PatternIntegerPatternIntegerCounter.Step <= 255 but Got %d", *obj.obj.Step)) - } - - } - - if obj.obj.Count != nil { - - if *obj.obj.Count > 255 { - vObj.validationErrors = append( - vObj.validationErrors, - fmt.Sprintf("0 <= PatternIntegerPatternIntegerCounter.Count <= 255 but Got %d", *obj.obj.Count)) - } - - } - -} - -func (obj *patternIntegerPatternIntegerCounter) setDefault() { - if obj.obj.Start == nil { - obj.SetStart(0) - } - if obj.obj.Step == nil { - obj.SetStep(1) - } - if obj.obj.Count == nil { - obj.SetCount(1) - } - -} - -// ***** RequiredChoiceIntermeLeaf ***** -type requiredChoiceIntermeLeaf struct { - validation - obj *sanity.RequiredChoiceIntermeLeaf -} - -func NewRequiredChoiceIntermeLeaf() RequiredChoiceIntermeLeaf { - obj := requiredChoiceIntermeLeaf{obj: &sanity.RequiredChoiceIntermeLeaf{}} - obj.setDefault() - return &obj -} - -func (obj *requiredChoiceIntermeLeaf) Msg() *sanity.RequiredChoiceIntermeLeaf { - return obj.obj -} - -func (obj *requiredChoiceIntermeLeaf) SetMsg(msg *sanity.RequiredChoiceIntermeLeaf) RequiredChoiceIntermeLeaf { - - proto.Merge(obj.obj, msg) - return obj -} - -func (obj *requiredChoiceIntermeLeaf) ToProto() (*sanity.RequiredChoiceIntermeLeaf, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil -} - -func (obj *requiredChoiceIntermeLeaf) FromProto(msg *sanity.RequiredChoiceIntermeLeaf) (RequiredChoiceIntermeLeaf, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} - -func (obj *requiredChoiceIntermeLeaf) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - protoMarshal, err := proto.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(protoMarshal), nil -} - -func (obj *requiredChoiceIntermeLeaf) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) - if retObj != nil { - return retObj - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return retObj -} - -func (obj *requiredChoiceIntermeLeaf) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - data, err = yaml.JSONToYAML(data) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *requiredChoiceIntermeLeaf) FromYaml(value string) error { - if value == "" { - value = "{}" - } - data, err := yaml.YAMLToJSON([]byte(value)) - if err != nil { - return err - } - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - uError := opts.Unmarshal([]byte(data), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - vErr := obj.validateToAndFrom() - if vErr != nil { - return vErr - } - return nil -} - -func (obj *requiredChoiceIntermeLeaf) ToJson() (string, error) { - vErr := obj.validateToAndFrom() - if vErr != nil { - return "", vErr - } - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - data, err := opts.Marshal(obj.Msg()) - if err != nil { - return "", err - } - return string(data), nil -} - -func (obj *requiredChoiceIntermeLeaf) FromJson(value string) error { - opts := protojson.UnmarshalOptions{ - AllowPartial: true, - DiscardUnknown: false, - } - if value == "" { - value = "{}" - } - uError := opts.Unmarshal([]byte(value), obj.Msg()) - if uError != nil { - return fmt.Errorf("unmarshal error %s", strings.Replace( - uError.Error(), "\u00a0", " ", -1)[7:]) - } - - err := obj.validateToAndFrom() - if err != nil { - return err - } - return nil -} - -func (obj *requiredChoiceIntermeLeaf) validateToAndFrom() error { - // emptyVars() - obj.validateObj(&obj.validation, true) - return obj.validationResult() -} - -func (obj *requiredChoiceIntermeLeaf) Validate() error { - // emptyVars() - obj.validateObj(&obj.validation, false) - return obj.validationResult() -} - -func (obj *requiredChoiceIntermeLeaf) String() string { - str, err := obj.ToYaml() - if err != nil { - return err.Error() - } - return str -} - -func (obj *requiredChoiceIntermeLeaf) Clone() (RequiredChoiceIntermeLeaf, error) { - vErr := obj.Validate() - if vErr != nil { - return nil, vErr - } - newObj := NewRequiredChoiceIntermeLeaf() - data, err := proto.Marshal(obj.Msg()) - if err != nil { - return nil, err - } - pbErr := proto.Unmarshal(data, newObj.Msg()) - if pbErr != nil { - return nil, pbErr - } - return newObj, nil -} - -// RequiredChoiceIntermeLeaf is description is TBD -type RequiredChoiceIntermeLeaf interface { - Validation - // Msg marshals RequiredChoiceIntermeLeaf to protobuf object *sanity.RequiredChoiceIntermeLeaf - // and doesn't set defaults - Msg() *sanity.RequiredChoiceIntermeLeaf - // SetMsg unmarshals RequiredChoiceIntermeLeaf from protobuf object *sanity.RequiredChoiceIntermeLeaf - // and doesn't set defaults - SetMsg(*sanity.RequiredChoiceIntermeLeaf) RequiredChoiceIntermeLeaf - // ToProto marshals RequiredChoiceIntermeLeaf to protobuf object *sanity.RequiredChoiceIntermeLeaf - ToProto() (*sanity.RequiredChoiceIntermeLeaf, error) - // ToPbText marshals RequiredChoiceIntermeLeaf to protobuf text - ToPbText() (string, error) - // ToYaml marshals RequiredChoiceIntermeLeaf to YAML text - ToYaml() (string, error) - // ToJson marshals RequiredChoiceIntermeLeaf to JSON text - ToJson() (string, error) - // FromProto unmarshals RequiredChoiceIntermeLeaf from protobuf object *sanity.RequiredChoiceIntermeLeaf - FromProto(msg *sanity.RequiredChoiceIntermeLeaf) (RequiredChoiceIntermeLeaf, error) - // FromPbText unmarshals RequiredChoiceIntermeLeaf from protobuf text - FromPbText(value string) error - // FromYaml unmarshals RequiredChoiceIntermeLeaf from YAML text - FromYaml(value string) error - // FromJson unmarshals RequiredChoiceIntermeLeaf from JSON text - FromJson(value string) error - // Validate validates RequiredChoiceIntermeLeaf - Validate() error - // A stringer function - String() string - // Clones the object - Clone() (RequiredChoiceIntermeLeaf, error) - validateToAndFrom() error - validateObj(vObj *validation, set_default bool) - setDefault() - // Name returns string, set in RequiredChoiceIntermeLeaf. - Name() string - // SetName assigns string provided by user to RequiredChoiceIntermeLeaf - SetName(value string) RequiredChoiceIntermeLeaf - // HasName checks if Name has been set in RequiredChoiceIntermeLeaf - HasName() bool -} - -// description is TBD -// Name returns a string -func (obj *requiredChoiceIntermeLeaf) Name() string { - - return *obj.obj.Name - -} - -// description is TBD -// Name returns a string -func (obj *requiredChoiceIntermeLeaf) HasName() bool { - return obj.obj.Name != nil -} - -// description is TBD -// SetName sets the string value in the RequiredChoiceIntermeLeaf object -func (obj *requiredChoiceIntermeLeaf) SetName(value string) RequiredChoiceIntermeLeaf { - - obj.obj.Name = &value - return obj -} - -func (obj *requiredChoiceIntermeLeaf) validateObj(vObj *validation, set_default bool) { - if set_default { - obj.setDefault() - } - -} - -func (obj *requiredChoiceIntermeLeaf) setDefault() { - -} diff --git a/artifacts/openapiart_go/sanity/sanity.pb.go b/artifacts/openapiart_go/sanity/sanity.pb.go deleted file mode 100644 index 384ab0e3..00000000 --- a/artifacts/openapiart_go/sanity/sanity.pb.go +++ /dev/null @@ -1,8925 +0,0 @@ -// OpenAPIArt Test API 0.0.1 -// Demonstrates the features of the OpenAPIArt package -// License: NO-LICENSE-PRESENT - -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.28.1 -// protoc v4.23.3 -// source: sanity.proto - -package sanity - -import ( - reflect "reflect" - sync "sync" - - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - _ "google.golang.org/protobuf/types/descriptorpb" - emptypb "google.golang.org/protobuf/types/known/emptypb" -) - -const ( - // Verify that this generated code 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 Error_Kind_Enum int32 - -const ( - Error_Kind_unspecified Error_Kind_Enum = 0 - Error_Kind_transport Error_Kind_Enum = 1 - Error_Kind_validation Error_Kind_Enum = 2 - Error_Kind_internal Error_Kind_Enum = 3 -) - -// Enum value maps for Error_Kind_Enum. -var ( - Error_Kind_Enum_name = map[int32]string{ - 0: "unspecified", - 1: "transport", - 2: "validation", - 3: "internal", - } - Error_Kind_Enum_value = map[string]int32{ - "unspecified": 0, - "transport": 1, - "validation": 2, - "internal": 3, - } -) - -func (x Error_Kind_Enum) Enum() *Error_Kind_Enum { - p := new(Error_Kind_Enum) - *p = x - return p -} - -func (x Error_Kind_Enum) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (Error_Kind_Enum) Descriptor() protoreflect.EnumDescriptor { - return file_sanity_proto_enumTypes[0].Descriptor() -} - -func (Error_Kind_Enum) Type() protoreflect.EnumType { - return &file_sanity_proto_enumTypes[0] -} - -func (x Error_Kind_Enum) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use Error_Kind_Enum.Descriptor instead. -func (Error_Kind_Enum) EnumDescriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{2, 0, 0} -} - -type PrefixConfig_Response_Enum int32 - -const ( - PrefixConfig_Response_unspecified PrefixConfig_Response_Enum = 0 - PrefixConfig_Response_status_200 PrefixConfig_Response_Enum = 1 - PrefixConfig_Response_status_400 PrefixConfig_Response_Enum = 2 - PrefixConfig_Response_status_404 PrefixConfig_Response_Enum = 3 - PrefixConfig_Response_status_500 PrefixConfig_Response_Enum = 4 -) - -// Enum value maps for PrefixConfig_Response_Enum. -var ( - PrefixConfig_Response_Enum_name = map[int32]string{ - 0: "unspecified", - 1: "status_200", - 2: "status_400", - 3: "status_404", - 4: "status_500", - } - PrefixConfig_Response_Enum_value = map[string]int32{ - "unspecified": 0, - "status_200": 1, - "status_400": 2, - "status_404": 3, - "status_500": 4, - } -) - -func (x PrefixConfig_Response_Enum) Enum() *PrefixConfig_Response_Enum { - p := new(PrefixConfig_Response_Enum) - *p = x - return p -} - -func (x PrefixConfig_Response_Enum) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (PrefixConfig_Response_Enum) Descriptor() protoreflect.EnumDescriptor { - return file_sanity_proto_enumTypes[1].Descriptor() -} - -func (PrefixConfig_Response_Enum) Type() protoreflect.EnumType { - return &file_sanity_proto_enumTypes[1] -} - -func (x PrefixConfig_Response_Enum) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use PrefixConfig_Response_Enum.Descriptor instead. -func (PrefixConfig_Response_Enum) EnumDescriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{3, 0, 0} -} - -type PrefixConfig_DValues_Enum int32 - -const ( - PrefixConfig_DValues_unspecified PrefixConfig_DValues_Enum = 0 - PrefixConfig_DValues_a PrefixConfig_DValues_Enum = 1 - PrefixConfig_DValues_b PrefixConfig_DValues_Enum = 2 - PrefixConfig_DValues_c PrefixConfig_DValues_Enum = 3 -) - -// Enum value maps for PrefixConfig_DValues_Enum. -var ( - PrefixConfig_DValues_Enum_name = map[int32]string{ - 0: "unspecified", - 1: "a", - 2: "b", - 3: "c", - } - PrefixConfig_DValues_Enum_value = map[string]int32{ - "unspecified": 0, - "a": 1, - "b": 2, - "c": 3, - } -) - -func (x PrefixConfig_DValues_Enum) Enum() *PrefixConfig_DValues_Enum { - p := new(PrefixConfig_DValues_Enum) - *p = x - return p -} - -func (x PrefixConfig_DValues_Enum) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (PrefixConfig_DValues_Enum) Descriptor() protoreflect.EnumDescriptor { - return file_sanity_proto_enumTypes[2].Descriptor() -} - -func (PrefixConfig_DValues_Enum) Type() protoreflect.EnumType { - return &file_sanity_proto_enumTypes[2] -} - -func (x PrefixConfig_DValues_Enum) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use PrefixConfig_DValues_Enum.Descriptor instead. -func (PrefixConfig_DValues_Enum) EnumDescriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{3, 1, 0} -} - -type GObject_Choice_Enum int32 - -const ( - GObject_Choice_unspecified GObject_Choice_Enum = 0 - GObject_Choice_g_d GObject_Choice_Enum = 1 - GObject_Choice_g_e GObject_Choice_Enum = 2 -) - -// Enum value maps for GObject_Choice_Enum. -var ( - GObject_Choice_Enum_name = map[int32]string{ - 0: "unspecified", - 1: "g_d", - 2: "g_e", - } - GObject_Choice_Enum_value = map[string]int32{ - "unspecified": 0, - "g_d": 1, - "g_e": 2, - } -) - -func (x GObject_Choice_Enum) Enum() *GObject_Choice_Enum { - p := new(GObject_Choice_Enum) - *p = x - return p -} - -func (x GObject_Choice_Enum) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (GObject_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { - return file_sanity_proto_enumTypes[3].Descriptor() -} - -func (GObject_Choice_Enum) Type() protoreflect.EnumType { - return &file_sanity_proto_enumTypes[3] -} - -func (x GObject_Choice_Enum) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use GObject_Choice_Enum.Descriptor instead. -func (GObject_Choice_Enum) EnumDescriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{8, 0, 0} -} - -type GObject_GF_Enum int32 - -const ( - GObject_GF_unspecified GObject_GF_Enum = 0 - GObject_GF_a GObject_GF_Enum = 1 - GObject_GF_b GObject_GF_Enum = 2 - GObject_GF_c GObject_GF_Enum = 3 -) - -// Enum value maps for GObject_GF_Enum. -var ( - GObject_GF_Enum_name = map[int32]string{ - 0: "unspecified", - 1: "a", - 2: "b", - 3: "c", - } - GObject_GF_Enum_value = map[string]int32{ - "unspecified": 0, - "a": 1, - "b": 2, - "c": 3, - } -) - -func (x GObject_GF_Enum) Enum() *GObject_GF_Enum { - p := new(GObject_GF_Enum) - *p = x - return p -} - -func (x GObject_GF_Enum) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (GObject_GF_Enum) Descriptor() protoreflect.EnumDescriptor { - return file_sanity_proto_enumTypes[4].Descriptor() -} - -func (GObject_GF_Enum) Type() protoreflect.EnumType { - return &file_sanity_proto_enumTypes[4] -} - -func (x GObject_GF_Enum) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use GObject_GF_Enum.Descriptor instead. -func (GObject_GF_Enum) EnumDescriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{8, 1, 0} -} - -type FObject_Choice_Enum int32 - -const ( - FObject_Choice_unspecified FObject_Choice_Enum = 0 - FObject_Choice_f_a FObject_Choice_Enum = 1 - FObject_Choice_f_b FObject_Choice_Enum = 2 - FObject_Choice_f_c FObject_Choice_Enum = 3 -) - -// Enum value maps for FObject_Choice_Enum. -var ( - FObject_Choice_Enum_name = map[int32]string{ - 0: "unspecified", - 1: "f_a", - 2: "f_b", - 3: "f_c", - } - FObject_Choice_Enum_value = map[string]int32{ - "unspecified": 0, - "f_a": 1, - "f_b": 2, - "f_c": 3, - } -) - -func (x FObject_Choice_Enum) Enum() *FObject_Choice_Enum { - p := new(FObject_Choice_Enum) - *p = x - return p -} - -func (x FObject_Choice_Enum) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (FObject_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { - return file_sanity_proto_enumTypes[5].Descriptor() -} - -func (FObject_Choice_Enum) Type() protoreflect.EnumType { - return &file_sanity_proto_enumTypes[5] -} - -func (x FObject_Choice_Enum) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use FObject_Choice_Enum.Descriptor instead. -func (FObject_Choice_Enum) EnumDescriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{10, 0, 0} -} - -type JObject_Choice_Enum int32 - -const ( - JObject_Choice_unspecified JObject_Choice_Enum = 0 - JObject_Choice_j_a JObject_Choice_Enum = 1 - JObject_Choice_j_b JObject_Choice_Enum = 2 -) - -// Enum value maps for JObject_Choice_Enum. -var ( - JObject_Choice_Enum_name = map[int32]string{ - 0: "unspecified", - 1: "j_a", - 2: "j_b", - } - JObject_Choice_Enum_value = map[string]int32{ - "unspecified": 0, - "j_a": 1, - "j_b": 2, - } -) - -func (x JObject_Choice_Enum) Enum() *JObject_Choice_Enum { - p := new(JObject_Choice_Enum) - *p = x - return p -} - -func (x JObject_Choice_Enum) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (JObject_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { - return file_sanity_proto_enumTypes[6].Descriptor() -} - -func (JObject_Choice_Enum) Type() protoreflect.EnumType { - return &file_sanity_proto_enumTypes[6] -} - -func (x JObject_Choice_Enum) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use JObject_Choice_Enum.Descriptor instead. -func (JObject_Choice_Enum) EnumDescriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{11, 0, 0} -} - -type ChoiceObject_Choice_Enum int32 - -const ( - ChoiceObject_Choice_unspecified ChoiceObject_Choice_Enum = 0 - ChoiceObject_Choice_e_obj ChoiceObject_Choice_Enum = 1 - ChoiceObject_Choice_f_obj ChoiceObject_Choice_Enum = 2 - ChoiceObject_Choice_no_obj ChoiceObject_Choice_Enum = 3 -) - -// Enum value maps for ChoiceObject_Choice_Enum. -var ( - ChoiceObject_Choice_Enum_name = map[int32]string{ - 0: "unspecified", - 1: "e_obj", - 2: "f_obj", - 3: "no_obj", - } - ChoiceObject_Choice_Enum_value = map[string]int32{ - "unspecified": 0, - "e_obj": 1, - "f_obj": 2, - "no_obj": 3, - } -) - -func (x ChoiceObject_Choice_Enum) Enum() *ChoiceObject_Choice_Enum { - p := new(ChoiceObject_Choice_Enum) - *p = x - return p -} - -func (x ChoiceObject_Choice_Enum) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ChoiceObject_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { - return file_sanity_proto_enumTypes[7].Descriptor() -} - -func (ChoiceObject_Choice_Enum) Type() protoreflect.EnumType { - return &file_sanity_proto_enumTypes[7] -} - -func (x ChoiceObject_Choice_Enum) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use ChoiceObject_Choice_Enum.Descriptor instead. -func (ChoiceObject_Choice_Enum) EnumDescriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{12, 0, 0} -} - -type MetricsRequest_Choice_Enum int32 - -const ( - MetricsRequest_Choice_unspecified MetricsRequest_Choice_Enum = 0 - MetricsRequest_Choice_port MetricsRequest_Choice_Enum = 1 - MetricsRequest_Choice_flow MetricsRequest_Choice_Enum = 2 -) - -// Enum value maps for MetricsRequest_Choice_Enum. -var ( - MetricsRequest_Choice_Enum_name = map[int32]string{ - 0: "unspecified", - 1: "port", - 2: "flow", - } - MetricsRequest_Choice_Enum_value = map[string]int32{ - "unspecified": 0, - "port": 1, - "flow": 2, - } -) - -func (x MetricsRequest_Choice_Enum) Enum() *MetricsRequest_Choice_Enum { - p := new(MetricsRequest_Choice_Enum) - *p = x - return p -} - -func (x MetricsRequest_Choice_Enum) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (MetricsRequest_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { - return file_sanity_proto_enumTypes[8].Descriptor() -} - -func (MetricsRequest_Choice_Enum) Type() protoreflect.EnumType { - return &file_sanity_proto_enumTypes[8] -} - -func (x MetricsRequest_Choice_Enum) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use MetricsRequest_Choice_Enum.Descriptor instead. -func (MetricsRequest_Choice_Enum) EnumDescriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{18, 0, 0} -} - -type Metrics_Choice_Enum int32 - -const ( - Metrics_Choice_unspecified Metrics_Choice_Enum = 0 - Metrics_Choice_ports Metrics_Choice_Enum = 1 - Metrics_Choice_flows Metrics_Choice_Enum = 2 -) - -// Enum value maps for Metrics_Choice_Enum. -var ( - Metrics_Choice_Enum_name = map[int32]string{ - 0: "unspecified", - 1: "ports", - 2: "flows", - } - Metrics_Choice_Enum_value = map[string]int32{ - "unspecified": 0, - "ports": 1, - "flows": 2, - } -) - -func (x Metrics_Choice_Enum) Enum() *Metrics_Choice_Enum { - p := new(Metrics_Choice_Enum) - *p = x - return p -} - -func (x Metrics_Choice_Enum) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (Metrics_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { - return file_sanity_proto_enumTypes[9].Descriptor() -} - -func (Metrics_Choice_Enum) Type() protoreflect.EnumType { - return &file_sanity_proto_enumTypes[9] -} - -func (x Metrics_Choice_Enum) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use Metrics_Choice_Enum.Descriptor instead. -func (Metrics_Choice_Enum) EnumDescriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{19, 0, 0} -} - -type RequiredChoiceParent_Choice_Enum int32 - -const ( - RequiredChoiceParent_Choice_unspecified RequiredChoiceParent_Choice_Enum = 0 - RequiredChoiceParent_Choice_intermediate_obj RequiredChoiceParent_Choice_Enum = 1 - RequiredChoiceParent_Choice_no_obj RequiredChoiceParent_Choice_Enum = 2 -) - -// Enum value maps for RequiredChoiceParent_Choice_Enum. -var ( - RequiredChoiceParent_Choice_Enum_name = map[int32]string{ - 0: "unspecified", - 1: "intermediate_obj", - 2: "no_obj", - } - RequiredChoiceParent_Choice_Enum_value = map[string]int32{ - "unspecified": 0, - "intermediate_obj": 1, - "no_obj": 2, - } -) - -func (x RequiredChoiceParent_Choice_Enum) Enum() *RequiredChoiceParent_Choice_Enum { - p := new(RequiredChoiceParent_Choice_Enum) - *p = x - return p -} - -func (x RequiredChoiceParent_Choice_Enum) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (RequiredChoiceParent_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { - return file_sanity_proto_enumTypes[10].Descriptor() -} - -func (RequiredChoiceParent_Choice_Enum) Type() protoreflect.EnumType { - return &file_sanity_proto_enumTypes[10] -} - -func (x RequiredChoiceParent_Choice_Enum) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use RequiredChoiceParent_Choice_Enum.Descriptor instead. -func (RequiredChoiceParent_Choice_Enum) EnumDescriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{22, 0, 0} -} - -type RequiredChoiceIntermediate_Choice_Enum int32 - -const ( - RequiredChoiceIntermediate_Choice_unspecified RequiredChoiceIntermediate_Choice_Enum = 0 - RequiredChoiceIntermediate_Choice_f_a RequiredChoiceIntermediate_Choice_Enum = 1 - RequiredChoiceIntermediate_Choice_leaf RequiredChoiceIntermediate_Choice_Enum = 2 -) - -// Enum value maps for RequiredChoiceIntermediate_Choice_Enum. -var ( - RequiredChoiceIntermediate_Choice_Enum_name = map[int32]string{ - 0: "unspecified", - 1: "f_a", - 2: "leaf", - } - RequiredChoiceIntermediate_Choice_Enum_value = map[string]int32{ - "unspecified": 0, - "f_a": 1, - "leaf": 2, - } -) - -func (x RequiredChoiceIntermediate_Choice_Enum) Enum() *RequiredChoiceIntermediate_Choice_Enum { - p := new(RequiredChoiceIntermediate_Choice_Enum) - *p = x - return p -} - -func (x RequiredChoiceIntermediate_Choice_Enum) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (RequiredChoiceIntermediate_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { - return file_sanity_proto_enumTypes[11].Descriptor() -} - -func (RequiredChoiceIntermediate_Choice_Enum) Type() protoreflect.EnumType { - return &file_sanity_proto_enumTypes[11] -} - -func (x RequiredChoiceIntermediate_Choice_Enum) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use RequiredChoiceIntermediate_Choice_Enum.Descriptor instead. -func (RequiredChoiceIntermediate_Choice_Enum) EnumDescriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{23, 0, 0} -} - -type PatternPrefixConfigHeaderChecksum_Choice_Enum int32 - -const ( - PatternPrefixConfigHeaderChecksum_Choice_unspecified PatternPrefixConfigHeaderChecksum_Choice_Enum = 0 - PatternPrefixConfigHeaderChecksum_Choice_generated PatternPrefixConfigHeaderChecksum_Choice_Enum = 1 - PatternPrefixConfigHeaderChecksum_Choice_custom PatternPrefixConfigHeaderChecksum_Choice_Enum = 2 -) - -// Enum value maps for PatternPrefixConfigHeaderChecksum_Choice_Enum. -var ( - PatternPrefixConfigHeaderChecksum_Choice_Enum_name = map[int32]string{ - 0: "unspecified", - 1: "generated", - 2: "custom", - } - PatternPrefixConfigHeaderChecksum_Choice_Enum_value = map[string]int32{ - "unspecified": 0, - "generated": 1, - "custom": 2, - } -) - -func (x PatternPrefixConfigHeaderChecksum_Choice_Enum) Enum() *PatternPrefixConfigHeaderChecksum_Choice_Enum { - p := new(PatternPrefixConfigHeaderChecksum_Choice_Enum) - *p = x - return p -} - -func (x PatternPrefixConfigHeaderChecksum_Choice_Enum) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (PatternPrefixConfigHeaderChecksum_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { - return file_sanity_proto_enumTypes[12].Descriptor() -} - -func (PatternPrefixConfigHeaderChecksum_Choice_Enum) Type() protoreflect.EnumType { - return &file_sanity_proto_enumTypes[12] -} - -func (x PatternPrefixConfigHeaderChecksum_Choice_Enum) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use PatternPrefixConfigHeaderChecksum_Choice_Enum.Descriptor instead. -func (PatternPrefixConfigHeaderChecksum_Choice_Enum) EnumDescriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{38, 0, 0} -} - -type PatternPrefixConfigHeaderChecksum_Generated_Enum int32 - -const ( - PatternPrefixConfigHeaderChecksum_Generated_unspecified PatternPrefixConfigHeaderChecksum_Generated_Enum = 0 - PatternPrefixConfigHeaderChecksum_Generated_good PatternPrefixConfigHeaderChecksum_Generated_Enum = 1 - PatternPrefixConfigHeaderChecksum_Generated_bad PatternPrefixConfigHeaderChecksum_Generated_Enum = 2 -) - -// Enum value maps for PatternPrefixConfigHeaderChecksum_Generated_Enum. -var ( - PatternPrefixConfigHeaderChecksum_Generated_Enum_name = map[int32]string{ - 0: "unspecified", - 1: "good", - 2: "bad", - } - PatternPrefixConfigHeaderChecksum_Generated_Enum_value = map[string]int32{ - "unspecified": 0, - "good": 1, - "bad": 2, - } -) - -func (x PatternPrefixConfigHeaderChecksum_Generated_Enum) Enum() *PatternPrefixConfigHeaderChecksum_Generated_Enum { - p := new(PatternPrefixConfigHeaderChecksum_Generated_Enum) - *p = x - return p -} - -func (x PatternPrefixConfigHeaderChecksum_Generated_Enum) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (PatternPrefixConfigHeaderChecksum_Generated_Enum) Descriptor() protoreflect.EnumDescriptor { - return file_sanity_proto_enumTypes[13].Descriptor() -} - -func (PatternPrefixConfigHeaderChecksum_Generated_Enum) Type() protoreflect.EnumType { - return &file_sanity_proto_enumTypes[13] -} - -func (x PatternPrefixConfigHeaderChecksum_Generated_Enum) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use PatternPrefixConfigHeaderChecksum_Generated_Enum.Descriptor instead. -func (PatternPrefixConfigHeaderChecksum_Generated_Enum) EnumDescriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{38, 1, 0} -} - -type PatternPrefixConfigAutoFieldTest_Choice_Enum int32 - -const ( - PatternPrefixConfigAutoFieldTest_Choice_unspecified PatternPrefixConfigAutoFieldTest_Choice_Enum = 0 - PatternPrefixConfigAutoFieldTest_Choice_value PatternPrefixConfigAutoFieldTest_Choice_Enum = 2 - PatternPrefixConfigAutoFieldTest_Choice_values PatternPrefixConfigAutoFieldTest_Choice_Enum = 3 - PatternPrefixConfigAutoFieldTest_Choice_auto PatternPrefixConfigAutoFieldTest_Choice_Enum = 1 - PatternPrefixConfigAutoFieldTest_Choice_increment PatternPrefixConfigAutoFieldTest_Choice_Enum = 4 - PatternPrefixConfigAutoFieldTest_Choice_decrement PatternPrefixConfigAutoFieldTest_Choice_Enum = 5 -) - -// Enum value maps for PatternPrefixConfigAutoFieldTest_Choice_Enum. -var ( - PatternPrefixConfigAutoFieldTest_Choice_Enum_name = map[int32]string{ - 0: "unspecified", - 2: "value", - 3: "values", - 1: "auto", - 4: "increment", - 5: "decrement", - } - PatternPrefixConfigAutoFieldTest_Choice_Enum_value = map[string]int32{ - "unspecified": 0, - "value": 2, - "values": 3, - "auto": 1, - "increment": 4, - "decrement": 5, - } -) - -func (x PatternPrefixConfigAutoFieldTest_Choice_Enum) Enum() *PatternPrefixConfigAutoFieldTest_Choice_Enum { - p := new(PatternPrefixConfigAutoFieldTest_Choice_Enum) - *p = x - return p -} - -func (x PatternPrefixConfigAutoFieldTest_Choice_Enum) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (PatternPrefixConfigAutoFieldTest_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { - return file_sanity_proto_enumTypes[14].Descriptor() -} - -func (PatternPrefixConfigAutoFieldTest_Choice_Enum) Type() protoreflect.EnumType { - return &file_sanity_proto_enumTypes[14] -} - -func (x PatternPrefixConfigAutoFieldTest_Choice_Enum) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use PatternPrefixConfigAutoFieldTest_Choice_Enum.Descriptor instead. -func (PatternPrefixConfigAutoFieldTest_Choice_Enum) EnumDescriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{40, 0, 0} -} - -type PatternIpv4PatternIpv4_Choice_Enum int32 - -const ( - PatternIpv4PatternIpv4_Choice_unspecified PatternIpv4PatternIpv4_Choice_Enum = 0 - PatternIpv4PatternIpv4_Choice_value PatternIpv4PatternIpv4_Choice_Enum = 2 - PatternIpv4PatternIpv4_Choice_values PatternIpv4PatternIpv4_Choice_Enum = 3 - PatternIpv4PatternIpv4_Choice_increment PatternIpv4PatternIpv4_Choice_Enum = 4 - PatternIpv4PatternIpv4_Choice_decrement PatternIpv4PatternIpv4_Choice_Enum = 5 -) - -// Enum value maps for PatternIpv4PatternIpv4_Choice_Enum. -var ( - PatternIpv4PatternIpv4_Choice_Enum_name = map[int32]string{ - 0: "unspecified", - 2: "value", - 3: "values", - 4: "increment", - 5: "decrement", - } - PatternIpv4PatternIpv4_Choice_Enum_value = map[string]int32{ - "unspecified": 0, - "value": 2, - "values": 3, - "increment": 4, - "decrement": 5, - } -) - -func (x PatternIpv4PatternIpv4_Choice_Enum) Enum() *PatternIpv4PatternIpv4_Choice_Enum { - p := new(PatternIpv4PatternIpv4_Choice_Enum) - *p = x - return p -} - -func (x PatternIpv4PatternIpv4_Choice_Enum) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (PatternIpv4PatternIpv4_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { - return file_sanity_proto_enumTypes[15].Descriptor() -} - -func (PatternIpv4PatternIpv4_Choice_Enum) Type() protoreflect.EnumType { - return &file_sanity_proto_enumTypes[15] -} - -func (x PatternIpv4PatternIpv4_Choice_Enum) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use PatternIpv4PatternIpv4_Choice_Enum.Descriptor instead. -func (PatternIpv4PatternIpv4_Choice_Enum) EnumDescriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{42, 0, 0} -} - -type PatternIpv6PatternIpv6_Choice_Enum int32 - -const ( - PatternIpv6PatternIpv6_Choice_unspecified PatternIpv6PatternIpv6_Choice_Enum = 0 - PatternIpv6PatternIpv6_Choice_value PatternIpv6PatternIpv6_Choice_Enum = 2 - PatternIpv6PatternIpv6_Choice_values PatternIpv6PatternIpv6_Choice_Enum = 3 - PatternIpv6PatternIpv6_Choice_increment PatternIpv6PatternIpv6_Choice_Enum = 4 - PatternIpv6PatternIpv6_Choice_decrement PatternIpv6PatternIpv6_Choice_Enum = 5 -) - -// Enum value maps for PatternIpv6PatternIpv6_Choice_Enum. -var ( - PatternIpv6PatternIpv6_Choice_Enum_name = map[int32]string{ - 0: "unspecified", - 2: "value", - 3: "values", - 4: "increment", - 5: "decrement", - } - PatternIpv6PatternIpv6_Choice_Enum_value = map[string]int32{ - "unspecified": 0, - "value": 2, - "values": 3, - "increment": 4, - "decrement": 5, - } -) - -func (x PatternIpv6PatternIpv6_Choice_Enum) Enum() *PatternIpv6PatternIpv6_Choice_Enum { - p := new(PatternIpv6PatternIpv6_Choice_Enum) - *p = x - return p -} - -func (x PatternIpv6PatternIpv6_Choice_Enum) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (PatternIpv6PatternIpv6_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { - return file_sanity_proto_enumTypes[16].Descriptor() -} - -func (PatternIpv6PatternIpv6_Choice_Enum) Type() protoreflect.EnumType { - return &file_sanity_proto_enumTypes[16] -} - -func (x PatternIpv6PatternIpv6_Choice_Enum) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use PatternIpv6PatternIpv6_Choice_Enum.Descriptor instead. -func (PatternIpv6PatternIpv6_Choice_Enum) EnumDescriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{44, 0, 0} -} - -type PatternMacPatternMac_Choice_Enum int32 - -const ( - PatternMacPatternMac_Choice_unspecified PatternMacPatternMac_Choice_Enum = 0 - PatternMacPatternMac_Choice_value PatternMacPatternMac_Choice_Enum = 2 - PatternMacPatternMac_Choice_values PatternMacPatternMac_Choice_Enum = 3 - PatternMacPatternMac_Choice_auto PatternMacPatternMac_Choice_Enum = 1 - PatternMacPatternMac_Choice_increment PatternMacPatternMac_Choice_Enum = 4 - PatternMacPatternMac_Choice_decrement PatternMacPatternMac_Choice_Enum = 5 -) - -// Enum value maps for PatternMacPatternMac_Choice_Enum. -var ( - PatternMacPatternMac_Choice_Enum_name = map[int32]string{ - 0: "unspecified", - 2: "value", - 3: "values", - 1: "auto", - 4: "increment", - 5: "decrement", - } - PatternMacPatternMac_Choice_Enum_value = map[string]int32{ - "unspecified": 0, - "value": 2, - "values": 3, - "auto": 1, - "increment": 4, - "decrement": 5, - } -) - -func (x PatternMacPatternMac_Choice_Enum) Enum() *PatternMacPatternMac_Choice_Enum { - p := new(PatternMacPatternMac_Choice_Enum) - *p = x - return p -} - -func (x PatternMacPatternMac_Choice_Enum) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (PatternMacPatternMac_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { - return file_sanity_proto_enumTypes[17].Descriptor() -} - -func (PatternMacPatternMac_Choice_Enum) Type() protoreflect.EnumType { - return &file_sanity_proto_enumTypes[17] -} - -func (x PatternMacPatternMac_Choice_Enum) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use PatternMacPatternMac_Choice_Enum.Descriptor instead. -func (PatternMacPatternMac_Choice_Enum) EnumDescriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{46, 0, 0} -} - -type PatternIntegerPatternInteger_Choice_Enum int32 - -const ( - PatternIntegerPatternInteger_Choice_unspecified PatternIntegerPatternInteger_Choice_Enum = 0 - PatternIntegerPatternInteger_Choice_value PatternIntegerPatternInteger_Choice_Enum = 2 - PatternIntegerPatternInteger_Choice_values PatternIntegerPatternInteger_Choice_Enum = 3 - PatternIntegerPatternInteger_Choice_increment PatternIntegerPatternInteger_Choice_Enum = 4 - PatternIntegerPatternInteger_Choice_decrement PatternIntegerPatternInteger_Choice_Enum = 5 -) - -// Enum value maps for PatternIntegerPatternInteger_Choice_Enum. -var ( - PatternIntegerPatternInteger_Choice_Enum_name = map[int32]string{ - 0: "unspecified", - 2: "value", - 3: "values", - 4: "increment", - 5: "decrement", - } - PatternIntegerPatternInteger_Choice_Enum_value = map[string]int32{ - "unspecified": 0, - "value": 2, - "values": 3, - "increment": 4, - "decrement": 5, - } -) - -func (x PatternIntegerPatternInteger_Choice_Enum) Enum() *PatternIntegerPatternInteger_Choice_Enum { - p := new(PatternIntegerPatternInteger_Choice_Enum) - *p = x - return p -} - -func (x PatternIntegerPatternInteger_Choice_Enum) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (PatternIntegerPatternInteger_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { - return file_sanity_proto_enumTypes[18].Descriptor() -} - -func (PatternIntegerPatternInteger_Choice_Enum) Type() protoreflect.EnumType { - return &file_sanity_proto_enumTypes[18] -} - -func (x PatternIntegerPatternInteger_Choice_Enum) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use PatternIntegerPatternInteger_Choice_Enum.Descriptor instead. -func (PatternIntegerPatternInteger_Choice_Enum) EnumDescriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{48, 0, 0} -} - -type PatternChecksumPatternChecksum_Choice_Enum int32 - -const ( - PatternChecksumPatternChecksum_Choice_unspecified PatternChecksumPatternChecksum_Choice_Enum = 0 - PatternChecksumPatternChecksum_Choice_generated PatternChecksumPatternChecksum_Choice_Enum = 1 - PatternChecksumPatternChecksum_Choice_custom PatternChecksumPatternChecksum_Choice_Enum = 2 -) - -// Enum value maps for PatternChecksumPatternChecksum_Choice_Enum. -var ( - PatternChecksumPatternChecksum_Choice_Enum_name = map[int32]string{ - 0: "unspecified", - 1: "generated", - 2: "custom", - } - PatternChecksumPatternChecksum_Choice_Enum_value = map[string]int32{ - "unspecified": 0, - "generated": 1, - "custom": 2, - } -) - -func (x PatternChecksumPatternChecksum_Choice_Enum) Enum() *PatternChecksumPatternChecksum_Choice_Enum { - p := new(PatternChecksumPatternChecksum_Choice_Enum) - *p = x - return p -} - -func (x PatternChecksumPatternChecksum_Choice_Enum) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (PatternChecksumPatternChecksum_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { - return file_sanity_proto_enumTypes[19].Descriptor() -} - -func (PatternChecksumPatternChecksum_Choice_Enum) Type() protoreflect.EnumType { - return &file_sanity_proto_enumTypes[19] -} - -func (x PatternChecksumPatternChecksum_Choice_Enum) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use PatternChecksumPatternChecksum_Choice_Enum.Descriptor instead. -func (PatternChecksumPatternChecksum_Choice_Enum) EnumDescriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{49, 0, 0} -} - -type PatternChecksumPatternChecksum_Generated_Enum int32 - -const ( - PatternChecksumPatternChecksum_Generated_unspecified PatternChecksumPatternChecksum_Generated_Enum = 0 - PatternChecksumPatternChecksum_Generated_good PatternChecksumPatternChecksum_Generated_Enum = 1 - PatternChecksumPatternChecksum_Generated_bad PatternChecksumPatternChecksum_Generated_Enum = 2 -) - -// Enum value maps for PatternChecksumPatternChecksum_Generated_Enum. -var ( - PatternChecksumPatternChecksum_Generated_Enum_name = map[int32]string{ - 0: "unspecified", - 1: "good", - 2: "bad", - } - PatternChecksumPatternChecksum_Generated_Enum_value = map[string]int32{ - "unspecified": 0, - "good": 1, - "bad": 2, - } -) - -func (x PatternChecksumPatternChecksum_Generated_Enum) Enum() *PatternChecksumPatternChecksum_Generated_Enum { - p := new(PatternChecksumPatternChecksum_Generated_Enum) - *p = x - return p -} - -func (x PatternChecksumPatternChecksum_Generated_Enum) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (PatternChecksumPatternChecksum_Generated_Enum) Descriptor() protoreflect.EnumDescriptor { - return file_sanity_proto_enumTypes[20].Descriptor() -} - -func (PatternChecksumPatternChecksum_Generated_Enum) Type() protoreflect.EnumType { - return &file_sanity_proto_enumTypes[20] -} - -func (x PatternChecksumPatternChecksum_Generated_Enum) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use PatternChecksumPatternChecksum_Generated_Enum.Descriptor instead. -func (PatternChecksumPatternChecksum_Generated_Enum) EnumDescriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{49, 1, 0} -} - -// Description missing in models -type ErrorDetails struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - Errors []string `protobuf:"bytes,1,rep,name=errors,proto3" json:"errors,omitempty"` -} - -func (x *ErrorDetails) Reset() { - *x = ErrorDetails{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ErrorDetails) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ErrorDetails) ProtoMessage() {} - -func (x *ErrorDetails) ProtoReflect() protoreflect.Message { - mi := &file_sanity_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ErrorDetails.ProtoReflect.Descriptor instead. -func (*ErrorDetails) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{0} -} - -func (x *ErrorDetails) GetErrors() []string { - if x != nil { - return x.Errors - } - return nil -} - -// Description missing in models -type WarningDetails struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - Warnings []string `protobuf:"bytes,1,rep,name=warnings,proto3" json:"warnings,omitempty"` -} - -func (x *WarningDetails) Reset() { - *x = WarningDetails{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *WarningDetails) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WarningDetails) ProtoMessage() {} - -func (x *WarningDetails) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 WarningDetails.ProtoReflect.Descriptor instead. -func (*WarningDetails) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{1} -} - -func (x *WarningDetails) GetWarnings() []string { - if x != nil { - return x.Warnings - } - return nil -} - -// Error response generated while serving API request. -type Error struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Numeric status code based on underlying transport being used. - // required = true - Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` - // Kind of error message. - Kind *Error_Kind_Enum `protobuf:"varint,2,opt,name=kind,proto3,enum=sanity.Error_Kind_Enum,oneof" json:"kind,omitempty"` - // List of error messages generated while serving API request. - Errors []string `protobuf:"bytes,3,rep,name=errors,proto3" json:"errors,omitempty"` -} - -func (x *Error) Reset() { - *x = Error{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Error) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Error) ProtoMessage() {} - -func (x *Error) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 Error.ProtoReflect.Descriptor instead. -func (*Error) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{2} -} - -func (x *Error) GetCode() int32 { - if x != nil { - return x.Code - } - return 0 -} - -func (x *Error) GetKind() Error_Kind_Enum { - if x != nil && x.Kind != nil { - return *x.Kind - } - return Error_Kind_unspecified -} - -func (x *Error) GetErrors() []string { - if x != nil { - return x.Errors - } - return nil -} - -// Container which retains the configuration -type PrefixConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // A required object that MUST be generated as such. - // required = true - RequiredObject *EObject `protobuf:"bytes,1,opt,name=required_object,json=requiredObject,proto3" json:"required_object,omitempty"` - // An optional object that MUST be generated as such. - OptionalObject *EObject `protobuf:"bytes,2,opt,name=optional_object,json=optionalObject,proto3,oneof" json:"optional_object,omitempty"` - // Description missing in models - Ieee_802_1Qbb *bool `protobuf:"varint,3,opt,name=ieee_802_1qbb,json=ieee8021qbb,proto3,oneof" json:"ieee_802_1qbb,omitempty"` - // Deprecated: Information TBD - // - // Description TBD - Space_1 *int32 `protobuf:"varint,4,opt,name=space_1,json=space1,proto3,oneof" json:"space_1,omitempty"` - // Description missing in models - FullDuplex_100Mb *int64 `protobuf:"varint,5,opt,name=full_duplex_100_mb,json=fullDuplex100Mb,proto3,oneof" json:"full_duplex_100_mb,omitempty"` - // Indicate to the server what response should be returned - // default = Response.Enum.status_200 - Response *PrefixConfig_Response_Enum `protobuf:"varint,6,opt,name=response,proto3,enum=sanity.PrefixConfig_Response_Enum,oneof" json:"response,omitempty"` - // Under Review: Information TBD - // - // Small single line description - // required = true - A string `protobuf:"bytes,7,opt,name=a,proto3" json:"a,omitempty"` - // Longer multi-line description - // Second line is here - // Third line - // required = true - B float32 `protobuf:"fixed32,8,opt,name=b,proto3" json:"b,omitempty"` - // Description missing in models - // required = true - C int32 `protobuf:"varint,9,opt,name=c,proto3" json:"c,omitempty"` - // Deprecated: Information TBD - // - // A list of enum values - DValues []PrefixConfig_DValues_Enum `protobuf:"varint,10,rep,packed,name=d_values,json=dValues,proto3,enum=sanity.PrefixConfig_DValues_Enum" json:"d_values,omitempty"` - // Deprecated: Information TBD - // - // A child object - E *EObject `protobuf:"bytes,11,opt,name=e,proto3,oneof" json:"e,omitempty"` - // An object with only choice(s) - F *FObject `protobuf:"bytes,12,opt,name=f,proto3,oneof" json:"f,omitempty"` - // A list of objects with choice and properties - G []*GObject `protobuf:"bytes,13,rep,name=g,proto3" json:"g,omitempty"` - // A boolean value - // default = True - H *bool `protobuf:"varint,14,opt,name=h,proto3,oneof" json:"h,omitempty"` - // A byte string - I []byte `protobuf:"bytes,15,opt,name=i,proto3,oneof" json:"i,omitempty"` - // A list of objects with only choice - J []*JObject `protobuf:"bytes,16,rep,name=j,proto3" json:"j,omitempty"` - // A nested object with only one property which is a choice object - K *KObject `protobuf:"bytes,17,opt,name=k,proto3,oneof" json:"k,omitempty"` - // Description missing in models - L *LObject `protobuf:"bytes,18,opt,name=l,proto3,oneof" json:"l,omitempty"` - // A list of string values - ListOfStringValues []string `protobuf:"bytes,19,rep,name=list_of_string_values,json=listOfStringValues,proto3" json:"list_of_string_values,omitempty"` - // A list of integer values - ListOfIntegerValues []int32 `protobuf:"varint,20,rep,packed,name=list_of_integer_values,json=listOfIntegerValues,proto3" json:"list_of_integer_values,omitempty"` - // Description missing in models - Level *LevelOne `protobuf:"bytes,21,opt,name=level,proto3,oneof" json:"level,omitempty"` - // Description missing in models - Mandatory *Mandate `protobuf:"bytes,22,opt,name=mandatory,proto3,oneof" json:"mandatory,omitempty"` - // Description missing in models - Ipv4Pattern *Ipv4Pattern `protobuf:"bytes,23,opt,name=ipv4_pattern,json=ipv4Pattern,proto3,oneof" json:"ipv4_pattern,omitempty"` - // Description missing in models - Ipv6Pattern *Ipv6Pattern `protobuf:"bytes,24,opt,name=ipv6_pattern,json=ipv6Pattern,proto3,oneof" json:"ipv6_pattern,omitempty"` - // Description missing in models - MacPattern *MacPattern `protobuf:"bytes,25,opt,name=mac_pattern,json=macPattern,proto3,oneof" json:"mac_pattern,omitempty"` - // Description missing in models - IntegerPattern *IntegerPattern `protobuf:"bytes,26,opt,name=integer_pattern,json=integerPattern,proto3,oneof" json:"integer_pattern,omitempty"` - // Description missing in models - ChecksumPattern *ChecksumPattern `protobuf:"bytes,27,opt,name=checksum_pattern,json=checksumPattern,proto3,oneof" json:"checksum_pattern,omitempty"` - // Description missing in models - Case *Layer1Ieee802X `protobuf:"bytes,28,opt,name=case,proto3,oneof" json:"case,omitempty"` - // Description missing in models - MObject *MObject `protobuf:"bytes,29,opt,name=m_object,json=mObject,proto3,oneof" json:"m_object,omitempty"` - // int64 type - Integer64 *int64 `protobuf:"varint,30,opt,name=integer64,proto3,oneof" json:"integer64,omitempty"` - // int64 type list - Integer64List []int64 `protobuf:"varint,31,rep,packed,name=integer64_list,json=integer64List,proto3" json:"integer64_list,omitempty"` - // Description missing in models - HeaderChecksum *PatternPrefixConfigHeaderChecksum `protobuf:"bytes,32,opt,name=header_checksum,json=headerChecksum,proto3,oneof" json:"header_checksum,omitempty"` - // Under Review: Information TBD - // - // string minimum&maximum Length - StrLen *string `protobuf:"bytes,33,opt,name=str_len,json=strLen,proto3,oneof" json:"str_len,omitempty"` - // Under Review: Information TBD - // - // Array of Hex - HexSlice []string `protobuf:"bytes,34,rep,name=hex_slice,json=hexSlice,proto3" json:"hex_slice,omitempty"` - // Description missing in models - AutoFieldTest *PatternPrefixConfigAutoFieldTest `protobuf:"bytes,35,opt,name=auto_field_test,json=autoFieldTest,proto3,oneof" json:"auto_field_test,omitempty"` - // Description missing in models - Name *string `protobuf:"bytes,36,opt,name=name,proto3,oneof" json:"name,omitempty"` - // Description missing in models - WList []*WObject `protobuf:"bytes,37,rep,name=w_list,json=wList,proto3" json:"w_list,omitempty"` - // Description missing in models - XList []*ZObject `protobuf:"bytes,38,rep,name=x_list,json=xList,proto3" json:"x_list,omitempty"` - // Description missing in models - ZObject *ZObject `protobuf:"bytes,39,opt,name=z_object,json=zObject,proto3,oneof" json:"z_object,omitempty"` - // Description missing in models - YObject *YObject `protobuf:"bytes,40,opt,name=y_object,json=yObject,proto3,oneof" json:"y_object,omitempty"` - // A list of objects with choice with and without properties - ChoiceObject []*ChoiceObject `protobuf:"bytes,41,rep,name=choice_object,json=choiceObject,proto3" json:"choice_object,omitempty"` - // Description missing in models - RequiredChoiceObject *RequiredChoiceParent `protobuf:"bytes,42,opt,name=required_choice_object,json=requiredChoiceObject,proto3,oneof" json:"required_choice_object,omitempty"` - // A list of objects with choice and properties - G1 []*GObject `protobuf:"bytes,43,rep,name=g1,proto3" json:"g1,omitempty"` - // A list of objects with choice and properties - G2 []*GObject `protobuf:"bytes,44,rep,name=g2,proto3" json:"g2,omitempty"` - // int32 type - Int32Param *int32 `protobuf:"varint,45,opt,name=int32_param,json=int32Param,proto3,oneof" json:"int32_param,omitempty"` - // int32 type list - Int32ListParam []int32 `protobuf:"varint,46,rep,packed,name=int32_list_param,json=int32ListParam,proto3" json:"int32_list_param,omitempty"` - // uint32 type - Uint32Param *uint32 `protobuf:"varint,47,opt,name=uint32_param,json=uint32Param,proto3,oneof" json:"uint32_param,omitempty"` - // uint32 type list - Uint32ListParam []uint32 `protobuf:"varint,48,rep,packed,name=uint32_list_param,json=uint32ListParam,proto3" json:"uint32_list_param,omitempty"` - // uint64 type - Uint64Param *uint64 `protobuf:"varint,49,opt,name=uint64_param,json=uint64Param,proto3,oneof" json:"uint64_param,omitempty"` - // uint64 type list - Uint64ListParam []uint64 `protobuf:"varint,50,rep,packed,name=uint64_list_param,json=uint64ListParam,proto3" json:"uint64_list_param,omitempty"` - // should automatically set type to int32 - AutoInt32Param *int32 `protobuf:"varint,51,opt,name=auto_int32_param,json=autoInt32Param,proto3,oneof" json:"auto_int32_param,omitempty"` - // should automatically set type to []int32 - AutoInt32ListParam []int32 `protobuf:"varint,52,rep,packed,name=auto_int32_list_param,json=autoInt32ListParam,proto3" json:"auto_int32_list_param,omitempty"` -} - -func (x *PrefixConfig) Reset() { - *x = PrefixConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PrefixConfig) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PrefixConfig) ProtoMessage() {} - -func (x *PrefixConfig) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 PrefixConfig.ProtoReflect.Descriptor instead. -func (*PrefixConfig) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{3} -} - -func (x *PrefixConfig) GetRequiredObject() *EObject { - if x != nil { - return x.RequiredObject - } - return nil -} - -func (x *PrefixConfig) GetOptionalObject() *EObject { - if x != nil { - return x.OptionalObject - } - return nil -} - -func (x *PrefixConfig) GetIeee_802_1Qbb() bool { - if x != nil && x.Ieee_802_1Qbb != nil { - return *x.Ieee_802_1Qbb - } - return false -} - -func (x *PrefixConfig) GetSpace_1() int32 { - if x != nil && x.Space_1 != nil { - return *x.Space_1 - } - return 0 -} - -func (x *PrefixConfig) GetFullDuplex_100Mb() int64 { - if x != nil && x.FullDuplex_100Mb != nil { - return *x.FullDuplex_100Mb - } - return 0 -} - -func (x *PrefixConfig) GetResponse() PrefixConfig_Response_Enum { - if x != nil && x.Response != nil { - return *x.Response - } - return PrefixConfig_Response_unspecified -} - -func (x *PrefixConfig) GetA() string { - if x != nil { - return x.A - } - return "" -} - -func (x *PrefixConfig) GetB() float32 { - if x != nil { - return x.B - } - return 0 -} - -func (x *PrefixConfig) GetC() int32 { - if x != nil { - return x.C - } - return 0 -} - -func (x *PrefixConfig) GetDValues() []PrefixConfig_DValues_Enum { - if x != nil { - return x.DValues - } - return nil -} - -func (x *PrefixConfig) GetE() *EObject { - if x != nil { - return x.E - } - return nil -} - -func (x *PrefixConfig) GetF() *FObject { - if x != nil { - return x.F - } - return nil -} - -func (x *PrefixConfig) GetG() []*GObject { - if x != nil { - return x.G - } - return nil -} - -func (x *PrefixConfig) GetH() bool { - if x != nil && x.H != nil { - return *x.H - } - return false -} - -func (x *PrefixConfig) GetI() []byte { - if x != nil { - return x.I - } - return nil -} - -func (x *PrefixConfig) GetJ() []*JObject { - if x != nil { - return x.J - } - return nil -} - -func (x *PrefixConfig) GetK() *KObject { - if x != nil { - return x.K - } - return nil -} - -func (x *PrefixConfig) GetL() *LObject { - if x != nil { - return x.L - } - return nil -} - -func (x *PrefixConfig) GetListOfStringValues() []string { - if x != nil { - return x.ListOfStringValues - } - return nil -} - -func (x *PrefixConfig) GetListOfIntegerValues() []int32 { - if x != nil { - return x.ListOfIntegerValues - } - return nil -} - -func (x *PrefixConfig) GetLevel() *LevelOne { - if x != nil { - return x.Level - } - return nil -} - -func (x *PrefixConfig) GetMandatory() *Mandate { - if x != nil { - return x.Mandatory - } - return nil -} - -func (x *PrefixConfig) GetIpv4Pattern() *Ipv4Pattern { - if x != nil { - return x.Ipv4Pattern - } - return nil -} - -func (x *PrefixConfig) GetIpv6Pattern() *Ipv6Pattern { - if x != nil { - return x.Ipv6Pattern - } - return nil -} - -func (x *PrefixConfig) GetMacPattern() *MacPattern { - if x != nil { - return x.MacPattern - } - return nil -} - -func (x *PrefixConfig) GetIntegerPattern() *IntegerPattern { - if x != nil { - return x.IntegerPattern - } - return nil -} - -func (x *PrefixConfig) GetChecksumPattern() *ChecksumPattern { - if x != nil { - return x.ChecksumPattern - } - return nil -} - -func (x *PrefixConfig) GetCase() *Layer1Ieee802X { - if x != nil { - return x.Case - } - return nil -} - -func (x *PrefixConfig) GetMObject() *MObject { - if x != nil { - return x.MObject - } - return nil -} - -func (x *PrefixConfig) GetInteger64() int64 { - if x != nil && x.Integer64 != nil { - return *x.Integer64 - } - return 0 -} - -func (x *PrefixConfig) GetInteger64List() []int64 { - if x != nil { - return x.Integer64List - } - return nil -} - -func (x *PrefixConfig) GetHeaderChecksum() *PatternPrefixConfigHeaderChecksum { - if x != nil { - return x.HeaderChecksum - } - return nil -} - -func (x *PrefixConfig) GetStrLen() string { - if x != nil && x.StrLen != nil { - return *x.StrLen - } - return "" -} - -func (x *PrefixConfig) GetHexSlice() []string { - if x != nil { - return x.HexSlice - } - return nil -} - -func (x *PrefixConfig) GetAutoFieldTest() *PatternPrefixConfigAutoFieldTest { - if x != nil { - return x.AutoFieldTest - } - return nil -} - -func (x *PrefixConfig) GetName() string { - if x != nil && x.Name != nil { - return *x.Name - } - return "" -} - -func (x *PrefixConfig) GetWList() []*WObject { - if x != nil { - return x.WList - } - return nil -} - -func (x *PrefixConfig) GetXList() []*ZObject { - if x != nil { - return x.XList - } - return nil -} - -func (x *PrefixConfig) GetZObject() *ZObject { - if x != nil { - return x.ZObject - } - return nil -} - -func (x *PrefixConfig) GetYObject() *YObject { - if x != nil { - return x.YObject - } - return nil -} - -func (x *PrefixConfig) GetChoiceObject() []*ChoiceObject { - if x != nil { - return x.ChoiceObject - } - return nil -} - -func (x *PrefixConfig) GetRequiredChoiceObject() *RequiredChoiceParent { - if x != nil { - return x.RequiredChoiceObject - } - return nil -} - -func (x *PrefixConfig) GetG1() []*GObject { - if x != nil { - return x.G1 - } - return nil -} - -func (x *PrefixConfig) GetG2() []*GObject { - if x != nil { - return x.G2 - } - return nil -} - -func (x *PrefixConfig) GetInt32Param() int32 { - if x != nil && x.Int32Param != nil { - return *x.Int32Param - } - return 0 -} - -func (x *PrefixConfig) GetInt32ListParam() []int32 { - if x != nil { - return x.Int32ListParam - } - return nil -} - -func (x *PrefixConfig) GetUint32Param() uint32 { - if x != nil && x.Uint32Param != nil { - return *x.Uint32Param - } - return 0 -} - -func (x *PrefixConfig) GetUint32ListParam() []uint32 { - if x != nil { - return x.Uint32ListParam - } - return nil -} - -func (x *PrefixConfig) GetUint64Param() uint64 { - if x != nil && x.Uint64Param != nil { - return *x.Uint64Param - } - return 0 -} - -func (x *PrefixConfig) GetUint64ListParam() []uint64 { - if x != nil { - return x.Uint64ListParam - } - return nil -} - -func (x *PrefixConfig) GetAutoInt32Param() int32 { - if x != nil && x.AutoInt32Param != nil { - return *x.AutoInt32Param - } - return 0 -} - -func (x *PrefixConfig) GetAutoInt32ListParam() []int32 { - if x != nil { - return x.AutoInt32ListParam - } - return nil -} - -// Description missing in models -type WObject struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - // required = true - WName string `protobuf:"bytes,1,opt,name=w_name,json=wName,proto3" json:"w_name,omitempty"` -} - -func (x *WObject) Reset() { - *x = WObject{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *WObject) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WObject) ProtoMessage() {} - -func (x *WObject) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 WObject.ProtoReflect.Descriptor instead. -func (*WObject) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{4} -} - -func (x *WObject) GetWName() string { - if x != nil { - return x.WName - } - return "" -} - -// Description missing in models -type ZObject struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - // required = true - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` -} - -func (x *ZObject) Reset() { - *x = ZObject{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ZObject) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ZObject) ProtoMessage() {} - -func (x *ZObject) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 ZObject.ProtoReflect.Descriptor instead. -func (*ZObject) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{5} -} - -func (x *ZObject) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -// Description missing in models -type YObject struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // TBD - // - // x-constraint: - // - /components/schemas/ZObject/properties/name - // - /components/schemas/WObject/properties/w_name - YName *string `protobuf:"bytes,1,opt,name=y_name,json=yName,proto3,oneof" json:"y_name,omitempty"` -} - -func (x *YObject) Reset() { - *x = YObject{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *YObject) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*YObject) ProtoMessage() {} - -func (x *YObject) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 YObject.ProtoReflect.Descriptor instead. -func (*YObject) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{6} -} - -func (x *YObject) GetYName() string { - if x != nil && x.YName != nil { - return *x.YName - } - return "" -} - -// Description missing in models -type Layer1Ieee802X struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - FlowControl *bool `protobuf:"varint,1,opt,name=flow_control,json=flowControl,proto3,oneof" json:"flow_control,omitempty"` -} - -func (x *Layer1Ieee802X) Reset() { - *x = Layer1Ieee802X{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Layer1Ieee802X) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Layer1Ieee802X) ProtoMessage() {} - -func (x *Layer1Ieee802X) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 Layer1Ieee802X.ProtoReflect.Descriptor instead. -func (*Layer1Ieee802X) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{7} -} - -func (x *Layer1Ieee802X) GetFlowControl() bool { - if x != nil && x.FlowControl != nil { - return *x.FlowControl - } - return false -} - -// Deprecated: new schema Jobject to be used -// -// Description TBD -type GObject struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - // default = asdf - GA *string `protobuf:"bytes,1,opt,name=g_a,json=gA,proto3,oneof" json:"g_a,omitempty"` - // Description missing in models - // default = 6 - GB *int32 `protobuf:"varint,2,opt,name=g_b,json=gB,proto3,oneof" json:"g_b,omitempty"` - // Deprecated: Information TBD - // - // Description TBD - // default = 77.7 - GC *float32 `protobuf:"fixed32,3,opt,name=g_c,json=gC,proto3,oneof" json:"g_c,omitempty"` - // Description missing in models - // default = Choice.Enum.g_d - Choice *GObject_Choice_Enum `protobuf:"varint,4,opt,name=choice,proto3,enum=sanity.GObject_Choice_Enum,oneof" json:"choice,omitempty"` - // Description missing in models - // default = some string - GD *string `protobuf:"bytes,5,opt,name=g_d,json=gD,proto3,oneof" json:"g_d,omitempty"` - // Description missing in models - // default = 3.0 - GE *float64 `protobuf:"fixed64,6,opt,name=g_e,json=gE,proto3,oneof" json:"g_e,omitempty"` - // Another enum to test protbuf enum generation - // default = GF.Enum.a - GF *GObject_GF_Enum `protobuf:"varint,7,opt,name=g_f,json=gF,proto3,enum=sanity.GObject_GF_Enum,oneof" json:"g_f,omitempty"` - // Description missing in models - Name *string `protobuf:"bytes,8,opt,name=name,proto3,oneof" json:"name,omitempty"` -} - -func (x *GObject) Reset() { - *x = GObject{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GObject) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GObject) ProtoMessage() {} - -func (x *GObject) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 GObject.ProtoReflect.Descriptor instead. -func (*GObject) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{8} -} - -func (x *GObject) GetGA() string { - if x != nil && x.GA != nil { - return *x.GA - } - return "" -} - -func (x *GObject) GetGB() int32 { - if x != nil && x.GB != nil { - return *x.GB - } - return 0 -} - -func (x *GObject) GetGC() float32 { - if x != nil && x.GC != nil { - return *x.GC - } - return 0 -} - -func (x *GObject) GetChoice() GObject_Choice_Enum { - if x != nil && x.Choice != nil { - return *x.Choice - } - return GObject_Choice_unspecified -} - -func (x *GObject) GetGD() string { - if x != nil && x.GD != nil { - return *x.GD - } - return "" -} - -func (x *GObject) GetGE() float64 { - if x != nil && x.GE != nil { - return *x.GE - } - return 0 -} - -func (x *GObject) GetGF() GObject_GF_Enum { - if x != nil && x.GF != nil { - return *x.GF - } - return GObject_GF_unspecified -} - -func (x *GObject) GetName() string { - if x != nil && x.Name != nil { - return *x.Name - } - return "" -} - -// Description missing in models -type EObject struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - // required = true - EA float32 `protobuf:"fixed32,1,opt,name=e_a,json=eA,proto3" json:"e_a,omitempty"` - // Description missing in models - // required = true - EB float64 `protobuf:"fixed64,2,opt,name=e_b,json=eB,proto3" json:"e_b,omitempty"` - // Description missing in models - Name *string `protobuf:"bytes,3,opt,name=name,proto3,oneof" json:"name,omitempty"` - // Description missing in models - MParam1 *string `protobuf:"bytes,4,opt,name=m_param1,json=mParam1,proto3,oneof" json:"m_param1,omitempty"` - // Description missing in models - MParam2 *string `protobuf:"bytes,5,opt,name=m_param2,json=mParam2,proto3,oneof" json:"m_param2,omitempty"` -} - -func (x *EObject) Reset() { - *x = EObject{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *EObject) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*EObject) ProtoMessage() {} - -func (x *EObject) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 EObject.ProtoReflect.Descriptor instead. -func (*EObject) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{9} -} - -func (x *EObject) GetEA() float32 { - if x != nil { - return x.EA - } - return 0 -} - -func (x *EObject) GetEB() float64 { - if x != nil { - return x.EB - } - return 0 -} - -func (x *EObject) GetName() string { - if x != nil && x.Name != nil { - return *x.Name - } - return "" -} - -func (x *EObject) GetMParam1() string { - if x != nil && x.MParam1 != nil { - return *x.MParam1 - } - return "" -} - -func (x *EObject) GetMParam2() string { - if x != nil && x.MParam2 != nil { - return *x.MParam2 - } - return "" -} - -// Description missing in models -type FObject struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - // default = Choice.Enum.f_a - Choice *FObject_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=sanity.FObject_Choice_Enum,oneof" json:"choice,omitempty"` - // Description missing in models - // default = some string - FA *string `protobuf:"bytes,2,opt,name=f_a,json=fA,proto3,oneof" json:"f_a,omitempty"` - // Description missing in models - // default = 3.0 - FB *float64 `protobuf:"fixed64,3,opt,name=f_b,json=fB,proto3,oneof" json:"f_b,omitempty"` -} - -func (x *FObject) Reset() { - *x = FObject{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FObject) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FObject) ProtoMessage() {} - -func (x *FObject) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 FObject.ProtoReflect.Descriptor instead. -func (*FObject) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{10} -} - -func (x *FObject) GetChoice() FObject_Choice_Enum { - if x != nil && x.Choice != nil { - return *x.Choice - } - return FObject_Choice_unspecified -} - -func (x *FObject) GetFA() string { - if x != nil && x.FA != nil { - return *x.FA - } - return "" -} - -func (x *FObject) GetFB() float64 { - if x != nil && x.FB != nil { - return *x.FB - } - return 0 -} - -// Description missing in models -type JObject struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - // default = Choice.Enum.j_a - Choice *JObject_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=sanity.JObject_Choice_Enum,oneof" json:"choice,omitempty"` - // Description missing in models - JA *EObject `protobuf:"bytes,2,opt,name=j_a,json=jA,proto3,oneof" json:"j_a,omitempty"` - // Description missing in models - JB *FObject `protobuf:"bytes,3,opt,name=j_b,json=jB,proto3,oneof" json:"j_b,omitempty"` -} - -func (x *JObject) Reset() { - *x = JObject{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *JObject) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*JObject) ProtoMessage() {} - -func (x *JObject) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 JObject.ProtoReflect.Descriptor instead. -func (*JObject) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{11} -} - -func (x *JObject) GetChoice() JObject_Choice_Enum { - if x != nil && x.Choice != nil { - return *x.Choice - } - return JObject_Choice_unspecified -} - -func (x *JObject) GetJA() *EObject { - if x != nil { - return x.JA - } - return nil -} - -func (x *JObject) GetJB() *FObject { - if x != nil { - return x.JB - } - return nil -} - -// Description missing in models -type ChoiceObject struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - // default = Choice.Enum.no_obj - Choice *ChoiceObject_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=sanity.ChoiceObject_Choice_Enum,oneof" json:"choice,omitempty"` - // Description missing in models - EObj *EObject `protobuf:"bytes,2,opt,name=e_obj,json=eObj,proto3,oneof" json:"e_obj,omitempty"` - // Description missing in models - FObj *FObject `protobuf:"bytes,3,opt,name=f_obj,json=fObj,proto3,oneof" json:"f_obj,omitempty"` -} - -func (x *ChoiceObject) Reset() { - *x = ChoiceObject{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChoiceObject) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChoiceObject) ProtoMessage() {} - -func (x *ChoiceObject) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 ChoiceObject.ProtoReflect.Descriptor instead. -func (*ChoiceObject) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{12} -} - -func (x *ChoiceObject) GetChoice() ChoiceObject_Choice_Enum { - if x != nil && x.Choice != nil { - return *x.Choice - } - return ChoiceObject_Choice_unspecified -} - -func (x *ChoiceObject) GetEObj() *EObject { - if x != nil { - return x.EObj - } - return nil -} - -func (x *ChoiceObject) GetFObj() *FObject { - if x != nil { - return x.FObj - } - return nil -} - -// Description missing in models -type KObject struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - EObject *EObject `protobuf:"bytes,1,opt,name=e_object,json=eObject,proto3,oneof" json:"e_object,omitempty"` - // Description missing in models - FObject *FObject `protobuf:"bytes,2,opt,name=f_object,json=fObject,proto3,oneof" json:"f_object,omitempty"` -} - -func (x *KObject) Reset() { - *x = KObject{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *KObject) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*KObject) ProtoMessage() {} - -func (x *KObject) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 KObject.ProtoReflect.Descriptor instead. -func (*KObject) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{13} -} - -func (x *KObject) GetEObject() *EObject { - if x != nil { - return x.EObject - } - return nil -} - -func (x *KObject) GetFObject() *FObject { - if x != nil { - return x.FObject - } - return nil -} - -// Format validation object -type LObject struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - StringParam *string `protobuf:"bytes,1,opt,name=string_param,json=stringParam,proto3,oneof" json:"string_param,omitempty"` - // Description missing in models - Integer *int32 `protobuf:"varint,2,opt,name=integer,proto3,oneof" json:"integer,omitempty"` - // Description missing in models - Float *float32 `protobuf:"fixed32,3,opt,name=float,proto3,oneof" json:"float,omitempty"` - // Description missing in models - Double *float64 `protobuf:"fixed64,4,opt,name=double,proto3,oneof" json:"double,omitempty"` - // Description missing in models - Mac *string `protobuf:"bytes,5,opt,name=mac,proto3,oneof" json:"mac,omitempty"` - // Description missing in models - Ipv4 *string `protobuf:"bytes,6,opt,name=ipv4,proto3,oneof" json:"ipv4,omitempty"` - // Description missing in models - Ipv6 *string `protobuf:"bytes,7,opt,name=ipv6,proto3,oneof" json:"ipv6,omitempty"` - // Description missing in models - Hex *string `protobuf:"bytes,8,opt,name=hex,proto3,oneof" json:"hex,omitempty"` -} - -func (x *LObject) Reset() { - *x = LObject{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LObject) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LObject) ProtoMessage() {} - -func (x *LObject) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 LObject.ProtoReflect.Descriptor instead. -func (*LObject) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{14} -} - -func (x *LObject) GetStringParam() string { - if x != nil && x.StringParam != nil { - return *x.StringParam - } - return "" -} - -func (x *LObject) GetInteger() int32 { - if x != nil && x.Integer != nil { - return *x.Integer - } - return 0 -} - -func (x *LObject) GetFloat() float32 { - if x != nil && x.Float != nil { - return *x.Float - } - return 0 -} - -func (x *LObject) GetDouble() float64 { - if x != nil && x.Double != nil { - return *x.Double - } - return 0 -} - -func (x *LObject) GetMac() string { - if x != nil && x.Mac != nil { - return *x.Mac - } - return "" -} - -func (x *LObject) GetIpv4() string { - if x != nil && x.Ipv4 != nil { - return *x.Ipv4 - } - return "" -} - -func (x *LObject) GetIpv6() string { - if x != nil && x.Ipv6 != nil { - return *x.Ipv6 - } - return "" -} - -func (x *LObject) GetHex() string { - if x != nil && x.Hex != nil { - return *x.Hex - } - return "" -} - -// Required format validation object -type MObject struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - // required = true - StringParam string `protobuf:"bytes,1,opt,name=string_param,json=stringParam,proto3" json:"string_param,omitempty"` - // Description missing in models - // required = true - Integer int32 `protobuf:"varint,2,opt,name=integer,proto3" json:"integer,omitempty"` - // Description missing in models - // required = true - Float float32 `protobuf:"fixed32,3,opt,name=float,proto3" json:"float,omitempty"` - // Description missing in models - // required = true - Double float64 `protobuf:"fixed64,4,opt,name=double,proto3" json:"double,omitempty"` - // Description missing in models - // required = true - Mac string `protobuf:"bytes,5,opt,name=mac,proto3" json:"mac,omitempty"` - // Description missing in models - // required = true - Ipv4 string `protobuf:"bytes,6,opt,name=ipv4,proto3" json:"ipv4,omitempty"` - // Description missing in models - // required = true - Ipv6 string `protobuf:"bytes,7,opt,name=ipv6,proto3" json:"ipv6,omitempty"` - // Description missing in models - // required = true - Hex string `protobuf:"bytes,8,opt,name=hex,proto3" json:"hex,omitempty"` -} - -func (x *MObject) Reset() { - *x = MObject{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MObject) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MObject) ProtoMessage() {} - -func (x *MObject) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 MObject.ProtoReflect.Descriptor instead. -func (*MObject) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{15} -} - -func (x *MObject) GetStringParam() string { - if x != nil { - return x.StringParam - } - return "" -} - -func (x *MObject) GetInteger() int32 { - if x != nil { - return x.Integer - } - return 0 -} - -func (x *MObject) GetFloat() float32 { - if x != nil { - return x.Float - } - return 0 -} - -func (x *MObject) GetDouble() float64 { - if x != nil { - return x.Double - } - return 0 -} - -func (x *MObject) GetMac() string { - if x != nil { - return x.Mac - } - return "" -} - -func (x *MObject) GetIpv4() string { - if x != nil { - return x.Ipv4 - } - return "" -} - -func (x *MObject) GetIpv6() string { - if x != nil { - return x.Ipv6 - } - return "" -} - -func (x *MObject) GetHex() string { - if x != nil { - return x.Hex - } - return "" -} - -// Object to Test required Parameter -type Mandate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - // required = true - RequiredParam string `protobuf:"bytes,1,opt,name=required_param,json=requiredParam,proto3" json:"required_param,omitempty"` -} - -func (x *Mandate) Reset() { - *x = Mandate{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Mandate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Mandate) ProtoMessage() {} - -func (x *Mandate) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 Mandate.ProtoReflect.Descriptor instead. -func (*Mandate) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{16} -} - -func (x *Mandate) GetRequiredParam() string { - if x != nil { - return x.RequiredParam - } - return "" -} - -// Under Review: the whole schema is being reviewed -// -// Object to Test required Parameter -type UpdateConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // A list of objects with choice and properties - G []*GObject `protobuf:"bytes,1,rep,name=g,proto3" json:"g,omitempty"` -} - -func (x *UpdateConfig) Reset() { - *x = UpdateConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdateConfig) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateConfig) ProtoMessage() {} - -func (x *UpdateConfig) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 UpdateConfig.ProtoReflect.Descriptor instead. -func (*UpdateConfig) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{17} -} - -func (x *UpdateConfig) GetG() []*GObject { - if x != nil { - return x.G - } - return nil -} - -// Description missing in models -type MetricsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - // default = Choice.Enum.port - Choice *MetricsRequest_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=sanity.MetricsRequest_Choice_Enum,oneof" json:"choice,omitempty"` - // Description missing in models - Port *string `protobuf:"bytes,2,opt,name=port,proto3,oneof" json:"port,omitempty"` - // Description missing in models - Flow *string `protobuf:"bytes,3,opt,name=flow,proto3,oneof" json:"flow,omitempty"` -} - -func (x *MetricsRequest) Reset() { - *x = MetricsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MetricsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MetricsRequest) ProtoMessage() {} - -func (x *MetricsRequest) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 MetricsRequest.ProtoReflect.Descriptor instead. -func (*MetricsRequest) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{18} -} - -func (x *MetricsRequest) GetChoice() MetricsRequest_Choice_Enum { - if x != nil && x.Choice != nil { - return *x.Choice - } - return MetricsRequest_Choice_unspecified -} - -func (x *MetricsRequest) GetPort() string { - if x != nil && x.Port != nil { - return *x.Port - } - return "" -} - -func (x *MetricsRequest) GetFlow() string { - if x != nil && x.Flow != nil { - return *x.Flow - } - return "" -} - -// Description missing in models -type Metrics struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - // default = Choice.Enum.ports - Choice *Metrics_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=sanity.Metrics_Choice_Enum,oneof" json:"choice,omitempty"` - // Description missing in models - Ports []*PortMetric `protobuf:"bytes,2,rep,name=ports,proto3" json:"ports,omitempty"` - // Description missing in models - Flows []*FlowMetric `protobuf:"bytes,3,rep,name=flows,proto3" json:"flows,omitempty"` -} - -func (x *Metrics) Reset() { - *x = Metrics{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Metrics) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Metrics) ProtoMessage() {} - -func (x *Metrics) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 Metrics.ProtoReflect.Descriptor instead. -func (*Metrics) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{19} -} - -func (x *Metrics) GetChoice() Metrics_Choice_Enum { - if x != nil && x.Choice != nil { - return *x.Choice - } - return Metrics_Choice_unspecified -} - -func (x *Metrics) GetPorts() []*PortMetric { - if x != nil { - return x.Ports - } - return nil -} - -func (x *Metrics) GetFlows() []*FlowMetric { - if x != nil { - return x.Flows - } - return nil -} - -// Description missing in models -type PortMetric struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - // required = true - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - // Description missing in models - // required = true - TxFrames float64 `protobuf:"fixed64,2,opt,name=tx_frames,json=txFrames,proto3" json:"tx_frames,omitempty"` - // Description missing in models - // required = true - RxFrames float64 `protobuf:"fixed64,3,opt,name=rx_frames,json=rxFrames,proto3" json:"rx_frames,omitempty"` -} - -func (x *PortMetric) Reset() { - *x = PortMetric{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PortMetric) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PortMetric) ProtoMessage() {} - -func (x *PortMetric) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 PortMetric.ProtoReflect.Descriptor instead. -func (*PortMetric) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{20} -} - -func (x *PortMetric) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *PortMetric) GetTxFrames() float64 { - if x != nil { - return x.TxFrames - } - return 0 -} - -func (x *PortMetric) GetRxFrames() float64 { - if x != nil { - return x.RxFrames - } - return 0 -} - -// Description missing in models -type FlowMetric struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - // required = true - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - // Description missing in models - // required = true - TxFrames float64 `protobuf:"fixed64,2,opt,name=tx_frames,json=txFrames,proto3" json:"tx_frames,omitempty"` - // Description missing in models - // required = true - RxFrames float64 `protobuf:"fixed64,3,opt,name=rx_frames,json=rxFrames,proto3" json:"rx_frames,omitempty"` -} - -func (x *FlowMetric) Reset() { - *x = FlowMetric{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FlowMetric) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FlowMetric) ProtoMessage() {} - -func (x *FlowMetric) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 FlowMetric.ProtoReflect.Descriptor instead. -func (*FlowMetric) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{21} -} - -func (x *FlowMetric) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *FlowMetric) GetTxFrames() float64 { - if x != nil { - return x.TxFrames - } - return 0 -} - -func (x *FlowMetric) GetRxFrames() float64 { - if x != nil { - return x.RxFrames - } - return 0 -} - -// Description missing in models -type RequiredChoiceParent struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - // required = true - Choice RequiredChoiceParent_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=sanity.RequiredChoiceParent_Choice_Enum" json:"choice,omitempty"` - // Description missing in models - IntermediateObj *RequiredChoiceIntermediate `protobuf:"bytes,2,opt,name=intermediate_obj,json=intermediateObj,proto3,oneof" json:"intermediate_obj,omitempty"` -} - -func (x *RequiredChoiceParent) Reset() { - *x = RequiredChoiceParent{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RequiredChoiceParent) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RequiredChoiceParent) ProtoMessage() {} - -func (x *RequiredChoiceParent) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 RequiredChoiceParent.ProtoReflect.Descriptor instead. -func (*RequiredChoiceParent) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{22} -} - -func (x *RequiredChoiceParent) GetChoice() RequiredChoiceParent_Choice_Enum { - if x != nil { - return x.Choice - } - return RequiredChoiceParent_Choice_unspecified -} - -func (x *RequiredChoiceParent) GetIntermediateObj() *RequiredChoiceIntermediate { - if x != nil { - return x.IntermediateObj - } - return nil -} - -// Description missing in models -type RequiredChoiceIntermediate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - // required = true - Choice RequiredChoiceIntermediate_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=sanity.RequiredChoiceIntermediate_Choice_Enum" json:"choice,omitempty"` - // Description missing in models - // default = some string - FA *string `protobuf:"bytes,2,opt,name=f_a,json=fA,proto3,oneof" json:"f_a,omitempty"` - // Description missing in models - Leaf *RequiredChoiceIntermeLeaf `protobuf:"bytes,3,opt,name=leaf,proto3,oneof" json:"leaf,omitempty"` -} - -func (x *RequiredChoiceIntermediate) Reset() { - *x = RequiredChoiceIntermediate{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RequiredChoiceIntermediate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RequiredChoiceIntermediate) ProtoMessage() {} - -func (x *RequiredChoiceIntermediate) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 RequiredChoiceIntermediate.ProtoReflect.Descriptor instead. -func (*RequiredChoiceIntermediate) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{23} -} - -func (x *RequiredChoiceIntermediate) GetChoice() RequiredChoiceIntermediate_Choice_Enum { - if x != nil { - return x.Choice - } - return RequiredChoiceIntermediate_Choice_unspecified -} - -func (x *RequiredChoiceIntermediate) GetFA() string { - if x != nil && x.FA != nil { - return *x.FA - } - return "" -} - -func (x *RequiredChoiceIntermediate) GetLeaf() *RequiredChoiceIntermeLeaf { - if x != nil { - return x.Leaf - } - return nil -} - -// Description missing in models -type RequiredChoiceIntermeLeaf struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - Name *string `protobuf:"bytes,1,opt,name=name,proto3,oneof" json:"name,omitempty"` -} - -func (x *RequiredChoiceIntermeLeaf) Reset() { - *x = RequiredChoiceIntermeLeaf{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RequiredChoiceIntermeLeaf) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RequiredChoiceIntermeLeaf) ProtoMessage() {} - -func (x *RequiredChoiceIntermeLeaf) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 RequiredChoiceIntermeLeaf.ProtoReflect.Descriptor instead. -func (*RequiredChoiceIntermeLeaf) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{24} -} - -func (x *RequiredChoiceIntermeLeaf) GetName() string { - if x != nil && x.Name != nil { - return *x.Name - } - return "" -} - -// To Test Multi level non-primitive types -type LevelOne struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Level one - L1P1 *LevelTwo `protobuf:"bytes,1,opt,name=l1_p1,json=l1P1,proto3,oneof" json:"l1_p1,omitempty"` - // Level one to four - L1P2 *LevelFour `protobuf:"bytes,2,opt,name=l1_p2,json=l1P2,proto3,oneof" json:"l1_p2,omitempty"` -} - -func (x *LevelOne) Reset() { - *x = LevelOne{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LevelOne) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LevelOne) ProtoMessage() {} - -func (x *LevelOne) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 LevelOne.ProtoReflect.Descriptor instead. -func (*LevelOne) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{25} -} - -func (x *LevelOne) GetL1P1() *LevelTwo { - if x != nil { - return x.L1P1 - } - return nil -} - -func (x *LevelOne) GetL1P2() *LevelFour { - if x != nil { - return x.L1P2 - } - return nil -} - -// Test Level 2 -type LevelTwo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Level Two - L2P1 *LevelThree `protobuf:"bytes,1,opt,name=l2_p1,json=l2P1,proto3,oneof" json:"l2_p1,omitempty"` -} - -func (x *LevelTwo) Reset() { - *x = LevelTwo{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[26] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LevelTwo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LevelTwo) ProtoMessage() {} - -func (x *LevelTwo) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 LevelTwo.ProtoReflect.Descriptor instead. -func (*LevelTwo) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{26} -} - -func (x *LevelTwo) GetL2P1() *LevelThree { - if x != nil { - return x.L2P1 - } - return nil -} - -// Test Level3 -type LevelThree struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Set value at Level 3 - L3P1 *string `protobuf:"bytes,1,opt,name=l3_p1,json=l3P1,proto3,oneof" json:"l3_p1,omitempty"` -} - -func (x *LevelThree) Reset() { - *x = LevelThree{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[27] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LevelThree) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LevelThree) ProtoMessage() {} - -func (x *LevelThree) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 LevelThree.ProtoReflect.Descriptor instead. -func (*LevelThree) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{27} -} - -func (x *LevelThree) GetL3P1() string { - if x != nil && x.L3P1 != nil { - return *x.L3P1 - } - return "" -} - -// Test level4 redundant junk testing -type LevelFour struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // loop over level 1 - L4P1 *LevelOne `protobuf:"bytes,1,opt,name=l4_p1,json=l4P1,proto3,oneof" json:"l4_p1,omitempty"` -} - -func (x *LevelFour) Reset() { - *x = LevelFour{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[28] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LevelFour) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LevelFour) ProtoMessage() {} - -func (x *LevelFour) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 LevelFour.ProtoReflect.Descriptor instead. -func (*LevelFour) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{28} -} - -func (x *LevelFour) GetL4P1() *LevelOne { - if x != nil { - return x.L4P1 - } - return nil -} - -// Test ipv4 pattern -type Ipv4Pattern struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - Ipv4 *PatternIpv4PatternIpv4 `protobuf:"bytes,1,opt,name=ipv4,proto3,oneof" json:"ipv4,omitempty"` -} - -func (x *Ipv4Pattern) Reset() { - *x = Ipv4Pattern{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[29] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Ipv4Pattern) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Ipv4Pattern) ProtoMessage() {} - -func (x *Ipv4Pattern) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 Ipv4Pattern.ProtoReflect.Descriptor instead. -func (*Ipv4Pattern) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{29} -} - -func (x *Ipv4Pattern) GetIpv4() *PatternIpv4PatternIpv4 { - if x != nil { - return x.Ipv4 - } - return nil -} - -// Test ipv6 pattern -type Ipv6Pattern struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - Ipv6 *PatternIpv6PatternIpv6 `protobuf:"bytes,1,opt,name=ipv6,proto3,oneof" json:"ipv6,omitempty"` -} - -func (x *Ipv6Pattern) Reset() { - *x = Ipv6Pattern{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[30] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Ipv6Pattern) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Ipv6Pattern) ProtoMessage() {} - -func (x *Ipv6Pattern) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 Ipv6Pattern.ProtoReflect.Descriptor instead. -func (*Ipv6Pattern) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{30} -} - -func (x *Ipv6Pattern) GetIpv6() *PatternIpv6PatternIpv6 { - if x != nil { - return x.Ipv6 - } - return nil -} - -// Test mac pattern -type MacPattern struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - Mac *PatternMacPatternMac `protobuf:"bytes,1,opt,name=mac,proto3,oneof" json:"mac,omitempty"` -} - -func (x *MacPattern) Reset() { - *x = MacPattern{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[31] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MacPattern) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MacPattern) ProtoMessage() {} - -func (x *MacPattern) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 MacPattern.ProtoReflect.Descriptor instead. -func (*MacPattern) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{31} -} - -func (x *MacPattern) GetMac() *PatternMacPatternMac { - if x != nil { - return x.Mac - } - return nil -} - -// Test integer pattern -type IntegerPattern struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - Integer *PatternIntegerPatternInteger `protobuf:"bytes,1,opt,name=integer,proto3,oneof" json:"integer,omitempty"` -} - -func (x *IntegerPattern) Reset() { - *x = IntegerPattern{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[32] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *IntegerPattern) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*IntegerPattern) ProtoMessage() {} - -func (x *IntegerPattern) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 IntegerPattern.ProtoReflect.Descriptor instead. -func (*IntegerPattern) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{32} -} - -func (x *IntegerPattern) GetInteger() *PatternIntegerPatternInteger { - if x != nil { - return x.Integer - } - return nil -} - -// Test checksum pattern -type ChecksumPattern struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - Checksum *PatternChecksumPatternChecksum `protobuf:"bytes,1,opt,name=checksum,proto3,oneof" json:"checksum,omitempty"` -} - -func (x *ChecksumPattern) Reset() { - *x = ChecksumPattern{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[33] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChecksumPattern) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChecksumPattern) ProtoMessage() {} - -func (x *ChecksumPattern) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 ChecksumPattern.ProtoReflect.Descriptor instead. -func (*ChecksumPattern) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{33} -} - -func (x *ChecksumPattern) GetChecksum() *PatternChecksumPatternChecksum { - if x != nil { - return x.Checksum - } - return nil -} - -// Description missing in models -type CommonResponseSuccess struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - Message *string `protobuf:"bytes,1,opt,name=message,proto3,oneof" json:"message,omitempty"` -} - -func (x *CommonResponseSuccess) Reset() { - *x = CommonResponseSuccess{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[34] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CommonResponseSuccess) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CommonResponseSuccess) ProtoMessage() {} - -func (x *CommonResponseSuccess) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 CommonResponseSuccess.ProtoReflect.Descriptor instead. -func (*CommonResponseSuccess) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{34} -} - -func (x *CommonResponseSuccess) GetMessage() string { - if x != nil && x.Message != nil { - return *x.Message - } - return "" -} - -// Description missing in models -type ApiTestInputBody struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - SomeString *string `protobuf:"bytes,1,opt,name=some_string,json=someString,proto3,oneof" json:"some_string,omitempty"` -} - -func (x *ApiTestInputBody) Reset() { - *x = ApiTestInputBody{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[35] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ApiTestInputBody) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ApiTestInputBody) ProtoMessage() {} - -func (x *ApiTestInputBody) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 ApiTestInputBody.ProtoReflect.Descriptor instead. -func (*ApiTestInputBody) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{35} -} - -func (x *ApiTestInputBody) GetSomeString() string { - if x != nil && x.SomeString != nil { - return *x.SomeString - } - return "" -} - -// Description missing in models -type ServiceAbcItem struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - SomeId *string `protobuf:"bytes,1,opt,name=some_id,json=someId,proto3,oneof" json:"some_id,omitempty"` - // Description missing in models - SomeString *string `protobuf:"bytes,2,opt,name=some_string,json=someString,proto3,oneof" json:"some_string,omitempty"` - // Description missing in models - PathId *string `protobuf:"bytes,3,opt,name=path_id,json=pathId,proto3,oneof" json:"path_id,omitempty"` - // Description missing in models - Level_2 *string `protobuf:"bytes,4,opt,name=level_2,json=level2,proto3,oneof" json:"level_2,omitempty"` -} - -func (x *ServiceAbcItem) Reset() { - *x = ServiceAbcItem{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[36] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ServiceAbcItem) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ServiceAbcItem) ProtoMessage() {} - -func (x *ServiceAbcItem) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 ServiceAbcItem.ProtoReflect.Descriptor instead. -func (*ServiceAbcItem) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{36} -} - -func (x *ServiceAbcItem) GetSomeId() string { - if x != nil && x.SomeId != nil { - return *x.SomeId - } - return "" -} - -func (x *ServiceAbcItem) GetSomeString() string { - if x != nil && x.SomeString != nil { - return *x.SomeString - } - return "" -} - -func (x *ServiceAbcItem) GetPathId() string { - if x != nil && x.PathId != nil { - return *x.PathId - } - return "" -} - -func (x *ServiceAbcItem) GetLevel_2() string { - if x != nil && x.Level_2 != nil { - return *x.Level_2 - } - return "" -} - -// Description missing in models -type ServiceAbcItemList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - Items []*ServiceAbcItem `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` -} - -func (x *ServiceAbcItemList) Reset() { - *x = ServiceAbcItemList{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[37] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ServiceAbcItemList) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ServiceAbcItemList) ProtoMessage() {} - -func (x *ServiceAbcItemList) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 ServiceAbcItemList.ProtoReflect.Descriptor instead. -func (*ServiceAbcItemList) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{37} -} - -func (x *ServiceAbcItemList) GetItems() []*ServiceAbcItem { - if x != nil { - return x.Items - } - return nil -} - -// Header checksum -type PatternPrefixConfigHeaderChecksum struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The type of checksum - // default = Choice.Enum.generated - Choice *PatternPrefixConfigHeaderChecksum_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=sanity.PatternPrefixConfigHeaderChecksum_Choice_Enum,oneof" json:"choice,omitempty"` - // A system generated checksum value - // default = Generated.Enum.good - Generated *PatternPrefixConfigHeaderChecksum_Generated_Enum `protobuf:"varint,2,opt,name=generated,proto3,enum=sanity.PatternPrefixConfigHeaderChecksum_Generated_Enum,oneof" json:"generated,omitempty"` - // A custom checksum value - Custom *uint32 `protobuf:"varint,3,opt,name=custom,proto3,oneof" json:"custom,omitempty"` -} - -func (x *PatternPrefixConfigHeaderChecksum) Reset() { - *x = PatternPrefixConfigHeaderChecksum{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[38] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PatternPrefixConfigHeaderChecksum) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PatternPrefixConfigHeaderChecksum) ProtoMessage() {} - -func (x *PatternPrefixConfigHeaderChecksum) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 PatternPrefixConfigHeaderChecksum.ProtoReflect.Descriptor instead. -func (*PatternPrefixConfigHeaderChecksum) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{38} -} - -func (x *PatternPrefixConfigHeaderChecksum) GetChoice() PatternPrefixConfigHeaderChecksum_Choice_Enum { - if x != nil && x.Choice != nil { - return *x.Choice - } - return PatternPrefixConfigHeaderChecksum_Choice_unspecified -} - -func (x *PatternPrefixConfigHeaderChecksum) GetGenerated() PatternPrefixConfigHeaderChecksum_Generated_Enum { - if x != nil && x.Generated != nil { - return *x.Generated - } - return PatternPrefixConfigHeaderChecksum_Generated_unspecified -} - -func (x *PatternPrefixConfigHeaderChecksum) GetCustom() uint32 { - if x != nil && x.Custom != nil { - return *x.Custom - } - return 0 -} - -// integer counter pattern -type PatternPrefixConfigAutoFieldTestCounter struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - // default = 0 - Start *uint32 `protobuf:"varint,1,opt,name=start,proto3,oneof" json:"start,omitempty"` - // Description missing in models - // default = 1 - Step *uint32 `protobuf:"varint,2,opt,name=step,proto3,oneof" json:"step,omitempty"` - // Description missing in models - // default = 1 - Count *uint32 `protobuf:"varint,3,opt,name=count,proto3,oneof" json:"count,omitempty"` -} - -func (x *PatternPrefixConfigAutoFieldTestCounter) Reset() { - *x = PatternPrefixConfigAutoFieldTestCounter{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[39] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PatternPrefixConfigAutoFieldTestCounter) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PatternPrefixConfigAutoFieldTestCounter) ProtoMessage() {} - -func (x *PatternPrefixConfigAutoFieldTestCounter) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 PatternPrefixConfigAutoFieldTestCounter.ProtoReflect.Descriptor instead. -func (*PatternPrefixConfigAutoFieldTestCounter) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{39} -} - -func (x *PatternPrefixConfigAutoFieldTestCounter) GetStart() uint32 { - if x != nil && x.Start != nil { - return *x.Start - } - return 0 -} - -func (x *PatternPrefixConfigAutoFieldTestCounter) GetStep() uint32 { - if x != nil && x.Step != nil { - return *x.Step - } - return 0 -} - -func (x *PatternPrefixConfigAutoFieldTestCounter) GetCount() uint32 { - if x != nil && x.Count != nil { - return *x.Count - } - return 0 -} - -// TBD -type PatternPrefixConfigAutoFieldTest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - // default = Choice.Enum.auto - Choice *PatternPrefixConfigAutoFieldTest_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=sanity.PatternPrefixConfigAutoFieldTest_Choice_Enum,oneof" json:"choice,omitempty"` - // Description missing in models - // default = 0 - Value *uint32 `protobuf:"varint,2,opt,name=value,proto3,oneof" json:"value,omitempty"` - // Description missing in models - // default = [0] - Values []uint32 `protobuf:"varint,3,rep,packed,name=values,proto3" json:"values,omitempty"` - // The OTG implementation can provide a system generated - // value for this property. If the OTG is unable to generate a value - // the default value must be used. - // default = 0 - Auto *uint32 `protobuf:"varint,4,opt,name=auto,proto3,oneof" json:"auto,omitempty"` - // Description missing in models - Increment *PatternPrefixConfigAutoFieldTestCounter `protobuf:"bytes,6,opt,name=increment,proto3,oneof" json:"increment,omitempty"` - // Description missing in models - Decrement *PatternPrefixConfigAutoFieldTestCounter `protobuf:"bytes,7,opt,name=decrement,proto3,oneof" json:"decrement,omitempty"` -} - -func (x *PatternPrefixConfigAutoFieldTest) Reset() { - *x = PatternPrefixConfigAutoFieldTest{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[40] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PatternPrefixConfigAutoFieldTest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PatternPrefixConfigAutoFieldTest) ProtoMessage() {} - -func (x *PatternPrefixConfigAutoFieldTest) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 PatternPrefixConfigAutoFieldTest.ProtoReflect.Descriptor instead. -func (*PatternPrefixConfigAutoFieldTest) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{40} -} - -func (x *PatternPrefixConfigAutoFieldTest) GetChoice() PatternPrefixConfigAutoFieldTest_Choice_Enum { - if x != nil && x.Choice != nil { - return *x.Choice - } - return PatternPrefixConfigAutoFieldTest_Choice_unspecified -} - -func (x *PatternPrefixConfigAutoFieldTest) GetValue() uint32 { - if x != nil && x.Value != nil { - return *x.Value - } - return 0 -} - -func (x *PatternPrefixConfigAutoFieldTest) GetValues() []uint32 { - if x != nil { - return x.Values - } - return nil -} - -func (x *PatternPrefixConfigAutoFieldTest) GetAuto() uint32 { - if x != nil && x.Auto != nil { - return *x.Auto - } - return 0 -} - -func (x *PatternPrefixConfigAutoFieldTest) GetIncrement() *PatternPrefixConfigAutoFieldTestCounter { - if x != nil { - return x.Increment - } - return nil -} - -func (x *PatternPrefixConfigAutoFieldTest) GetDecrement() *PatternPrefixConfigAutoFieldTestCounter { - if x != nil { - return x.Decrement - } - return nil -} - -// ipv4 counter pattern -type PatternIpv4PatternIpv4Counter struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - // default = 0.0.0.0 - Start *string `protobuf:"bytes,1,opt,name=start,proto3,oneof" json:"start,omitempty"` - // Description missing in models - // default = 0.0.0.1 - Step *string `protobuf:"bytes,2,opt,name=step,proto3,oneof" json:"step,omitempty"` - // Description missing in models - // default = 1 - Count *uint32 `protobuf:"varint,3,opt,name=count,proto3,oneof" json:"count,omitempty"` -} - -func (x *PatternIpv4PatternIpv4Counter) Reset() { - *x = PatternIpv4PatternIpv4Counter{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[41] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PatternIpv4PatternIpv4Counter) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PatternIpv4PatternIpv4Counter) ProtoMessage() {} - -func (x *PatternIpv4PatternIpv4Counter) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 PatternIpv4PatternIpv4Counter.ProtoReflect.Descriptor instead. -func (*PatternIpv4PatternIpv4Counter) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{41} -} - -func (x *PatternIpv4PatternIpv4Counter) GetStart() string { - if x != nil && x.Start != nil { - return *x.Start - } - return "" -} - -func (x *PatternIpv4PatternIpv4Counter) GetStep() string { - if x != nil && x.Step != nil { - return *x.Step - } - return "" -} - -func (x *PatternIpv4PatternIpv4Counter) GetCount() uint32 { - if x != nil && x.Count != nil { - return *x.Count - } - return 0 -} - -// TBD -type PatternIpv4PatternIpv4 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - // default = Choice.Enum.value - Choice *PatternIpv4PatternIpv4_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=sanity.PatternIpv4PatternIpv4_Choice_Enum,oneof" json:"choice,omitempty"` - // Description missing in models - // default = 0.0.0.0 - Value *string `protobuf:"bytes,2,opt,name=value,proto3,oneof" json:"value,omitempty"` - // Description missing in models - // default = ['0.0.0.0'] - Values []string `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"` - // Description missing in models - Increment *PatternIpv4PatternIpv4Counter `protobuf:"bytes,5,opt,name=increment,proto3,oneof" json:"increment,omitempty"` - // Description missing in models - Decrement *PatternIpv4PatternIpv4Counter `protobuf:"bytes,6,opt,name=decrement,proto3,oneof" json:"decrement,omitempty"` -} - -func (x *PatternIpv4PatternIpv4) Reset() { - *x = PatternIpv4PatternIpv4{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[42] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PatternIpv4PatternIpv4) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PatternIpv4PatternIpv4) ProtoMessage() {} - -func (x *PatternIpv4PatternIpv4) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 PatternIpv4PatternIpv4.ProtoReflect.Descriptor instead. -func (*PatternIpv4PatternIpv4) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{42} -} - -func (x *PatternIpv4PatternIpv4) GetChoice() PatternIpv4PatternIpv4_Choice_Enum { - if x != nil && x.Choice != nil { - return *x.Choice - } - return PatternIpv4PatternIpv4_Choice_unspecified -} - -func (x *PatternIpv4PatternIpv4) GetValue() string { - if x != nil && x.Value != nil { - return *x.Value - } - return "" -} - -func (x *PatternIpv4PatternIpv4) GetValues() []string { - if x != nil { - return x.Values - } - return nil -} - -func (x *PatternIpv4PatternIpv4) GetIncrement() *PatternIpv4PatternIpv4Counter { - if x != nil { - return x.Increment - } - return nil -} - -func (x *PatternIpv4PatternIpv4) GetDecrement() *PatternIpv4PatternIpv4Counter { - if x != nil { - return x.Decrement - } - return nil -} - -// ipv6 counter pattern -type PatternIpv6PatternIpv6Counter struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - // default = :: - Start *string `protobuf:"bytes,1,opt,name=start,proto3,oneof" json:"start,omitempty"` - // Description missing in models - // default = ::1 - Step *string `protobuf:"bytes,2,opt,name=step,proto3,oneof" json:"step,omitempty"` - // Description missing in models - // default = 1 - Count *uint32 `protobuf:"varint,3,opt,name=count,proto3,oneof" json:"count,omitempty"` -} - -func (x *PatternIpv6PatternIpv6Counter) Reset() { - *x = PatternIpv6PatternIpv6Counter{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[43] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PatternIpv6PatternIpv6Counter) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PatternIpv6PatternIpv6Counter) ProtoMessage() {} - -func (x *PatternIpv6PatternIpv6Counter) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 PatternIpv6PatternIpv6Counter.ProtoReflect.Descriptor instead. -func (*PatternIpv6PatternIpv6Counter) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{43} -} - -func (x *PatternIpv6PatternIpv6Counter) GetStart() string { - if x != nil && x.Start != nil { - return *x.Start - } - return "" -} - -func (x *PatternIpv6PatternIpv6Counter) GetStep() string { - if x != nil && x.Step != nil { - return *x.Step - } - return "" -} - -func (x *PatternIpv6PatternIpv6Counter) GetCount() uint32 { - if x != nil && x.Count != nil { - return *x.Count - } - return 0 -} - -// TBD -type PatternIpv6PatternIpv6 struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - // default = Choice.Enum.value - Choice *PatternIpv6PatternIpv6_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=sanity.PatternIpv6PatternIpv6_Choice_Enum,oneof" json:"choice,omitempty"` - // Description missing in models - // default = :: - Value *string `protobuf:"bytes,2,opt,name=value,proto3,oneof" json:"value,omitempty"` - // Description missing in models - // default = ['::'] - Values []string `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"` - // Description missing in models - Increment *PatternIpv6PatternIpv6Counter `protobuf:"bytes,5,opt,name=increment,proto3,oneof" json:"increment,omitempty"` - // Description missing in models - Decrement *PatternIpv6PatternIpv6Counter `protobuf:"bytes,6,opt,name=decrement,proto3,oneof" json:"decrement,omitempty"` -} - -func (x *PatternIpv6PatternIpv6) Reset() { - *x = PatternIpv6PatternIpv6{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[44] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PatternIpv6PatternIpv6) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PatternIpv6PatternIpv6) ProtoMessage() {} - -func (x *PatternIpv6PatternIpv6) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 PatternIpv6PatternIpv6.ProtoReflect.Descriptor instead. -func (*PatternIpv6PatternIpv6) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{44} -} - -func (x *PatternIpv6PatternIpv6) GetChoice() PatternIpv6PatternIpv6_Choice_Enum { - if x != nil && x.Choice != nil { - return *x.Choice - } - return PatternIpv6PatternIpv6_Choice_unspecified -} - -func (x *PatternIpv6PatternIpv6) GetValue() string { - if x != nil && x.Value != nil { - return *x.Value - } - return "" -} - -func (x *PatternIpv6PatternIpv6) GetValues() []string { - if x != nil { - return x.Values - } - return nil -} - -func (x *PatternIpv6PatternIpv6) GetIncrement() *PatternIpv6PatternIpv6Counter { - if x != nil { - return x.Increment - } - return nil -} - -func (x *PatternIpv6PatternIpv6) GetDecrement() *PatternIpv6PatternIpv6Counter { - if x != nil { - return x.Decrement - } - return nil -} - -// mac counter pattern -type PatternMacPatternMacCounter struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - // default = 00:00:00:00:00:00 - Start *string `protobuf:"bytes,1,opt,name=start,proto3,oneof" json:"start,omitempty"` - // Description missing in models - // default = 00:00:00:00:00:01 - Step *string `protobuf:"bytes,2,opt,name=step,proto3,oneof" json:"step,omitempty"` - // Description missing in models - // default = 1 - Count *uint32 `protobuf:"varint,3,opt,name=count,proto3,oneof" json:"count,omitempty"` -} - -func (x *PatternMacPatternMacCounter) Reset() { - *x = PatternMacPatternMacCounter{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[45] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PatternMacPatternMacCounter) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PatternMacPatternMacCounter) ProtoMessage() {} - -func (x *PatternMacPatternMacCounter) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 PatternMacPatternMacCounter.ProtoReflect.Descriptor instead. -func (*PatternMacPatternMacCounter) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{45} -} - -func (x *PatternMacPatternMacCounter) GetStart() string { - if x != nil && x.Start != nil { - return *x.Start - } - return "" -} - -func (x *PatternMacPatternMacCounter) GetStep() string { - if x != nil && x.Step != nil { - return *x.Step - } - return "" -} - -func (x *PatternMacPatternMacCounter) GetCount() uint32 { - if x != nil && x.Count != nil { - return *x.Count - } - return 0 -} - -// TBD -type PatternMacPatternMac struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - // default = Choice.Enum.auto - Choice *PatternMacPatternMac_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=sanity.PatternMacPatternMac_Choice_Enum,oneof" json:"choice,omitempty"` - // Description missing in models - // default = 00:00:00:00:00:00 - Value *string `protobuf:"bytes,2,opt,name=value,proto3,oneof" json:"value,omitempty"` - // Description missing in models - // default = ['00:00:00:00:00:00'] - Values []string `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"` - // The OTG implementation can provide a system generated - // value for this property. If the OTG is unable to generate a value - // the default value must be used. - // default = 00:00:00:00:00:00 - Auto *string `protobuf:"bytes,4,opt,name=auto,proto3,oneof" json:"auto,omitempty"` - // Description missing in models - Increment *PatternMacPatternMacCounter `protobuf:"bytes,6,opt,name=increment,proto3,oneof" json:"increment,omitempty"` - // Description missing in models - Decrement *PatternMacPatternMacCounter `protobuf:"bytes,7,opt,name=decrement,proto3,oneof" json:"decrement,omitempty"` -} - -func (x *PatternMacPatternMac) Reset() { - *x = PatternMacPatternMac{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[46] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PatternMacPatternMac) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PatternMacPatternMac) ProtoMessage() {} - -func (x *PatternMacPatternMac) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 PatternMacPatternMac.ProtoReflect.Descriptor instead. -func (*PatternMacPatternMac) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{46} -} - -func (x *PatternMacPatternMac) GetChoice() PatternMacPatternMac_Choice_Enum { - if x != nil && x.Choice != nil { - return *x.Choice - } - return PatternMacPatternMac_Choice_unspecified -} - -func (x *PatternMacPatternMac) GetValue() string { - if x != nil && x.Value != nil { - return *x.Value - } - return "" -} - -func (x *PatternMacPatternMac) GetValues() []string { - if x != nil { - return x.Values - } - return nil -} - -func (x *PatternMacPatternMac) GetAuto() string { - if x != nil && x.Auto != nil { - return *x.Auto - } - return "" -} - -func (x *PatternMacPatternMac) GetIncrement() *PatternMacPatternMacCounter { - if x != nil { - return x.Increment - } - return nil -} - -func (x *PatternMacPatternMac) GetDecrement() *PatternMacPatternMacCounter { - if x != nil { - return x.Decrement - } - return nil -} - -// integer counter pattern -type PatternIntegerPatternIntegerCounter struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - // default = 0 - Start *uint32 `protobuf:"varint,1,opt,name=start,proto3,oneof" json:"start,omitempty"` - // Description missing in models - // default = 1 - Step *uint32 `protobuf:"varint,2,opt,name=step,proto3,oneof" json:"step,omitempty"` - // Description missing in models - // default = 1 - Count *uint32 `protobuf:"varint,3,opt,name=count,proto3,oneof" json:"count,omitempty"` -} - -func (x *PatternIntegerPatternIntegerCounter) Reset() { - *x = PatternIntegerPatternIntegerCounter{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[47] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PatternIntegerPatternIntegerCounter) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PatternIntegerPatternIntegerCounter) ProtoMessage() {} - -func (x *PatternIntegerPatternIntegerCounter) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 PatternIntegerPatternIntegerCounter.ProtoReflect.Descriptor instead. -func (*PatternIntegerPatternIntegerCounter) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{47} -} - -func (x *PatternIntegerPatternIntegerCounter) GetStart() uint32 { - if x != nil && x.Start != nil { - return *x.Start - } - return 0 -} - -func (x *PatternIntegerPatternIntegerCounter) GetStep() uint32 { - if x != nil && x.Step != nil { - return *x.Step - } - return 0 -} - -func (x *PatternIntegerPatternIntegerCounter) GetCount() uint32 { - if x != nil && x.Count != nil { - return *x.Count - } - return 0 -} - -// TBD -type PatternIntegerPatternInteger struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Description missing in models - // default = Choice.Enum.value - Choice *PatternIntegerPatternInteger_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=sanity.PatternIntegerPatternInteger_Choice_Enum,oneof" json:"choice,omitempty"` - // Description missing in models - // default = 0 - Value *uint32 `protobuf:"varint,2,opt,name=value,proto3,oneof" json:"value,omitempty"` - // Description missing in models - // default = [0] - Values []uint32 `protobuf:"varint,3,rep,packed,name=values,proto3" json:"values,omitempty"` - // Description missing in models - Increment *PatternIntegerPatternIntegerCounter `protobuf:"bytes,5,opt,name=increment,proto3,oneof" json:"increment,omitempty"` - // Description missing in models - Decrement *PatternIntegerPatternIntegerCounter `protobuf:"bytes,6,opt,name=decrement,proto3,oneof" json:"decrement,omitempty"` -} - -func (x *PatternIntegerPatternInteger) Reset() { - *x = PatternIntegerPatternInteger{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[48] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PatternIntegerPatternInteger) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PatternIntegerPatternInteger) ProtoMessage() {} - -func (x *PatternIntegerPatternInteger) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 PatternIntegerPatternInteger.ProtoReflect.Descriptor instead. -func (*PatternIntegerPatternInteger) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{48} -} - -func (x *PatternIntegerPatternInteger) GetChoice() PatternIntegerPatternInteger_Choice_Enum { - if x != nil && x.Choice != nil { - return *x.Choice - } - return PatternIntegerPatternInteger_Choice_unspecified -} - -func (x *PatternIntegerPatternInteger) GetValue() uint32 { - if x != nil && x.Value != nil { - return *x.Value - } - return 0 -} - -func (x *PatternIntegerPatternInteger) GetValues() []uint32 { - if x != nil { - return x.Values - } - return nil -} - -func (x *PatternIntegerPatternInteger) GetIncrement() *PatternIntegerPatternIntegerCounter { - if x != nil { - return x.Increment - } - return nil -} - -func (x *PatternIntegerPatternInteger) GetDecrement() *PatternIntegerPatternIntegerCounter { - if x != nil { - return x.Decrement - } - return nil -} - -// TBD -type PatternChecksumPatternChecksum struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The type of checksum - // default = Choice.Enum.generated - Choice *PatternChecksumPatternChecksum_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=sanity.PatternChecksumPatternChecksum_Choice_Enum,oneof" json:"choice,omitempty"` - // A system generated checksum value - // default = Generated.Enum.good - Generated *PatternChecksumPatternChecksum_Generated_Enum `protobuf:"varint,2,opt,name=generated,proto3,enum=sanity.PatternChecksumPatternChecksum_Generated_Enum,oneof" json:"generated,omitempty"` - // A custom checksum value - Custom *uint32 `protobuf:"varint,3,opt,name=custom,proto3,oneof" json:"custom,omitempty"` -} - -func (x *PatternChecksumPatternChecksum) Reset() { - *x = PatternChecksumPatternChecksum{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[49] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PatternChecksumPatternChecksum) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PatternChecksumPatternChecksum) ProtoMessage() {} - -func (x *PatternChecksumPatternChecksum) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 PatternChecksumPatternChecksum.ProtoReflect.Descriptor instead. -func (*PatternChecksumPatternChecksum) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{49} -} - -func (x *PatternChecksumPatternChecksum) GetChoice() PatternChecksumPatternChecksum_Choice_Enum { - if x != nil && x.Choice != nil { - return *x.Choice - } - return PatternChecksumPatternChecksum_Choice_unspecified -} - -func (x *PatternChecksumPatternChecksum) GetGenerated() PatternChecksumPatternChecksum_Generated_Enum { - if x != nil && x.Generated != nil { - return *x.Generated - } - return PatternChecksumPatternChecksum_Generated_unspecified -} - -func (x *PatternChecksumPatternChecksum) GetCustom() uint32 { - if x != nil && x.Custom != nil { - return *x.Custom - } - return 0 -} - -// Version details -type Version struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Version of API specification - // default = - ApiSpecVersion *string `protobuf:"bytes,1,opt,name=api_spec_version,json=apiSpecVersion,proto3,oneof" json:"api_spec_version,omitempty"` - // Version of SDK generated from API specification - // default = - SdkVersion *string `protobuf:"bytes,2,opt,name=sdk_version,json=sdkVersion,proto3,oneof" json:"sdk_version,omitempty"` - // Version of application consuming or serving the API - // default = - AppVersion *string `protobuf:"bytes,3,opt,name=app_version,json=appVersion,proto3,oneof" json:"app_version,omitempty"` -} - -func (x *Version) Reset() { - *x = Version{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[50] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Version) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Version) ProtoMessage() {} - -func (x *Version) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 Version.ProtoReflect.Descriptor instead. -func (*Version) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{50} -} - -func (x *Version) GetApiSpecVersion() string { - if x != nil && x.ApiSpecVersion != nil { - return *x.ApiSpecVersion - } - return "" -} - -func (x *Version) GetSdkVersion() string { - if x != nil && x.SdkVersion != nil { - return *x.SdkVersion - } - return "" -} - -func (x *Version) GetAppVersion() string { - if x != nil && x.AppVersion != nil { - return *x.AppVersion - } - return "" -} - -// Success warning payload similar to otg Success -type Warnings struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - WarningDetails *WarningDetails `protobuf:"bytes,1,opt,name=warning_details,json=warningDetails,proto3" json:"warning_details,omitempty"` -} - -func (x *Warnings) Reset() { - *x = Warnings{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[51] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Warnings) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Warnings) ProtoMessage() {} - -func (x *Warnings) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 Warnings.ProtoReflect.Descriptor instead. -func (*Warnings) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{51} -} - -func (x *Warnings) GetWarningDetails() *WarningDetails { - if x != nil { - return x.WarningDetails - } - return nil -} - -type SetConfigRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PrefixConfig *PrefixConfig `protobuf:"bytes,1,opt,name=prefix_config,json=prefixConfig,proto3" json:"prefix_config,omitempty"` -} - -func (x *SetConfigRequest) Reset() { - *x = SetConfigRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[52] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetConfigRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetConfigRequest) ProtoMessage() {} - -func (x *SetConfigRequest) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 SetConfigRequest.ProtoReflect.Descriptor instead. -func (*SetConfigRequest) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{52} -} - -func (x *SetConfigRequest) GetPrefixConfig() *PrefixConfig { - if x != nil { - return x.PrefixConfig - } - return nil -} - -type UpdateConfigurationRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UpdateConfig *UpdateConfig `protobuf:"bytes,1,opt,name=update_config,json=updateConfig,proto3" json:"update_config,omitempty"` -} - -func (x *UpdateConfigurationRequest) Reset() { - *x = UpdateConfigurationRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[53] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdateConfigurationRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateConfigurationRequest) ProtoMessage() {} - -func (x *UpdateConfigurationRequest) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 UpdateConfigurationRequest.ProtoReflect.Descriptor instead. -func (*UpdateConfigurationRequest) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{53} -} - -func (x *UpdateConfigurationRequest) GetUpdateConfig() *UpdateConfig { - if x != nil { - return x.UpdateConfig - } - return nil -} - -type SetConfigResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ResponseBytes []byte `protobuf:"bytes,1,opt,name=response_bytes,json=responseBytes,proto3" json:"response_bytes,omitempty"` -} - -func (x *SetConfigResponse) Reset() { - *x = SetConfigResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[54] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetConfigResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetConfigResponse) ProtoMessage() {} - -func (x *SetConfigResponse) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 SetConfigResponse.ProtoReflect.Descriptor instead. -func (*SetConfigResponse) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{54} -} - -func (x *SetConfigResponse) GetResponseBytes() []byte { - if x != nil { - return x.ResponseBytes - } - return nil -} - -type UpdateConfigurationResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PrefixConfig *PrefixConfig `protobuf:"bytes,1,opt,name=prefix_config,json=prefixConfig,proto3" json:"prefix_config,omitempty"` -} - -func (x *UpdateConfigurationResponse) Reset() { - *x = UpdateConfigurationResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[55] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdateConfigurationResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateConfigurationResponse) ProtoMessage() {} - -func (x *UpdateConfigurationResponse) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 UpdateConfigurationResponse.ProtoReflect.Descriptor instead. -func (*UpdateConfigurationResponse) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{55} -} - -func (x *UpdateConfigurationResponse) GetPrefixConfig() *PrefixConfig { - if x != nil { - return x.PrefixConfig - } - return nil -} - -type GetConfigResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PrefixConfig *PrefixConfig `protobuf:"bytes,1,opt,name=prefix_config,json=prefixConfig,proto3" json:"prefix_config,omitempty"` -} - -func (x *GetConfigResponse) Reset() { - *x = GetConfigResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[56] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetConfigResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetConfigResponse) ProtoMessage() {} - -func (x *GetConfigResponse) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 GetConfigResponse.ProtoReflect.Descriptor instead. -func (*GetConfigResponse) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{56} -} - -func (x *GetConfigResponse) GetPrefixConfig() *PrefixConfig { - if x != nil { - return x.PrefixConfig - } - return nil -} - -type GetMetricsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MetricsRequest *MetricsRequest `protobuf:"bytes,1,opt,name=metrics_request,json=metricsRequest,proto3" json:"metrics_request,omitempty"` -} - -func (x *GetMetricsRequest) Reset() { - *x = GetMetricsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[57] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetMetricsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetMetricsRequest) ProtoMessage() {} - -func (x *GetMetricsRequest) ProtoReflect() protoreflect.Message { - mi := &file_sanity_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 GetMetricsRequest.ProtoReflect.Descriptor instead. -func (*GetMetricsRequest) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{57} -} - -func (x *GetMetricsRequest) GetMetricsRequest() *MetricsRequest { - if x != nil { - return x.MetricsRequest - } - return nil -} - -type GetMetricsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Metrics *Metrics `protobuf:"bytes,1,opt,name=metrics,proto3" json:"metrics,omitempty"` -} - -func (x *GetMetricsResponse) Reset() { - *x = GetMetricsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[58] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetMetricsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetMetricsResponse) ProtoMessage() {} - -func (x *GetMetricsResponse) ProtoReflect() protoreflect.Message { - mi := &file_sanity_proto_msgTypes[58] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetMetricsResponse.ProtoReflect.Descriptor instead. -func (*GetMetricsResponse) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{58} -} - -func (x *GetMetricsResponse) GetMetrics() *Metrics { - if x != nil { - return x.Metrics - } - return nil -} - -type GetWarningsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - WarningDetails *WarningDetails `protobuf:"bytes,1,opt,name=warning_details,json=warningDetails,proto3" json:"warning_details,omitempty"` -} - -func (x *GetWarningsResponse) Reset() { - *x = GetWarningsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[59] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetWarningsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetWarningsResponse) ProtoMessage() {} - -func (x *GetWarningsResponse) ProtoReflect() protoreflect.Message { - mi := &file_sanity_proto_msgTypes[59] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetWarningsResponse.ProtoReflect.Descriptor instead. -func (*GetWarningsResponse) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{59} -} - -func (x *GetWarningsResponse) GetWarningDetails() *WarningDetails { - if x != nil { - return x.WarningDetails - } - return nil -} - -type ClearWarningsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - String_ string `protobuf:"bytes,1,opt,name=string,proto3" json:"string,omitempty"` -} - -func (x *ClearWarningsResponse) Reset() { - *x = ClearWarningsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[60] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ClearWarningsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ClearWarningsResponse) ProtoMessage() {} - -func (x *ClearWarningsResponse) ProtoReflect() protoreflect.Message { - mi := &file_sanity_proto_msgTypes[60] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ClearWarningsResponse.ProtoReflect.Descriptor instead. -func (*ClearWarningsResponse) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{60} -} - -func (x *ClearWarningsResponse) GetString_() string { - if x != nil { - return x.String_ - } - return "" -} - -type PostRootResponseRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ApiTestInputBody *ApiTestInputBody `protobuf:"bytes,1,opt,name=api_test_input_body,json=apiTestInputBody,proto3" json:"api_test_input_body,omitempty"` -} - -func (x *PostRootResponseRequest) Reset() { - *x = PostRootResponseRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[61] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PostRootResponseRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PostRootResponseRequest) ProtoMessage() {} - -func (x *PostRootResponseRequest) ProtoReflect() protoreflect.Message { - mi := &file_sanity_proto_msgTypes[61] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PostRootResponseRequest.ProtoReflect.Descriptor instead. -func (*PostRootResponseRequest) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{61} -} - -func (x *PostRootResponseRequest) GetApiTestInputBody() *ApiTestInputBody { - if x != nil { - return x.ApiTestInputBody - } - return nil -} - -type GetRootResponseResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResponseSuccess *CommonResponseSuccess `protobuf:"bytes,1,opt,name=common_response_success,json=commonResponseSuccess,proto3" json:"common_response_success,omitempty"` -} - -func (x *GetRootResponseResponse) Reset() { - *x = GetRootResponseResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[62] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetRootResponseResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetRootResponseResponse) ProtoMessage() {} - -func (x *GetRootResponseResponse) ProtoReflect() protoreflect.Message { - mi := &file_sanity_proto_msgTypes[62] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetRootResponseResponse.ProtoReflect.Descriptor instead. -func (*GetRootResponseResponse) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{62} -} - -func (x *GetRootResponseResponse) GetCommonResponseSuccess() *CommonResponseSuccess { - if x != nil { - return x.CommonResponseSuccess - } - return nil -} - -type DummyResponseTestResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - String_ string `protobuf:"bytes,1,opt,name=string,proto3" json:"string,omitempty"` -} - -func (x *DummyResponseTestResponse) Reset() { - *x = DummyResponseTestResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[63] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DummyResponseTestResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DummyResponseTestResponse) ProtoMessage() {} - -func (x *DummyResponseTestResponse) ProtoReflect() protoreflect.Message { - mi := &file_sanity_proto_msgTypes[63] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DummyResponseTestResponse.ProtoReflect.Descriptor instead. -func (*DummyResponseTestResponse) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{63} -} - -func (x *DummyResponseTestResponse) GetString_() string { - if x != nil { - return x.String_ - } - return "" -} - -type PostRootResponseResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResponseSuccess *CommonResponseSuccess `protobuf:"bytes,1,opt,name=common_response_success,json=commonResponseSuccess,proto3" json:"common_response_success,omitempty"` -} - -func (x *PostRootResponseResponse) Reset() { - *x = PostRootResponseResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[64] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PostRootResponseResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PostRootResponseResponse) ProtoMessage() {} - -func (x *PostRootResponseResponse) ProtoReflect() protoreflect.Message { - mi := &file_sanity_proto_msgTypes[64] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PostRootResponseResponse.ProtoReflect.Descriptor instead. -func (*PostRootResponseResponse) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{64} -} - -func (x *PostRootResponseResponse) GetCommonResponseSuccess() *CommonResponseSuccess { - if x != nil { - return x.CommonResponseSuccess - } - return nil -} - -type GetAllItemsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ServiceAbcItemList *ServiceAbcItemList `protobuf:"bytes,1,opt,name=service_abc_item_list,json=serviceAbcItemList,proto3" json:"service_abc_item_list,omitempty"` -} - -func (x *GetAllItemsResponse) Reset() { - *x = GetAllItemsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[65] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetAllItemsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetAllItemsResponse) ProtoMessage() {} - -func (x *GetAllItemsResponse) ProtoReflect() protoreflect.Message { - mi := &file_sanity_proto_msgTypes[65] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetAllItemsResponse.ProtoReflect.Descriptor instead. -func (*GetAllItemsResponse) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{65} -} - -func (x *GetAllItemsResponse) GetServiceAbcItemList() *ServiceAbcItemList { - if x != nil { - return x.ServiceAbcItemList - } - return nil -} - -type GetSingleItemResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ServiceAbcItem *ServiceAbcItem `protobuf:"bytes,1,opt,name=service_abc_item,json=serviceAbcItem,proto3" json:"service_abc_item,omitempty"` -} - -func (x *GetSingleItemResponse) Reset() { - *x = GetSingleItemResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[66] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetSingleItemResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetSingleItemResponse) ProtoMessage() {} - -func (x *GetSingleItemResponse) ProtoReflect() protoreflect.Message { - mi := &file_sanity_proto_msgTypes[66] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetSingleItemResponse.ProtoReflect.Descriptor instead. -func (*GetSingleItemResponse) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{66} -} - -func (x *GetSingleItemResponse) GetServiceAbcItem() *ServiceAbcItem { - if x != nil { - return x.ServiceAbcItem - } - return nil -} - -type GetSingleItemLevel2Response struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ServiceAbcItem *ServiceAbcItem `protobuf:"bytes,1,opt,name=service_abc_item,json=serviceAbcItem,proto3" json:"service_abc_item,omitempty"` -} - -func (x *GetSingleItemLevel2Response) Reset() { - *x = GetSingleItemLevel2Response{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[67] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetSingleItemLevel2Response) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetSingleItemLevel2Response) ProtoMessage() {} - -func (x *GetSingleItemLevel2Response) ProtoReflect() protoreflect.Message { - mi := &file_sanity_proto_msgTypes[67] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetSingleItemLevel2Response.ProtoReflect.Descriptor instead. -func (*GetSingleItemLevel2Response) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{67} -} - -func (x *GetSingleItemLevel2Response) GetServiceAbcItem() *ServiceAbcItem { - if x != nil { - return x.ServiceAbcItem - } - return nil -} - -type GetVersionResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Version *Version `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` -} - -func (x *GetVersionResponse) Reset() { - *x = GetVersionResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[68] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetVersionResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetVersionResponse) ProtoMessage() {} - -func (x *GetVersionResponse) ProtoReflect() protoreflect.Message { - mi := &file_sanity_proto_msgTypes[68] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetVersionResponse.ProtoReflect.Descriptor instead. -func (*GetVersionResponse) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{68} -} - -func (x *GetVersionResponse) GetVersion() *Version { - if x != nil { - return x.Version - } - return nil -} - -type Error_Kind struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *Error_Kind) Reset() { - *x = Error_Kind{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[69] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Error_Kind) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Error_Kind) ProtoMessage() {} - -func (x *Error_Kind) ProtoReflect() protoreflect.Message { - mi := &file_sanity_proto_msgTypes[69] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Error_Kind.ProtoReflect.Descriptor instead. -func (*Error_Kind) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{2, 0} -} - -type PrefixConfig_Response struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *PrefixConfig_Response) Reset() { - *x = PrefixConfig_Response{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[70] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PrefixConfig_Response) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PrefixConfig_Response) ProtoMessage() {} - -func (x *PrefixConfig_Response) ProtoReflect() protoreflect.Message { - mi := &file_sanity_proto_msgTypes[70] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PrefixConfig_Response.ProtoReflect.Descriptor instead. -func (*PrefixConfig_Response) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{3, 0} -} - -type PrefixConfig_DValues struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *PrefixConfig_DValues) Reset() { - *x = PrefixConfig_DValues{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[71] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PrefixConfig_DValues) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PrefixConfig_DValues) ProtoMessage() {} - -func (x *PrefixConfig_DValues) ProtoReflect() protoreflect.Message { - mi := &file_sanity_proto_msgTypes[71] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PrefixConfig_DValues.ProtoReflect.Descriptor instead. -func (*PrefixConfig_DValues) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{3, 1} -} - -type GObject_Choice struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *GObject_Choice) Reset() { - *x = GObject_Choice{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[72] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GObject_Choice) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GObject_Choice) ProtoMessage() {} - -func (x *GObject_Choice) ProtoReflect() protoreflect.Message { - mi := &file_sanity_proto_msgTypes[72] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GObject_Choice.ProtoReflect.Descriptor instead. -func (*GObject_Choice) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{8, 0} -} - -type GObject_GF struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *GObject_GF) Reset() { - *x = GObject_GF{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[73] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GObject_GF) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GObject_GF) ProtoMessage() {} - -func (x *GObject_GF) ProtoReflect() protoreflect.Message { - mi := &file_sanity_proto_msgTypes[73] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GObject_GF.ProtoReflect.Descriptor instead. -func (*GObject_GF) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{8, 1} -} - -type FObject_Choice struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *FObject_Choice) Reset() { - *x = FObject_Choice{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[74] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FObject_Choice) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FObject_Choice) ProtoMessage() {} - -func (x *FObject_Choice) ProtoReflect() protoreflect.Message { - mi := &file_sanity_proto_msgTypes[74] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use FObject_Choice.ProtoReflect.Descriptor instead. -func (*FObject_Choice) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{10, 0} -} - -type JObject_Choice struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *JObject_Choice) Reset() { - *x = JObject_Choice{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[75] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *JObject_Choice) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*JObject_Choice) ProtoMessage() {} - -func (x *JObject_Choice) ProtoReflect() protoreflect.Message { - mi := &file_sanity_proto_msgTypes[75] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use JObject_Choice.ProtoReflect.Descriptor instead. -func (*JObject_Choice) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{11, 0} -} - -type ChoiceObject_Choice struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *ChoiceObject_Choice) Reset() { - *x = ChoiceObject_Choice{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[76] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChoiceObject_Choice) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChoiceObject_Choice) ProtoMessage() {} - -func (x *ChoiceObject_Choice) ProtoReflect() protoreflect.Message { - mi := &file_sanity_proto_msgTypes[76] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChoiceObject_Choice.ProtoReflect.Descriptor instead. -func (*ChoiceObject_Choice) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{12, 0} -} - -type MetricsRequest_Choice struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *MetricsRequest_Choice) Reset() { - *x = MetricsRequest_Choice{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[77] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MetricsRequest_Choice) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MetricsRequest_Choice) ProtoMessage() {} - -func (x *MetricsRequest_Choice) ProtoReflect() protoreflect.Message { - mi := &file_sanity_proto_msgTypes[77] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MetricsRequest_Choice.ProtoReflect.Descriptor instead. -func (*MetricsRequest_Choice) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{18, 0} -} - -type Metrics_Choice struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *Metrics_Choice) Reset() { - *x = Metrics_Choice{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[78] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Metrics_Choice) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Metrics_Choice) ProtoMessage() {} - -func (x *Metrics_Choice) ProtoReflect() protoreflect.Message { - mi := &file_sanity_proto_msgTypes[78] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Metrics_Choice.ProtoReflect.Descriptor instead. -func (*Metrics_Choice) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{19, 0} -} - -type RequiredChoiceParent_Choice struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *RequiredChoiceParent_Choice) Reset() { - *x = RequiredChoiceParent_Choice{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[79] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RequiredChoiceParent_Choice) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RequiredChoiceParent_Choice) ProtoMessage() {} - -func (x *RequiredChoiceParent_Choice) ProtoReflect() protoreflect.Message { - mi := &file_sanity_proto_msgTypes[79] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RequiredChoiceParent_Choice.ProtoReflect.Descriptor instead. -func (*RequiredChoiceParent_Choice) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{22, 0} -} - -type RequiredChoiceIntermediate_Choice struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *RequiredChoiceIntermediate_Choice) Reset() { - *x = RequiredChoiceIntermediate_Choice{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[80] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RequiredChoiceIntermediate_Choice) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RequiredChoiceIntermediate_Choice) ProtoMessage() {} - -func (x *RequiredChoiceIntermediate_Choice) ProtoReflect() protoreflect.Message { - mi := &file_sanity_proto_msgTypes[80] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RequiredChoiceIntermediate_Choice.ProtoReflect.Descriptor instead. -func (*RequiredChoiceIntermediate_Choice) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{23, 0} -} - -type PatternPrefixConfigHeaderChecksum_Choice struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *PatternPrefixConfigHeaderChecksum_Choice) Reset() { - *x = PatternPrefixConfigHeaderChecksum_Choice{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[81] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PatternPrefixConfigHeaderChecksum_Choice) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PatternPrefixConfigHeaderChecksum_Choice) ProtoMessage() {} - -func (x *PatternPrefixConfigHeaderChecksum_Choice) ProtoReflect() protoreflect.Message { - mi := &file_sanity_proto_msgTypes[81] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PatternPrefixConfigHeaderChecksum_Choice.ProtoReflect.Descriptor instead. -func (*PatternPrefixConfigHeaderChecksum_Choice) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{38, 0} -} - -type PatternPrefixConfigHeaderChecksum_Generated struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *PatternPrefixConfigHeaderChecksum_Generated) Reset() { - *x = PatternPrefixConfigHeaderChecksum_Generated{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[82] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PatternPrefixConfigHeaderChecksum_Generated) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PatternPrefixConfigHeaderChecksum_Generated) ProtoMessage() {} - -func (x *PatternPrefixConfigHeaderChecksum_Generated) ProtoReflect() protoreflect.Message { - mi := &file_sanity_proto_msgTypes[82] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PatternPrefixConfigHeaderChecksum_Generated.ProtoReflect.Descriptor instead. -func (*PatternPrefixConfigHeaderChecksum_Generated) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{38, 1} -} - -type PatternPrefixConfigAutoFieldTest_Choice struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *PatternPrefixConfigAutoFieldTest_Choice) Reset() { - *x = PatternPrefixConfigAutoFieldTest_Choice{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[83] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PatternPrefixConfigAutoFieldTest_Choice) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PatternPrefixConfigAutoFieldTest_Choice) ProtoMessage() {} - -func (x *PatternPrefixConfigAutoFieldTest_Choice) ProtoReflect() protoreflect.Message { - mi := &file_sanity_proto_msgTypes[83] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PatternPrefixConfigAutoFieldTest_Choice.ProtoReflect.Descriptor instead. -func (*PatternPrefixConfigAutoFieldTest_Choice) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{40, 0} -} - -type PatternIpv4PatternIpv4_Choice struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *PatternIpv4PatternIpv4_Choice) Reset() { - *x = PatternIpv4PatternIpv4_Choice{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[84] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PatternIpv4PatternIpv4_Choice) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PatternIpv4PatternIpv4_Choice) ProtoMessage() {} - -func (x *PatternIpv4PatternIpv4_Choice) ProtoReflect() protoreflect.Message { - mi := &file_sanity_proto_msgTypes[84] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PatternIpv4PatternIpv4_Choice.ProtoReflect.Descriptor instead. -func (*PatternIpv4PatternIpv4_Choice) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{42, 0} -} - -type PatternIpv6PatternIpv6_Choice struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *PatternIpv6PatternIpv6_Choice) Reset() { - *x = PatternIpv6PatternIpv6_Choice{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[85] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PatternIpv6PatternIpv6_Choice) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PatternIpv6PatternIpv6_Choice) ProtoMessage() {} - -func (x *PatternIpv6PatternIpv6_Choice) ProtoReflect() protoreflect.Message { - mi := &file_sanity_proto_msgTypes[85] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PatternIpv6PatternIpv6_Choice.ProtoReflect.Descriptor instead. -func (*PatternIpv6PatternIpv6_Choice) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{44, 0} -} - -type PatternMacPatternMac_Choice struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *PatternMacPatternMac_Choice) Reset() { - *x = PatternMacPatternMac_Choice{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[86] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PatternMacPatternMac_Choice) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PatternMacPatternMac_Choice) ProtoMessage() {} - -func (x *PatternMacPatternMac_Choice) ProtoReflect() protoreflect.Message { - mi := &file_sanity_proto_msgTypes[86] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PatternMacPatternMac_Choice.ProtoReflect.Descriptor instead. -func (*PatternMacPatternMac_Choice) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{46, 0} -} - -type PatternIntegerPatternInteger_Choice struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *PatternIntegerPatternInteger_Choice) Reset() { - *x = PatternIntegerPatternInteger_Choice{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[87] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PatternIntegerPatternInteger_Choice) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PatternIntegerPatternInteger_Choice) ProtoMessage() {} - -func (x *PatternIntegerPatternInteger_Choice) ProtoReflect() protoreflect.Message { - mi := &file_sanity_proto_msgTypes[87] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PatternIntegerPatternInteger_Choice.ProtoReflect.Descriptor instead. -func (*PatternIntegerPatternInteger_Choice) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{48, 0} -} - -type PatternChecksumPatternChecksum_Choice struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *PatternChecksumPatternChecksum_Choice) Reset() { - *x = PatternChecksumPatternChecksum_Choice{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[88] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PatternChecksumPatternChecksum_Choice) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PatternChecksumPatternChecksum_Choice) ProtoMessage() {} - -func (x *PatternChecksumPatternChecksum_Choice) ProtoReflect() protoreflect.Message { - mi := &file_sanity_proto_msgTypes[88] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PatternChecksumPatternChecksum_Choice.ProtoReflect.Descriptor instead. -func (*PatternChecksumPatternChecksum_Choice) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{49, 0} -} - -type PatternChecksumPatternChecksum_Generated struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *PatternChecksumPatternChecksum_Generated) Reset() { - *x = PatternChecksumPatternChecksum_Generated{} - if protoimpl.UnsafeEnabled { - mi := &file_sanity_proto_msgTypes[89] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PatternChecksumPatternChecksum_Generated) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PatternChecksumPatternChecksum_Generated) ProtoMessage() {} - -func (x *PatternChecksumPatternChecksum_Generated) ProtoReflect() protoreflect.Message { - mi := &file_sanity_proto_msgTypes[89] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PatternChecksumPatternChecksum_Generated.ProtoReflect.Descriptor instead. -func (*PatternChecksumPatternChecksum_Generated) Descriptor() ([]byte, []int) { - return file_sanity_proto_rawDescGZIP(), []int{49, 1} -} - -var File_sanity_proto protoreflect.FileDescriptor - -var file_sanity_proto_rawDesc = []byte{ - 0x0a, 0x0c, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, - 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 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, 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, 0x22, 0x26, 0x0a, 0x0c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x2c, 0x0a, - 0x0e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, - 0x1a, 0x0a, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x22, 0xbc, 0x01, 0x0a, 0x05, - 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x6b, 0x69, 0x6e, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, - 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x2e, 0x45, 0x6e, 0x75, 0x6d, - 0x48, 0x00, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x16, 0x0a, 0x06, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x73, 0x1a, 0x4c, 0x0a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x22, 0x44, 0x0a, 0x04, 0x45, - 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, - 0x74, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x10, - 0x03, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xa7, 0x17, 0x0a, 0x0c, 0x50, - 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x38, 0x0a, 0x0f, 0x72, - 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x45, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, - 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x45, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, - 0x00, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0d, 0x69, 0x65, 0x65, 0x65, 0x5f, 0x38, 0x30, 0x32, - 0x5f, 0x31, 0x71, 0x62, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x0b, 0x69, - 0x65, 0x65, 0x65, 0x38, 0x30, 0x32, 0x31, 0x71, 0x62, 0x62, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, - 0x07, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x31, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, - 0x52, 0x06, 0x73, 0x70, 0x61, 0x63, 0x65, 0x31, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x12, 0x66, - 0x75, 0x6c, 0x6c, 0x5f, 0x64, 0x75, 0x70, 0x6c, 0x65, 0x78, 0x5f, 0x31, 0x30, 0x30, 0x5f, 0x6d, - 0x62, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x0f, 0x66, 0x75, 0x6c, 0x6c, 0x44, - 0x75, 0x70, 0x6c, 0x65, 0x78, 0x31, 0x30, 0x30, 0x4d, 0x62, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, - 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x22, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, - 0x6e, 0x75, 0x6d, 0x48, 0x04, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x0c, 0x0a, 0x01, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x61, - 0x12, 0x0c, 0x0a, 0x01, 0x62, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x62, 0x12, 0x0c, - 0x0a, 0x01, 0x63, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x63, 0x12, 0x3c, 0x0a, 0x08, - 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x21, - 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x45, 0x6e, 0x75, - 0x6d, 0x52, 0x07, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x01, 0x65, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x45, - 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x05, 0x52, 0x01, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, - 0x0a, 0x01, 0x66, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x61, 0x6e, 0x69, - 0x74, 0x79, 0x2e, 0x46, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x06, 0x52, 0x01, 0x66, 0x88, - 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x01, 0x67, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, - 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x47, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x01, - 0x67, 0x12, 0x11, 0x0a, 0x01, 0x68, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x48, 0x07, 0x52, 0x01, - 0x68, 0x88, 0x01, 0x01, 0x12, 0x11, 0x0a, 0x01, 0x69, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0c, 0x48, - 0x08, 0x52, 0x01, 0x69, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x01, 0x6a, 0x18, 0x10, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x4a, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x01, 0x6a, 0x12, 0x22, 0x0a, 0x01, 0x6b, 0x18, 0x11, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x4b, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x48, 0x09, 0x52, 0x01, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x01, 0x6c, 0x18, - 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x4c, - 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x0a, 0x52, 0x01, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x31, - 0x0a, 0x15, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x6f, 0x66, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x6c, - 0x69, 0x73, 0x74, 0x4f, 0x66, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x12, 0x33, 0x0a, 0x16, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x6f, 0x66, 0x5f, 0x69, 0x6e, 0x74, - 0x65, 0x67, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, - 0x05, 0x52, 0x13, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, - 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x4c, - 0x65, 0x76, 0x65, 0x6c, 0x4f, 0x6e, 0x65, 0x48, 0x0b, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, - 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x09, 0x6d, 0x61, 0x6e, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x79, - 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, - 0x4d, 0x61, 0x6e, 0x64, 0x61, 0x74, 0x65, 0x48, 0x0c, 0x52, 0x09, 0x6d, 0x61, 0x6e, 0x64, 0x61, - 0x74, 0x6f, 0x72, 0x79, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x0c, 0x69, 0x70, 0x76, 0x34, 0x5f, - 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, - 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x49, 0x70, 0x76, 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, - 0x72, 0x6e, 0x48, 0x0d, 0x52, 0x0b, 0x69, 0x70, 0x76, 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x0c, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x70, 0x61, 0x74, - 0x74, 0x65, 0x72, 0x6e, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x61, 0x6e, - 0x69, 0x74, 0x79, 0x2e, 0x49, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x48, - 0x0e, 0x52, 0x0b, 0x69, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x88, 0x01, - 0x01, 0x12, 0x38, 0x0a, 0x0b, 0x6d, 0x61, 0x63, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, - 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, - 0x4d, 0x61, 0x63, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x48, 0x0f, 0x52, 0x0a, 0x6d, 0x61, - 0x63, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x0f, 0x69, - 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x1a, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x49, 0x6e, - 0x74, 0x65, 0x67, 0x65, 0x72, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x48, 0x10, 0x52, 0x0e, - 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x88, 0x01, - 0x01, 0x12, 0x47, 0x0a, 0x10, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x61, - 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x61, - 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x50, 0x61, 0x74, - 0x74, 0x65, 0x72, 0x6e, 0x48, 0x11, 0x52, 0x0f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, - 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x04, 0x63, 0x61, - 0x73, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, - 0x79, 0x2e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x31, 0x49, 0x65, 0x65, 0x65, 0x38, 0x30, 0x32, 0x78, - 0x48, 0x12, 0x52, 0x04, 0x63, 0x61, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x08, 0x6d, - 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, - 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x4d, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x13, - 0x52, 0x07, 0x6d, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, - 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x36, 0x34, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x03, 0x48, - 0x14, 0x52, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x36, 0x34, 0x88, 0x01, 0x01, 0x12, - 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x36, 0x34, 0x5f, 0x6c, 0x69, 0x73, - 0x74, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, - 0x36, 0x34, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x57, 0x0a, 0x0f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x29, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, - 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x48, 0x15, 0x52, 0x0e, 0x68, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, - 0x1c, 0x0a, 0x07, 0x73, 0x74, 0x72, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x21, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x16, 0x52, 0x06, 0x73, 0x74, 0x72, 0x4c, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, - 0x09, 0x68, 0x65, 0x78, 0x5f, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x18, 0x22, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x08, 0x68, 0x65, 0x78, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x12, 0x55, 0x0a, 0x0f, 0x61, 0x75, - 0x74, 0x6f, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x18, 0x23, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, - 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x41, 0x75, 0x74, 0x6f, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x65, 0x73, 0x74, 0x48, 0x17, 0x52, - 0x0d, 0x61, 0x75, 0x74, 0x6f, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x65, 0x73, 0x74, 0x88, 0x01, - 0x01, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x24, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x18, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x06, 0x77, 0x5f, - 0x6c, 0x69, 0x73, 0x74, 0x18, 0x25, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x61, 0x6e, - 0x69, 0x74, 0x79, 0x2e, 0x57, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x05, 0x77, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x26, 0x0a, 0x06, 0x78, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x26, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x5a, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x05, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x08, 0x7a, 0x5f, - 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x27, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, - 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x5a, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x19, 0x52, - 0x07, 0x7a, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x08, 0x79, - 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, - 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x59, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x1a, - 0x52, 0x07, 0x79, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x0d, - 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x29, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x43, 0x68, 0x6f, - 0x69, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x0c, 0x63, 0x68, 0x6f, 0x69, 0x63, - 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x57, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, - 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x50, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x48, 0x1b, 0x52, 0x14, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x64, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, - 0x12, 0x1f, 0x0a, 0x02, 0x67, 0x31, 0x18, 0x2b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, - 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x47, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x02, 0x67, - 0x31, 0x12, 0x1f, 0x0a, 0x02, 0x67, 0x32, 0x18, 0x2c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, - 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x47, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x02, - 0x67, 0x32, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x05, 0x48, 0x1c, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x33, 0x32, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x6e, 0x74, 0x33, - 0x32, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x2e, 0x20, 0x03, - 0x28, 0x05, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x12, 0x26, 0x0a, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x1d, 0x52, 0x0b, 0x75, 0x69, 0x6e, 0x74, - 0x33, 0x32, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x11, 0x75, 0x69, - 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, - 0x30, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x4c, 0x69, 0x73, - 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x26, 0x0a, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, - 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x31, 0x20, 0x01, 0x28, 0x04, 0x48, 0x1e, 0x52, 0x0b, - 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x2a, - 0x0a, 0x11, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x18, 0x32, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0f, 0x75, 0x69, 0x6e, 0x74, 0x36, - 0x34, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x2d, 0x0a, 0x10, 0x61, 0x75, - 0x74, 0x6f, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x33, - 0x20, 0x01, 0x28, 0x05, 0x48, 0x1f, 0x52, 0x0e, 0x61, 0x75, 0x74, 0x6f, 0x49, 0x6e, 0x74, 0x33, - 0x32, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x15, 0x61, 0x75, 0x74, - 0x6f, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x18, 0x34, 0x20, 0x03, 0x28, 0x05, 0x52, 0x12, 0x61, 0x75, 0x74, 0x6f, 0x49, 0x6e, - 0x74, 0x33, 0x32, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x63, 0x0a, 0x08, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x57, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, - 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, - 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x32, 0x30, 0x30, 0x10, - 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x34, 0x30, 0x30, 0x10, - 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x34, 0x30, 0x34, 0x10, - 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x35, 0x30, 0x30, 0x10, - 0x04, 0x1a, 0x37, 0x0a, 0x07, 0x44, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x2c, 0x0a, 0x04, - 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x05, 0x0a, 0x01, 0x61, 0x10, 0x01, 0x12, 0x05, 0x0a, 0x01, - 0x62, 0x10, 0x02, 0x12, 0x05, 0x0a, 0x01, 0x63, 0x10, 0x03, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x10, - 0x0a, 0x0e, 0x5f, 0x69, 0x65, 0x65, 0x65, 0x5f, 0x38, 0x30, 0x32, 0x5f, 0x31, 0x71, 0x62, 0x62, - 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x31, 0x42, 0x15, 0x0a, 0x13, - 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x64, 0x75, 0x70, 0x6c, 0x65, 0x78, 0x5f, 0x31, 0x30, 0x30, - 0x5f, 0x6d, 0x62, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x42, 0x04, 0x0a, 0x02, 0x5f, 0x65, 0x42, 0x04, 0x0a, 0x02, 0x5f, 0x66, 0x42, 0x04, 0x0a, 0x02, - 0x5f, 0x68, 0x42, 0x04, 0x0a, 0x02, 0x5f, 0x69, 0x42, 0x04, 0x0a, 0x02, 0x5f, 0x6b, 0x42, 0x04, - 0x0a, 0x02, 0x5f, 0x6c, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x0c, - 0x0a, 0x0a, 0x5f, 0x6d, 0x61, 0x6e, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x0f, 0x0a, 0x0d, - 0x5f, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x42, 0x0f, 0x0a, - 0x0d, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x42, 0x0e, - 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x63, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x42, 0x12, - 0x0a, 0x10, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, - 0x72, 0x6e, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x5f, - 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x63, 0x61, 0x73, 0x65, - 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x0c, 0x0a, - 0x0a, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x36, 0x34, 0x42, 0x12, 0x0a, 0x10, 0x5f, - 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x42, - 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x74, 0x72, 0x5f, 0x6c, 0x65, 0x6e, 0x42, 0x12, 0x0a, 0x10, 0x5f, - 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x42, - 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x7a, 0x5f, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x79, 0x5f, 0x6f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, - 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x0e, 0x0a, - 0x0c, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x42, 0x0f, 0x0a, - 0x0d, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x42, 0x0f, - 0x0a, 0x0d, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x42, - 0x13, 0x0a, 0x11, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x22, 0x20, 0x0a, 0x07, 0x57, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x15, 0x0a, 0x06, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x1d, 0x0a, 0x07, 0x5a, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x30, 0x0a, 0x07, 0x59, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x1a, 0x0a, 0x06, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x05, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, - 0x5f, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x49, 0x0a, 0x0e, 0x4c, 0x61, 0x79, 0x65, 0x72, - 0x31, 0x49, 0x65, 0x65, 0x65, 0x38, 0x30, 0x32, 0x78, 0x12, 0x26, 0x0a, 0x0c, 0x66, 0x6c, 0x6f, - 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, - 0x00, 0x52, 0x0b, 0x66, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x88, 0x01, - 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x6f, 0x6c, 0x22, 0xa6, 0x03, 0x0a, 0x07, 0x47, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x14, - 0x0a, 0x03, 0x67, 0x5f, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x67, - 0x41, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x03, 0x67, 0x5f, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x48, 0x01, 0x52, 0x02, 0x67, 0x42, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x03, 0x67, 0x5f, - 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x48, 0x02, 0x52, 0x02, 0x67, 0x43, 0x88, 0x01, 0x01, - 0x12, 0x38, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x1b, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x47, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x03, 0x52, - 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x03, 0x67, 0x5f, - 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x02, 0x67, 0x44, 0x88, 0x01, 0x01, - 0x12, 0x14, 0x0a, 0x03, 0x67, 0x5f, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x48, 0x05, 0x52, - 0x02, 0x67, 0x45, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x03, 0x67, 0x5f, 0x66, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x47, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x47, 0x46, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x06, 0x52, 0x02, - 0x67, 0x46, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x1a, 0x33, - 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x29, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, - 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, - 0x00, 0x12, 0x07, 0x0a, 0x03, 0x67, 0x5f, 0x64, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x67, 0x5f, - 0x65, 0x10, 0x02, 0x1a, 0x32, 0x0a, 0x02, 0x47, 0x46, 0x22, 0x2c, 0x0a, 0x04, 0x45, 0x6e, 0x75, - 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x10, 0x00, 0x12, 0x05, 0x0a, 0x01, 0x61, 0x10, 0x01, 0x12, 0x05, 0x0a, 0x01, 0x62, 0x10, 0x02, - 0x12, 0x05, 0x0a, 0x01, 0x63, 0x10, 0x03, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x67, 0x5f, 0x61, 0x42, - 0x06, 0x0a, 0x04, 0x5f, 0x67, 0x5f, 0x62, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x67, 0x5f, 0x63, 0x42, - 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x67, - 0x5f, 0x64, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x67, 0x5f, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x67, - 0x5f, 0x66, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa7, 0x01, 0x0a, 0x07, - 0x45, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x0f, 0x0a, 0x03, 0x65, 0x5f, 0x61, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x02, 0x65, 0x41, 0x12, 0x0f, 0x0a, 0x03, 0x65, 0x5f, 0x62, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x02, 0x65, 0x42, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x6d, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x88, - 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x6d, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x88, - 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, - 0x6d, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x5f, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x32, 0x22, 0xc8, 0x01, 0x0a, 0x07, 0x46, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x38, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x1b, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x46, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, - 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x03, 0x66, - 0x5f, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x02, 0x66, 0x41, 0x88, 0x01, - 0x01, 0x12, 0x14, 0x0a, 0x03, 0x66, 0x5f, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x02, - 0x52, 0x02, 0x66, 0x42, 0x88, 0x01, 0x01, 0x1a, 0x3c, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, - 0x65, 0x22, 0x32, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x66, 0x5f, - 0x61, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x66, 0x5f, 0x62, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, - 0x66, 0x5f, 0x63, 0x10, 0x03, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, - 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x66, 0x5f, 0x61, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x66, 0x5f, 0x62, - 0x22, 0xe1, 0x01, 0x0a, 0x07, 0x4a, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x38, 0x0a, 0x06, - 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x73, - 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x4a, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x43, 0x68, - 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, - 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x03, 0x6a, 0x5f, 0x61, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x45, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x48, 0x01, 0x52, 0x02, 0x6a, 0x41, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, - 0x03, 0x6a, 0x5f, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x61, 0x6e, - 0x69, 0x74, 0x79, 0x2e, 0x46, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x02, 0x52, 0x02, 0x6a, - 0x42, 0x88, 0x01, 0x01, 0x1a, 0x33, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x29, - 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x6a, 0x5f, 0x61, 0x10, 0x01, - 0x12, 0x07, 0x0a, 0x03, 0x6a, 0x5f, 0x62, 0x10, 0x02, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, - 0x6f, 0x69, 0x63, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6a, 0x5f, 0x61, 0x42, 0x06, 0x0a, 0x04, - 0x5f, 0x6a, 0x5f, 0x62, 0x22, 0x87, 0x02, 0x0a, 0x0c, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x43, - 0x68, 0x6f, 0x69, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x43, 0x68, 0x6f, 0x69, - 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x05, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x45, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x48, 0x01, 0x52, 0x04, 0x65, 0x4f, 0x62, 0x6a, 0x88, 0x01, 0x01, 0x12, - 0x29, 0x0a, 0x05, 0x66, 0x5f, 0x6f, 0x62, 0x6a, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, - 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x46, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, - 0x02, 0x52, 0x04, 0x66, 0x4f, 0x62, 0x6a, 0x88, 0x01, 0x01, 0x1a, 0x43, 0x0a, 0x06, 0x43, 0x68, - 0x6f, 0x69, 0x63, 0x65, 0x22, 0x39, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, - 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x09, 0x0a, - 0x05, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x66, 0x5f, 0x6f, 0x62, - 0x6a, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x6e, 0x6f, 0x5f, 0x6f, 0x62, 0x6a, 0x10, 0x03, 0x42, - 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, - 0x5f, 0x6f, 0x62, 0x6a, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x66, 0x5f, 0x6f, 0x62, 0x6a, 0x22, 0x85, - 0x01, 0x0a, 0x07, 0x4b, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2f, 0x0a, 0x08, 0x65, 0x5f, - 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, - 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x45, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, - 0x07, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x08, 0x66, - 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, - 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x46, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x01, - 0x52, 0x07, 0x66, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, - 0x5f, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x66, 0x5f, - 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0xbc, 0x02, 0x0a, 0x07, 0x4c, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x26, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x69, 0x6e, - 0x74, 0x65, 0x67, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x07, 0x69, - 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x48, 0x02, 0x52, 0x05, 0x66, 0x6c, 0x6f, 0x61, - 0x74, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x01, 0x48, 0x03, 0x52, 0x06, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x15, 0x0a, 0x03, 0x6d, 0x61, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, - 0x52, 0x03, 0x6d, 0x61, 0x63, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x69, 0x70, 0x76, 0x34, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x69, 0x70, 0x76, 0x34, 0x88, 0x01, - 0x01, 0x12, 0x17, 0x0a, 0x04, 0x69, 0x70, 0x76, 0x36, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x06, 0x52, 0x04, 0x69, 0x70, 0x76, 0x36, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x68, 0x65, - 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x03, 0x68, 0x65, 0x78, 0x88, 0x01, - 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x42, 0x08, - 0x0a, 0x06, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x64, 0x6f, 0x75, - 0x62, 0x6c, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6d, 0x61, 0x63, 0x42, 0x07, 0x0a, 0x05, 0x5f, - 0x69, 0x70, 0x76, 0x34, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x42, 0x06, 0x0a, - 0x04, 0x5f, 0x68, 0x65, 0x78, 0x22, 0xc0, 0x01, 0x0a, 0x07, 0x4d, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x12, 0x14, - 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x66, - 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x10, 0x0a, 0x03, - 0x6d, 0x61, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x61, 0x63, 0x12, 0x12, - 0x0a, 0x04, 0x69, 0x70, 0x76, 0x34, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x70, - 0x76, 0x34, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x70, 0x76, 0x36, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x69, 0x70, 0x76, 0x36, 0x12, 0x10, 0x0a, 0x03, 0x68, 0x65, 0x78, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x68, 0x65, 0x78, 0x22, 0x30, 0x0a, 0x07, 0x4d, 0x61, 0x6e, 0x64, - 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x71, - 0x75, 0x69, 0x72, 0x65, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x2d, 0x0a, 0x0c, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x01, 0x67, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x47, - 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x01, 0x67, 0x22, 0xd7, 0x01, 0x0a, 0x0e, 0x4d, 0x65, - 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x06, - 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x73, - 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, - 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, - 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x70, - 0x6f, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x04, 0x66, 0x6c, 0x6f, 0x77, 0x88, 0x01, 0x01, 0x1a, - 0x35, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x2b, 0x0a, 0x04, 0x45, 0x6e, 0x75, - 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, - 0x66, 0x6c, 0x6f, 0x77, 0x10, 0x02, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, - 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x66, - 0x6c, 0x6f, 0x77, 0x22, 0xdb, 0x01, 0x0a, 0x07, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, - 0x38, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x1b, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, - 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, - 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x05, 0x70, 0x6f, 0x72, - 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, - 0x79, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x05, 0x70, 0x6f, - 0x72, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x46, 0x6c, 0x6f, 0x77, - 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x05, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x1a, 0x37, 0x0a, - 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x2d, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, - 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, - 0x12, 0x09, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x66, - 0x6c, 0x6f, 0x77, 0x73, 0x10, 0x02, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, - 0x65, 0x22, 0x5a, 0x0a, 0x0a, 0x50, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x74, 0x78, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, - 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x01, 0x52, 0x08, 0x72, 0x78, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x5a, 0x0a, - 0x0a, 0x46, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x1b, 0x0a, 0x09, 0x74, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x01, 0x52, 0x08, 0x74, 0x78, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, - 0x72, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, - 0x08, 0x72, 0x78, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x86, 0x02, 0x0a, 0x14, 0x52, 0x65, - 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x50, 0x61, 0x72, 0x65, - 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x52, 0x65, 0x71, 0x75, - 0x69, 0x72, 0x65, 0x64, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, - 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x06, 0x63, 0x68, - 0x6f, 0x69, 0x63, 0x65, 0x12, 0x52, 0x0a, 0x10, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, - 0x69, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, - 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, - 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, - 0x74, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, - 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x88, 0x01, 0x01, 0x1a, 0x43, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, - 0x63, 0x65, 0x22, 0x39, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x69, - 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x10, - 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x6e, 0x6f, 0x5f, 0x6f, 0x62, 0x6a, 0x10, 0x02, 0x42, 0x13, 0x0a, - 0x11, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x6f, - 0x62, 0x6a, 0x22, 0xfd, 0x01, 0x0a, 0x1a, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x43, - 0x68, 0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, - 0x65, 0x12, 0x46, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x2e, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x64, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, - 0x64, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, - 0x6d, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x03, 0x66, 0x5f, 0x61, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x66, 0x41, 0x88, 0x01, 0x01, 0x12, - 0x3a, 0x0a, 0x04, 0x6c, 0x65, 0x61, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, - 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x43, - 0x68, 0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x4c, 0x65, 0x61, 0x66, - 0x48, 0x01, 0x52, 0x04, 0x6c, 0x65, 0x61, 0x66, 0x88, 0x01, 0x01, 0x1a, 0x34, 0x0a, 0x06, 0x43, - 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x2a, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, - 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x07, - 0x0a, 0x03, 0x66, 0x5f, 0x61, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x6c, 0x65, 0x61, 0x66, 0x10, - 0x02, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x66, 0x5f, 0x61, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6c, 0x65, - 0x61, 0x66, 0x22, 0x3d, 0x0a, 0x19, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x43, 0x68, - 0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x4c, 0x65, 0x61, 0x66, 0x12, - 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x22, 0x77, 0x0a, 0x08, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4f, 0x6e, 0x65, 0x12, 0x2a, 0x0a, - 0x05, 0x6c, 0x31, 0x5f, 0x70, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, - 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x54, 0x77, 0x6f, 0x48, 0x00, - 0x52, 0x04, 0x6c, 0x31, 0x50, 0x31, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x05, 0x6c, 0x31, 0x5f, - 0x70, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, - 0x79, 0x2e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x46, 0x6f, 0x75, 0x72, 0x48, 0x01, 0x52, 0x04, 0x6c, - 0x31, 0x50, 0x32, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x31, 0x5f, 0x70, 0x31, - 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x31, 0x5f, 0x70, 0x32, 0x22, 0x42, 0x0a, 0x08, 0x4c, 0x65, - 0x76, 0x65, 0x6c, 0x54, 0x77, 0x6f, 0x12, 0x2c, 0x0a, 0x05, 0x6c, 0x32, 0x5f, 0x70, 0x31, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x4c, - 0x65, 0x76, 0x65, 0x6c, 0x54, 0x68, 0x72, 0x65, 0x65, 0x48, 0x00, 0x52, 0x04, 0x6c, 0x32, 0x50, - 0x31, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x32, 0x5f, 0x70, 0x31, 0x22, 0x30, - 0x0a, 0x0a, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x54, 0x68, 0x72, 0x65, 0x65, 0x12, 0x18, 0x0a, 0x05, - 0x6c, 0x33, 0x5f, 0x70, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6c, - 0x33, 0x50, 0x31, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x33, 0x5f, 0x70, 0x31, - 0x22, 0x41, 0x0a, 0x09, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x46, 0x6f, 0x75, 0x72, 0x12, 0x2a, 0x0a, - 0x05, 0x6c, 0x34, 0x5f, 0x70, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, - 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4f, 0x6e, 0x65, 0x48, 0x00, - 0x52, 0x04, 0x6c, 0x34, 0x50, 0x31, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x34, - 0x5f, 0x70, 0x31, 0x22, 0x4f, 0x0a, 0x0b, 0x49, 0x70, 0x76, 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, - 0x72, 0x6e, 0x12, 0x37, 0x0a, 0x04, 0x69, 0x70, 0x76, 0x34, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1e, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, - 0x6e, 0x49, 0x70, 0x76, 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x34, - 0x48, 0x00, 0x52, 0x04, 0x69, 0x70, 0x76, 0x34, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, - 0x69, 0x70, 0x76, 0x34, 0x22, 0x4f, 0x0a, 0x0b, 0x49, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, - 0x65, 0x72, 0x6e, 0x12, 0x37, 0x0a, 0x04, 0x69, 0x70, 0x76, 0x36, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, - 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, - 0x36, 0x48, 0x00, 0x52, 0x04, 0x69, 0x70, 0x76, 0x36, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x69, 0x70, 0x76, 0x36, 0x22, 0x49, 0x0a, 0x0a, 0x4d, 0x61, 0x63, 0x50, 0x61, 0x74, 0x74, - 0x65, 0x72, 0x6e, 0x12, 0x33, 0x0a, 0x03, 0x6d, 0x61, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, - 0x6e, 0x4d, 0x61, 0x63, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x48, 0x00, - 0x52, 0x03, 0x6d, 0x61, 0x63, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6d, 0x61, 0x63, - 0x22, 0x61, 0x0a, 0x0e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x50, 0x61, 0x74, 0x74, 0x65, - 0x72, 0x6e, 0x12, 0x43, 0x0a, 0x07, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, - 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x50, 0x61, 0x74, 0x74, 0x65, - 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x48, 0x00, 0x52, 0x07, 0x69, 0x6e, 0x74, - 0x65, 0x67, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x69, 0x6e, 0x74, 0x65, - 0x67, 0x65, 0x72, 0x22, 0x67, 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x50, - 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x47, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, - 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, - 0x79, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, - 0x6d, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, - 0x48, 0x00, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x42, - 0x0b, 0x0a, 0x09, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22, 0x42, 0x0a, 0x15, - 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x22, 0x48, 0x0a, 0x10, 0x41, 0x70, 0x69, 0x54, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, - 0x42, 0x6f, 0x64, 0x79, 0x12, 0x24, 0x0a, 0x0b, 0x73, 0x6f, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x6f, 0x6d, - 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, - 0x6f, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0xc4, 0x01, 0x0a, 0x0e, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x62, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1c, 0x0a, - 0x07, 0x73, 0x6f, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x06, 0x73, 0x6f, 0x6d, 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x73, - 0x6f, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x01, 0x52, 0x0a, 0x73, 0x6f, 0x6d, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x88, 0x01, - 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x02, 0x52, 0x06, 0x70, 0x61, 0x74, 0x68, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x1c, 0x0a, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x03, 0x52, 0x06, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x32, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, - 0x08, 0x5f, 0x73, 0x6f, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x6f, - 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x61, - 0x74, 0x68, 0x5f, 0x69, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, - 0x32, 0x22, 0x42, 0x0a, 0x12, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x62, 0x63, 0x49, - 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x62, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, - 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x8c, 0x03, 0x0a, 0x21, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, - 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x52, 0x0a, 0x06, 0x63, - 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x73, 0x61, - 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x43, 0x68, - 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, - 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x5b, 0x0a, 0x09, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x74, - 0x65, 0x72, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x2e, 0x47, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x01, 0x52, 0x09, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x06, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x88, 0x01, 0x01, 0x1a, 0x3c, 0x0a, 0x06, 0x43, 0x68, 0x6f, - 0x69, 0x63, 0x65, 0x22, 0x32, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, - 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x63, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x10, 0x02, 0x1a, 0x37, 0x0a, 0x09, 0x47, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x64, 0x22, 0x2a, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, - 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x08, 0x0a, - 0x04, 0x67, 0x6f, 0x6f, 0x64, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x62, 0x61, 0x64, 0x10, 0x02, - 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x22, 0x95, 0x01, 0x0a, 0x27, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, - 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x41, 0x75, 0x74, 0x6f, - 0x46, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x12, 0x19, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, - 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x73, - 0x74, 0x65, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x04, 0x73, 0x74, 0x65, - 0x70, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, - 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x73, 0x74, - 0x65, 0x70, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x85, 0x04, 0x0a, - 0x20, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x41, 0x75, 0x74, 0x6f, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x65, 0x73, - 0x74, 0x12, 0x51, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x34, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, - 0x72, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x41, 0x75, - 0x74, 0x6f, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x68, 0x6f, 0x69, - 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, - 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x61, 0x75, 0x74, 0x6f, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x04, 0x61, 0x75, 0x74, 0x6f, 0x88, 0x01, 0x01, - 0x12, 0x52, 0x0a, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, - 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x41, 0x75, 0x74, 0x6f, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x65, 0x72, 0x48, 0x03, 0x52, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x88, 0x01, 0x01, 0x12, 0x52, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, - 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x41, 0x75, 0x74, 0x6f, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x65, 0x73, - 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x04, 0x52, 0x09, 0x64, 0x65, 0x63, 0x72, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x1a, 0x60, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, - 0x63, 0x65, 0x22, 0x56, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x61, 0x75, 0x74, 0x6f, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, - 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x64, - 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x05, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, - 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, - 0x07, 0x0a, 0x05, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x69, 0x6e, 0x63, - 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x64, 0x65, 0x63, 0x72, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x8b, 0x01, 0x0a, 0x1d, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, - 0x49, 0x70, 0x76, 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x34, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x88, 0x01, - 0x01, 0x12, 0x17, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x01, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, - 0x07, 0x0a, 0x05, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x22, 0xb1, 0x03, 0x0a, 0x16, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, - 0x76, 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x34, 0x12, 0x47, 0x0a, - 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, - 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, - 0x76, 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x34, 0x2e, 0x43, 0x68, - 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, - 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x48, 0x0a, 0x09, 0x69, 0x6e, 0x63, - 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, - 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, - 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x34, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x48, 0x02, 0x52, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x88, 0x01, 0x01, 0x12, 0x48, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, - 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, - 0x72, 0x6e, 0x49, 0x70, 0x76, 0x34, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x03, 0x52, - 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x1a, 0x56, 0x0a, - 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x4c, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, - 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, - 0x12, 0x09, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x10, 0x05, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, - 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x69, - 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x64, 0x65, 0x63, - 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x8b, 0x01, 0x0a, 0x1d, 0x50, 0x61, 0x74, 0x74, 0x65, - 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, - 0x36, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x01, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x05, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xb1, 0x03, 0x0a, 0x16, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, - 0x49, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, 0x12, - 0x47, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x2a, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, - 0x49, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, 0x2e, - 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, - 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x88, 0x01, 0x01, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x48, 0x0a, 0x09, 0x69, - 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, - 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, - 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x02, 0x52, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x48, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, - 0x79, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, - 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x48, - 0x03, 0x52, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x1a, - 0x56, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x4c, 0x0a, 0x04, 0x45, 0x6e, 0x75, - 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x10, 0x02, 0x12, 0x0a, 0x0a, - 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x69, 0x6e, 0x63, - 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x05, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, - 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0c, 0x0a, 0x0a, - 0x5f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x64, - 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x89, 0x01, 0x0a, 0x1b, 0x50, 0x61, 0x74, - 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, - 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x01, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x05, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xd5, 0x03, 0x0a, 0x14, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, - 0x4d, 0x61, 0x63, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x12, 0x45, 0x0a, - 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, - 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, - 0x63, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x2e, 0x43, 0x68, 0x6f, 0x69, - 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x61, 0x75, 0x74, 0x6f, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x04, 0x61, 0x75, 0x74, 0x6f, 0x88, 0x01, 0x01, - 0x12, 0x46, 0x0a, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, - 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, - 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x03, 0x52, 0x09, 0x69, 0x6e, 0x63, 0x72, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x61, - 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x50, - 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x48, 0x04, 0x52, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, - 0x1a, 0x60, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x56, 0x0a, 0x04, 0x45, 0x6e, - 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x10, 0x02, 0x12, 0x0a, - 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x61, 0x75, - 0x74, 0x6f, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x10, 0x05, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x08, 0x0a, - 0x06, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x61, 0x75, 0x74, 0x6f, - 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x0c, - 0x0a, 0x0a, 0x5f, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x91, 0x01, 0x0a, - 0x23, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x50, - 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, - 0x17, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, - 0x04, 0x73, 0x74, 0x65, 0x70, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x07, 0x0a, - 0x05, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x22, 0xc9, 0x03, 0x0a, 0x1c, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, - 0x67, 0x65, 0x72, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, - 0x72, 0x12, 0x4d, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x30, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, - 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, - 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, - 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, - 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, 0x16, 0x0a, 0x06, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x06, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x12, 0x4e, 0x0a, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, - 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x50, 0x61, - 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x48, 0x02, 0x52, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x88, 0x01, 0x01, 0x12, 0x4e, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, - 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x50, 0x61, - 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x48, 0x03, 0x52, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x88, 0x01, 0x01, 0x1a, 0x56, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x4c, 0x0a, - 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x10, - 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x10, 0x03, 0x12, 0x0d, 0x0a, - 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, - 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x05, 0x42, 0x09, 0x0a, 0x07, 0x5f, - 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x0c, - 0x0a, 0x0a, 0x5f, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x83, 0x03, 0x0a, - 0x1e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, - 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, - 0x4f, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x32, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, - 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x58, 0x0a, 0x09, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, 0x61, 0x74, - 0x74, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x50, 0x61, 0x74, 0x74, - 0x65, 0x72, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x2e, 0x47, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x01, 0x52, 0x09, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x63, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x06, 0x63, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x88, 0x01, 0x01, 0x1a, 0x3c, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, - 0x65, 0x22, 0x32, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x63, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x10, 0x02, 0x1a, 0x37, 0x0a, 0x09, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x64, 0x22, 0x2a, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x67, - 0x6f, 0x6f, 0x64, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x62, 0x61, 0x64, 0x10, 0x02, 0x42, 0x09, - 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x22, 0xb9, 0x01, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2d, - 0x0a, 0x10, 0x61, 0x70, 0x69, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x61, 0x70, 0x69, 0x53, - 0x70, 0x65, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, - 0x0b, 0x73, 0x64, 0x6b, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x01, 0x52, 0x0a, 0x73, 0x64, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x61, 0x70, - 0x69, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x0e, - 0x0a, 0x0c, 0x5f, 0x73, 0x64, 0x6b, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x0e, - 0x0a, 0x0c, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x4b, - 0x0a, 0x08, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3f, 0x0a, 0x0f, 0x77, 0x61, - 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x57, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0e, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x4d, 0x0a, 0x10, 0x53, - 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x39, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, - 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x70, 0x72, - 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x57, 0x0a, 0x1a, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x14, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x22, 0x3a, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, - 0x58, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, - 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, - 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x70, 0x72, 0x65, - 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x4e, 0x0a, 0x11, 0x47, 0x65, 0x74, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, - 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x50, - 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x70, 0x72, 0x65, - 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x54, 0x0a, 0x11, 0x47, 0x65, 0x74, - 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, - 0x0a, 0x0f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, - 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, - 0x0e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, - 0x3f, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, - 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, - 0x22, 0x56, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0f, 0x77, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x16, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0e, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x2f, 0x0a, 0x15, 0x43, 0x6c, 0x65, 0x61, - 0x72, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x62, 0x0a, 0x17, 0x50, 0x6f, 0x73, - 0x74, 0x52, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x13, 0x61, 0x70, 0x69, 0x5f, 0x74, 0x65, 0x73, 0x74, - 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x41, 0x70, 0x69, 0x54, 0x65, - 0x73, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x10, 0x61, 0x70, 0x69, - 0x54, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x42, 0x6f, 0x64, 0x79, 0x22, 0x70, 0x0a, - 0x17, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x73, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x61, 0x6e, 0x69, - 0x74, 0x79, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, - 0x33, 0x0a, 0x19, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x22, 0x71, 0x0a, 0x18, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x55, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x64, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x6c, - 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, - 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x62, 0x63, 0x5f, 0x69, 0x74, - 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x62, - 0x63, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x41, 0x62, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x59, 0x0a, - 0x15, 0x47, 0x65, 0x74, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x10, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x61, 0x62, 0x63, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x16, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x41, 0x62, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x41, 0x62, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x5f, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x53, - 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x32, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x10, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x61, 0x62, 0x63, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x41, 0x62, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x41, 0x62, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x3f, 0x0a, 0x12, 0x47, 0x65, 0x74, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x29, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0f, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0xd1, 0x07, 0x0a, 0x07, 0x4f, - 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x12, 0x40, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x18, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x53, 0x65, 0x74, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, - 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x22, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, - 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x4d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x19, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, - 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1a, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, - 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, - 0x0b, 0x47, 0x65, 0x74, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1b, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x47, 0x65, - 0x74, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x46, 0x0a, 0x0d, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1d, 0x2e, 0x73, 0x61, 0x6e, - 0x69, 0x74, 0x79, 0x2e, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0f, 0x47, 0x65, 0x74, - 0x52, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1f, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x47, 0x65, - 0x74, 0x52, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x11, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x65, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x1a, 0x21, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x44, 0x75, 0x6d, 0x6d, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x10, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x6f, 0x6f, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x2e, 0x73, 0x61, 0x6e, 0x69, - 0x74, 0x79, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x73, 0x61, 0x6e, - 0x69, 0x74, 0x79, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0b, - 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x1a, 0x1b, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x47, 0x65, 0x74, - 0x41, 0x6c, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x46, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x74, 0x65, - 0x6d, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1d, 0x2e, 0x73, 0x61, 0x6e, 0x69, - 0x74, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x53, - 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x32, 0x12, - 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x23, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, - 0x2e, 0x47, 0x65, 0x74, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x65, - 0x76, 0x65, 0x6c, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x0a, - 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x1a, 0x1a, 0x2e, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x11, - 0x5a, 0x0f, 0x2e, 0x2f, 0x73, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x3b, 0x73, 0x61, 0x6e, 0x69, 0x74, - 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_sanity_proto_rawDescOnce sync.Once - file_sanity_proto_rawDescData = file_sanity_proto_rawDesc -) - -func file_sanity_proto_rawDescGZIP() []byte { - file_sanity_proto_rawDescOnce.Do(func() { - file_sanity_proto_rawDescData = protoimpl.X.CompressGZIP(file_sanity_proto_rawDescData) - }) - return file_sanity_proto_rawDescData -} - -var file_sanity_proto_enumTypes = make([]protoimpl.EnumInfo, 21) -var file_sanity_proto_msgTypes = make([]protoimpl.MessageInfo, 90) -var file_sanity_proto_goTypes = []interface{}{ - (Error_Kind_Enum)(0), // 0: sanity.Error.Kind.Enum - (PrefixConfig_Response_Enum)(0), // 1: sanity.PrefixConfig.Response.Enum - (PrefixConfig_DValues_Enum)(0), // 2: sanity.PrefixConfig.DValues.Enum - (GObject_Choice_Enum)(0), // 3: sanity.GObject.Choice.Enum - (GObject_GF_Enum)(0), // 4: sanity.GObject.GF.Enum - (FObject_Choice_Enum)(0), // 5: sanity.FObject.Choice.Enum - (JObject_Choice_Enum)(0), // 6: sanity.JObject.Choice.Enum - (ChoiceObject_Choice_Enum)(0), // 7: sanity.ChoiceObject.Choice.Enum - (MetricsRequest_Choice_Enum)(0), // 8: sanity.MetricsRequest.Choice.Enum - (Metrics_Choice_Enum)(0), // 9: sanity.Metrics.Choice.Enum - (RequiredChoiceParent_Choice_Enum)(0), // 10: sanity.RequiredChoiceParent.Choice.Enum - (RequiredChoiceIntermediate_Choice_Enum)(0), // 11: sanity.RequiredChoiceIntermediate.Choice.Enum - (PatternPrefixConfigHeaderChecksum_Choice_Enum)(0), // 12: sanity.PatternPrefixConfigHeaderChecksum.Choice.Enum - (PatternPrefixConfigHeaderChecksum_Generated_Enum)(0), // 13: sanity.PatternPrefixConfigHeaderChecksum.Generated.Enum - (PatternPrefixConfigAutoFieldTest_Choice_Enum)(0), // 14: sanity.PatternPrefixConfigAutoFieldTest.Choice.Enum - (PatternIpv4PatternIpv4_Choice_Enum)(0), // 15: sanity.PatternIpv4PatternIpv4.Choice.Enum - (PatternIpv6PatternIpv6_Choice_Enum)(0), // 16: sanity.PatternIpv6PatternIpv6.Choice.Enum - (PatternMacPatternMac_Choice_Enum)(0), // 17: sanity.PatternMacPatternMac.Choice.Enum - (PatternIntegerPatternInteger_Choice_Enum)(0), // 18: sanity.PatternIntegerPatternInteger.Choice.Enum - (PatternChecksumPatternChecksum_Choice_Enum)(0), // 19: sanity.PatternChecksumPatternChecksum.Choice.Enum - (PatternChecksumPatternChecksum_Generated_Enum)(0), // 20: sanity.PatternChecksumPatternChecksum.Generated.Enum - (*ErrorDetails)(nil), // 21: sanity.ErrorDetails - (*WarningDetails)(nil), // 22: sanity.WarningDetails - (*Error)(nil), // 23: sanity.Error - (*PrefixConfig)(nil), // 24: sanity.PrefixConfig - (*WObject)(nil), // 25: sanity.WObject - (*ZObject)(nil), // 26: sanity.ZObject - (*YObject)(nil), // 27: sanity.YObject - (*Layer1Ieee802X)(nil), // 28: sanity.Layer1Ieee802x - (*GObject)(nil), // 29: sanity.GObject - (*EObject)(nil), // 30: sanity.EObject - (*FObject)(nil), // 31: sanity.FObject - (*JObject)(nil), // 32: sanity.JObject - (*ChoiceObject)(nil), // 33: sanity.ChoiceObject - (*KObject)(nil), // 34: sanity.KObject - (*LObject)(nil), // 35: sanity.LObject - (*MObject)(nil), // 36: sanity.MObject - (*Mandate)(nil), // 37: sanity.Mandate - (*UpdateConfig)(nil), // 38: sanity.UpdateConfig - (*MetricsRequest)(nil), // 39: sanity.MetricsRequest - (*Metrics)(nil), // 40: sanity.Metrics - (*PortMetric)(nil), // 41: sanity.PortMetric - (*FlowMetric)(nil), // 42: sanity.FlowMetric - (*RequiredChoiceParent)(nil), // 43: sanity.RequiredChoiceParent - (*RequiredChoiceIntermediate)(nil), // 44: sanity.RequiredChoiceIntermediate - (*RequiredChoiceIntermeLeaf)(nil), // 45: sanity.RequiredChoiceIntermeLeaf - (*LevelOne)(nil), // 46: sanity.LevelOne - (*LevelTwo)(nil), // 47: sanity.LevelTwo - (*LevelThree)(nil), // 48: sanity.LevelThree - (*LevelFour)(nil), // 49: sanity.LevelFour - (*Ipv4Pattern)(nil), // 50: sanity.Ipv4Pattern - (*Ipv6Pattern)(nil), // 51: sanity.Ipv6Pattern - (*MacPattern)(nil), // 52: sanity.MacPattern - (*IntegerPattern)(nil), // 53: sanity.IntegerPattern - (*ChecksumPattern)(nil), // 54: sanity.ChecksumPattern - (*CommonResponseSuccess)(nil), // 55: sanity.CommonResponseSuccess - (*ApiTestInputBody)(nil), // 56: sanity.ApiTestInputBody - (*ServiceAbcItem)(nil), // 57: sanity.ServiceAbcItem - (*ServiceAbcItemList)(nil), // 58: sanity.ServiceAbcItemList - (*PatternPrefixConfigHeaderChecksum)(nil), // 59: sanity.PatternPrefixConfigHeaderChecksum - (*PatternPrefixConfigAutoFieldTestCounter)(nil), // 60: sanity.PatternPrefixConfigAutoFieldTestCounter - (*PatternPrefixConfigAutoFieldTest)(nil), // 61: sanity.PatternPrefixConfigAutoFieldTest - (*PatternIpv4PatternIpv4Counter)(nil), // 62: sanity.PatternIpv4PatternIpv4Counter - (*PatternIpv4PatternIpv4)(nil), // 63: sanity.PatternIpv4PatternIpv4 - (*PatternIpv6PatternIpv6Counter)(nil), // 64: sanity.PatternIpv6PatternIpv6Counter - (*PatternIpv6PatternIpv6)(nil), // 65: sanity.PatternIpv6PatternIpv6 - (*PatternMacPatternMacCounter)(nil), // 66: sanity.PatternMacPatternMacCounter - (*PatternMacPatternMac)(nil), // 67: sanity.PatternMacPatternMac - (*PatternIntegerPatternIntegerCounter)(nil), // 68: sanity.PatternIntegerPatternIntegerCounter - (*PatternIntegerPatternInteger)(nil), // 69: sanity.PatternIntegerPatternInteger - (*PatternChecksumPatternChecksum)(nil), // 70: sanity.PatternChecksumPatternChecksum - (*Version)(nil), // 71: sanity.Version - (*Warnings)(nil), // 72: sanity.Warnings - (*SetConfigRequest)(nil), // 73: sanity.SetConfigRequest - (*UpdateConfigurationRequest)(nil), // 74: sanity.UpdateConfigurationRequest - (*SetConfigResponse)(nil), // 75: sanity.SetConfigResponse - (*UpdateConfigurationResponse)(nil), // 76: sanity.UpdateConfigurationResponse - (*GetConfigResponse)(nil), // 77: sanity.GetConfigResponse - (*GetMetricsRequest)(nil), // 78: sanity.GetMetricsRequest - (*GetMetricsResponse)(nil), // 79: sanity.GetMetricsResponse - (*GetWarningsResponse)(nil), // 80: sanity.GetWarningsResponse - (*ClearWarningsResponse)(nil), // 81: sanity.ClearWarningsResponse - (*PostRootResponseRequest)(nil), // 82: sanity.PostRootResponseRequest - (*GetRootResponseResponse)(nil), // 83: sanity.GetRootResponseResponse - (*DummyResponseTestResponse)(nil), // 84: sanity.DummyResponseTestResponse - (*PostRootResponseResponse)(nil), // 85: sanity.PostRootResponseResponse - (*GetAllItemsResponse)(nil), // 86: sanity.GetAllItemsResponse - (*GetSingleItemResponse)(nil), // 87: sanity.GetSingleItemResponse - (*GetSingleItemLevel2Response)(nil), // 88: sanity.GetSingleItemLevel2Response - (*GetVersionResponse)(nil), // 89: sanity.GetVersionResponse - (*Error_Kind)(nil), // 90: sanity.Error.Kind - (*PrefixConfig_Response)(nil), // 91: sanity.PrefixConfig.Response - (*PrefixConfig_DValues)(nil), // 92: sanity.PrefixConfig.DValues - (*GObject_Choice)(nil), // 93: sanity.GObject.Choice - (*GObject_GF)(nil), // 94: sanity.GObject.GF - (*FObject_Choice)(nil), // 95: sanity.FObject.Choice - (*JObject_Choice)(nil), // 96: sanity.JObject.Choice - (*ChoiceObject_Choice)(nil), // 97: sanity.ChoiceObject.Choice - (*MetricsRequest_Choice)(nil), // 98: sanity.MetricsRequest.Choice - (*Metrics_Choice)(nil), // 99: sanity.Metrics.Choice - (*RequiredChoiceParent_Choice)(nil), // 100: sanity.RequiredChoiceParent.Choice - (*RequiredChoiceIntermediate_Choice)(nil), // 101: sanity.RequiredChoiceIntermediate.Choice - (*PatternPrefixConfigHeaderChecksum_Choice)(nil), // 102: sanity.PatternPrefixConfigHeaderChecksum.Choice - (*PatternPrefixConfigHeaderChecksum_Generated)(nil), // 103: sanity.PatternPrefixConfigHeaderChecksum.Generated - (*PatternPrefixConfigAutoFieldTest_Choice)(nil), // 104: sanity.PatternPrefixConfigAutoFieldTest.Choice - (*PatternIpv4PatternIpv4_Choice)(nil), // 105: sanity.PatternIpv4PatternIpv4.Choice - (*PatternIpv6PatternIpv6_Choice)(nil), // 106: sanity.PatternIpv6PatternIpv6.Choice - (*PatternMacPatternMac_Choice)(nil), // 107: sanity.PatternMacPatternMac.Choice - (*PatternIntegerPatternInteger_Choice)(nil), // 108: sanity.PatternIntegerPatternInteger.Choice - (*PatternChecksumPatternChecksum_Choice)(nil), // 109: sanity.PatternChecksumPatternChecksum.Choice - (*PatternChecksumPatternChecksum_Generated)(nil), // 110: sanity.PatternChecksumPatternChecksum.Generated - (*emptypb.Empty)(nil), // 111: google.protobuf.Empty -} -var file_sanity_proto_depIdxs = []int32{ - 0, // 0: sanity.Error.kind:type_name -> sanity.Error.Kind.Enum - 30, // 1: sanity.PrefixConfig.required_object:type_name -> sanity.EObject - 30, // 2: sanity.PrefixConfig.optional_object:type_name -> sanity.EObject - 1, // 3: sanity.PrefixConfig.response:type_name -> sanity.PrefixConfig.Response.Enum - 2, // 4: sanity.PrefixConfig.d_values:type_name -> sanity.PrefixConfig.DValues.Enum - 30, // 5: sanity.PrefixConfig.e:type_name -> sanity.EObject - 31, // 6: sanity.PrefixConfig.f:type_name -> sanity.FObject - 29, // 7: sanity.PrefixConfig.g:type_name -> sanity.GObject - 32, // 8: sanity.PrefixConfig.j:type_name -> sanity.JObject - 34, // 9: sanity.PrefixConfig.k:type_name -> sanity.KObject - 35, // 10: sanity.PrefixConfig.l:type_name -> sanity.LObject - 46, // 11: sanity.PrefixConfig.level:type_name -> sanity.LevelOne - 37, // 12: sanity.PrefixConfig.mandatory:type_name -> sanity.Mandate - 50, // 13: sanity.PrefixConfig.ipv4_pattern:type_name -> sanity.Ipv4Pattern - 51, // 14: sanity.PrefixConfig.ipv6_pattern:type_name -> sanity.Ipv6Pattern - 52, // 15: sanity.PrefixConfig.mac_pattern:type_name -> sanity.MacPattern - 53, // 16: sanity.PrefixConfig.integer_pattern:type_name -> sanity.IntegerPattern - 54, // 17: sanity.PrefixConfig.checksum_pattern:type_name -> sanity.ChecksumPattern - 28, // 18: sanity.PrefixConfig.case:type_name -> sanity.Layer1Ieee802x - 36, // 19: sanity.PrefixConfig.m_object:type_name -> sanity.MObject - 59, // 20: sanity.PrefixConfig.header_checksum:type_name -> sanity.PatternPrefixConfigHeaderChecksum - 61, // 21: sanity.PrefixConfig.auto_field_test:type_name -> sanity.PatternPrefixConfigAutoFieldTest - 25, // 22: sanity.PrefixConfig.w_list:type_name -> sanity.WObject - 26, // 23: sanity.PrefixConfig.x_list:type_name -> sanity.ZObject - 26, // 24: sanity.PrefixConfig.z_object:type_name -> sanity.ZObject - 27, // 25: sanity.PrefixConfig.y_object:type_name -> sanity.YObject - 33, // 26: sanity.PrefixConfig.choice_object:type_name -> sanity.ChoiceObject - 43, // 27: sanity.PrefixConfig.required_choice_object:type_name -> sanity.RequiredChoiceParent - 29, // 28: sanity.PrefixConfig.g1:type_name -> sanity.GObject - 29, // 29: sanity.PrefixConfig.g2:type_name -> sanity.GObject - 3, // 30: sanity.GObject.choice:type_name -> sanity.GObject.Choice.Enum - 4, // 31: sanity.GObject.g_f:type_name -> sanity.GObject.GF.Enum - 5, // 32: sanity.FObject.choice:type_name -> sanity.FObject.Choice.Enum - 6, // 33: sanity.JObject.choice:type_name -> sanity.JObject.Choice.Enum - 30, // 34: sanity.JObject.j_a:type_name -> sanity.EObject - 31, // 35: sanity.JObject.j_b:type_name -> sanity.FObject - 7, // 36: sanity.ChoiceObject.choice:type_name -> sanity.ChoiceObject.Choice.Enum - 30, // 37: sanity.ChoiceObject.e_obj:type_name -> sanity.EObject - 31, // 38: sanity.ChoiceObject.f_obj:type_name -> sanity.FObject - 30, // 39: sanity.KObject.e_object:type_name -> sanity.EObject - 31, // 40: sanity.KObject.f_object:type_name -> sanity.FObject - 29, // 41: sanity.UpdateConfig.g:type_name -> sanity.GObject - 8, // 42: sanity.MetricsRequest.choice:type_name -> sanity.MetricsRequest.Choice.Enum - 9, // 43: sanity.Metrics.choice:type_name -> sanity.Metrics.Choice.Enum - 41, // 44: sanity.Metrics.ports:type_name -> sanity.PortMetric - 42, // 45: sanity.Metrics.flows:type_name -> sanity.FlowMetric - 10, // 46: sanity.RequiredChoiceParent.choice:type_name -> sanity.RequiredChoiceParent.Choice.Enum - 44, // 47: sanity.RequiredChoiceParent.intermediate_obj:type_name -> sanity.RequiredChoiceIntermediate - 11, // 48: sanity.RequiredChoiceIntermediate.choice:type_name -> sanity.RequiredChoiceIntermediate.Choice.Enum - 45, // 49: sanity.RequiredChoiceIntermediate.leaf:type_name -> sanity.RequiredChoiceIntermeLeaf - 47, // 50: sanity.LevelOne.l1_p1:type_name -> sanity.LevelTwo - 49, // 51: sanity.LevelOne.l1_p2:type_name -> sanity.LevelFour - 48, // 52: sanity.LevelTwo.l2_p1:type_name -> sanity.LevelThree - 46, // 53: sanity.LevelFour.l4_p1:type_name -> sanity.LevelOne - 63, // 54: sanity.Ipv4Pattern.ipv4:type_name -> sanity.PatternIpv4PatternIpv4 - 65, // 55: sanity.Ipv6Pattern.ipv6:type_name -> sanity.PatternIpv6PatternIpv6 - 67, // 56: sanity.MacPattern.mac:type_name -> sanity.PatternMacPatternMac - 69, // 57: sanity.IntegerPattern.integer:type_name -> sanity.PatternIntegerPatternInteger - 70, // 58: sanity.ChecksumPattern.checksum:type_name -> sanity.PatternChecksumPatternChecksum - 57, // 59: sanity.ServiceAbcItemList.items:type_name -> sanity.ServiceAbcItem - 12, // 60: sanity.PatternPrefixConfigHeaderChecksum.choice:type_name -> sanity.PatternPrefixConfigHeaderChecksum.Choice.Enum - 13, // 61: sanity.PatternPrefixConfigHeaderChecksum.generated:type_name -> sanity.PatternPrefixConfigHeaderChecksum.Generated.Enum - 14, // 62: sanity.PatternPrefixConfigAutoFieldTest.choice:type_name -> sanity.PatternPrefixConfigAutoFieldTest.Choice.Enum - 60, // 63: sanity.PatternPrefixConfigAutoFieldTest.increment:type_name -> sanity.PatternPrefixConfigAutoFieldTestCounter - 60, // 64: sanity.PatternPrefixConfigAutoFieldTest.decrement:type_name -> sanity.PatternPrefixConfigAutoFieldTestCounter - 15, // 65: sanity.PatternIpv4PatternIpv4.choice:type_name -> sanity.PatternIpv4PatternIpv4.Choice.Enum - 62, // 66: sanity.PatternIpv4PatternIpv4.increment:type_name -> sanity.PatternIpv4PatternIpv4Counter - 62, // 67: sanity.PatternIpv4PatternIpv4.decrement:type_name -> sanity.PatternIpv4PatternIpv4Counter - 16, // 68: sanity.PatternIpv6PatternIpv6.choice:type_name -> sanity.PatternIpv6PatternIpv6.Choice.Enum - 64, // 69: sanity.PatternIpv6PatternIpv6.increment:type_name -> sanity.PatternIpv6PatternIpv6Counter - 64, // 70: sanity.PatternIpv6PatternIpv6.decrement:type_name -> sanity.PatternIpv6PatternIpv6Counter - 17, // 71: sanity.PatternMacPatternMac.choice:type_name -> sanity.PatternMacPatternMac.Choice.Enum - 66, // 72: sanity.PatternMacPatternMac.increment:type_name -> sanity.PatternMacPatternMacCounter - 66, // 73: sanity.PatternMacPatternMac.decrement:type_name -> sanity.PatternMacPatternMacCounter - 18, // 74: sanity.PatternIntegerPatternInteger.choice:type_name -> sanity.PatternIntegerPatternInteger.Choice.Enum - 68, // 75: sanity.PatternIntegerPatternInteger.increment:type_name -> sanity.PatternIntegerPatternIntegerCounter - 68, // 76: sanity.PatternIntegerPatternInteger.decrement:type_name -> sanity.PatternIntegerPatternIntegerCounter - 19, // 77: sanity.PatternChecksumPatternChecksum.choice:type_name -> sanity.PatternChecksumPatternChecksum.Choice.Enum - 20, // 78: sanity.PatternChecksumPatternChecksum.generated:type_name -> sanity.PatternChecksumPatternChecksum.Generated.Enum - 22, // 79: sanity.Warnings.warning_details:type_name -> sanity.WarningDetails - 24, // 80: sanity.SetConfigRequest.prefix_config:type_name -> sanity.PrefixConfig - 38, // 81: sanity.UpdateConfigurationRequest.update_config:type_name -> sanity.UpdateConfig - 24, // 82: sanity.UpdateConfigurationResponse.prefix_config:type_name -> sanity.PrefixConfig - 24, // 83: sanity.GetConfigResponse.prefix_config:type_name -> sanity.PrefixConfig - 39, // 84: sanity.GetMetricsRequest.metrics_request:type_name -> sanity.MetricsRequest - 40, // 85: sanity.GetMetricsResponse.metrics:type_name -> sanity.Metrics - 22, // 86: sanity.GetWarningsResponse.warning_details:type_name -> sanity.WarningDetails - 56, // 87: sanity.PostRootResponseRequest.api_test_input_body:type_name -> sanity.ApiTestInputBody - 55, // 88: sanity.GetRootResponseResponse.common_response_success:type_name -> sanity.CommonResponseSuccess - 55, // 89: sanity.PostRootResponseResponse.common_response_success:type_name -> sanity.CommonResponseSuccess - 58, // 90: sanity.GetAllItemsResponse.service_abc_item_list:type_name -> sanity.ServiceAbcItemList - 57, // 91: sanity.GetSingleItemResponse.service_abc_item:type_name -> sanity.ServiceAbcItem - 57, // 92: sanity.GetSingleItemLevel2Response.service_abc_item:type_name -> sanity.ServiceAbcItem - 71, // 93: sanity.GetVersionResponse.version:type_name -> sanity.Version - 73, // 94: sanity.Openapi.SetConfig:input_type -> sanity.SetConfigRequest - 74, // 95: sanity.Openapi.UpdateConfiguration:input_type -> sanity.UpdateConfigurationRequest - 111, // 96: sanity.Openapi.GetConfig:input_type -> google.protobuf.Empty - 78, // 97: sanity.Openapi.GetMetrics:input_type -> sanity.GetMetricsRequest - 111, // 98: sanity.Openapi.GetWarnings:input_type -> google.protobuf.Empty - 111, // 99: sanity.Openapi.ClearWarnings:input_type -> google.protobuf.Empty - 111, // 100: sanity.Openapi.GetRootResponse:input_type -> google.protobuf.Empty - 111, // 101: sanity.Openapi.DummyResponseTest:input_type -> google.protobuf.Empty - 82, // 102: sanity.Openapi.PostRootResponse:input_type -> sanity.PostRootResponseRequest - 111, // 103: sanity.Openapi.GetAllItems:input_type -> google.protobuf.Empty - 111, // 104: sanity.Openapi.GetSingleItem:input_type -> google.protobuf.Empty - 111, // 105: sanity.Openapi.GetSingleItemLevel2:input_type -> google.protobuf.Empty - 111, // 106: sanity.Openapi.GetVersion:input_type -> google.protobuf.Empty - 75, // 107: sanity.Openapi.SetConfig:output_type -> sanity.SetConfigResponse - 76, // 108: sanity.Openapi.UpdateConfiguration:output_type -> sanity.UpdateConfigurationResponse - 77, // 109: sanity.Openapi.GetConfig:output_type -> sanity.GetConfigResponse - 79, // 110: sanity.Openapi.GetMetrics:output_type -> sanity.GetMetricsResponse - 80, // 111: sanity.Openapi.GetWarnings:output_type -> sanity.GetWarningsResponse - 81, // 112: sanity.Openapi.ClearWarnings:output_type -> sanity.ClearWarningsResponse - 83, // 113: sanity.Openapi.GetRootResponse:output_type -> sanity.GetRootResponseResponse - 84, // 114: sanity.Openapi.DummyResponseTest:output_type -> sanity.DummyResponseTestResponse - 85, // 115: sanity.Openapi.PostRootResponse:output_type -> sanity.PostRootResponseResponse - 86, // 116: sanity.Openapi.GetAllItems:output_type -> sanity.GetAllItemsResponse - 87, // 117: sanity.Openapi.GetSingleItem:output_type -> sanity.GetSingleItemResponse - 88, // 118: sanity.Openapi.GetSingleItemLevel2:output_type -> sanity.GetSingleItemLevel2Response - 89, // 119: sanity.Openapi.GetVersion:output_type -> sanity.GetVersionResponse - 107, // [107:120] is the sub-list for method output_type - 94, // [94:107] is the sub-list for method input_type - 94, // [94:94] is the sub-list for extension type_name - 94, // [94:94] is the sub-list for extension extendee - 0, // [0:94] is the sub-list for field type_name -} - -func init() { file_sanity_proto_init() } -func file_sanity_proto_init() { - if File_sanity_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_sanity_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ErrorDetails); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WarningDetails); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Error); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PrefixConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WObject); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ZObject); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*YObject); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Layer1Ieee802X); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GObject); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EObject); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FObject); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*JObject); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChoiceObject); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KObject); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LObject); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MObject); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Mandate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MetricsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Metrics); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PortMetric); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FlowMetric); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RequiredChoiceParent); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RequiredChoiceIntermediate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RequiredChoiceIntermeLeaf); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LevelOne); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LevelTwo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LevelThree); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LevelFour); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Ipv4Pattern); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Ipv6Pattern); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MacPattern); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IntegerPattern); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChecksumPattern); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CommonResponseSuccess); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ApiTestInputBody); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ServiceAbcItem); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ServiceAbcItemList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PatternPrefixConfigHeaderChecksum); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PatternPrefixConfigAutoFieldTestCounter); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PatternPrefixConfigAutoFieldTest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PatternIpv4PatternIpv4Counter); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PatternIpv4PatternIpv4); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PatternIpv6PatternIpv6Counter); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PatternIpv6PatternIpv6); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PatternMacPatternMacCounter); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PatternMacPatternMac); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PatternIntegerPatternIntegerCounter); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PatternIntegerPatternInteger); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PatternChecksumPatternChecksum); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Version); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Warnings); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetConfigRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateConfigurationRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetConfigResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateConfigurationResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetConfigResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMetricsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMetricsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetWarningsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ClearWarningsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PostRootResponseRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRootResponseResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DummyResponseTestResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PostRootResponseResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAllItemsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSingleItemResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetSingleItemLevel2Response); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetVersionResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Error_Kind); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PrefixConfig_Response); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PrefixConfig_DValues); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GObject_Choice); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GObject_GF); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FObject_Choice); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*JObject_Choice); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChoiceObject_Choice); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MetricsRequest_Choice); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Metrics_Choice); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RequiredChoiceParent_Choice); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RequiredChoiceIntermediate_Choice); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PatternPrefixConfigHeaderChecksum_Choice); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PatternPrefixConfigHeaderChecksum_Generated); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PatternPrefixConfigAutoFieldTest_Choice); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PatternIpv4PatternIpv4_Choice); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PatternIpv6PatternIpv6_Choice); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PatternMacPatternMac_Choice); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PatternIntegerPatternInteger_Choice); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PatternChecksumPatternChecksum_Choice); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sanity_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PatternChecksumPatternChecksum_Generated); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_sanity_proto_msgTypes[2].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[3].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[6].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[7].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[8].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[9].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[10].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[11].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[12].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[13].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[14].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[18].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[19].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[22].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[23].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[24].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[25].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[26].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[27].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[28].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[29].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[30].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[31].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[32].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[33].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[34].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[35].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[36].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[38].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[39].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[40].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[41].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[42].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[43].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[44].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[45].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[46].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[47].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[48].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[49].OneofWrappers = []interface{}{} - file_sanity_proto_msgTypes[50].OneofWrappers = []interface{}{} - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_sanity_proto_rawDesc, - NumEnums: 21, - NumMessages: 90, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_sanity_proto_goTypes, - DependencyIndexes: file_sanity_proto_depIdxs, - EnumInfos: file_sanity_proto_enumTypes, - MessageInfos: file_sanity_proto_msgTypes, - }.Build() - File_sanity_proto = out.File - file_sanity_proto_rawDesc = nil - file_sanity_proto_goTypes = nil - file_sanity_proto_depIdxs = nil -} diff --git a/artifacts/openapiart_go/sanity/sanity_grpc.pb.go b/artifacts/openapiart_go/sanity/sanity_grpc.pb.go deleted file mode 100644 index bc2a114c..00000000 --- a/artifacts/openapiart_go/sanity/sanity_grpc.pb.go +++ /dev/null @@ -1,569 +0,0 @@ -// Code generated by protoc-gen-go-grpc. DO NOT EDIT. -// versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v4.23.3 -// source: sanity.proto - -package sanity - -import ( - context "context" - - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" - emptypb "google.golang.org/protobuf/types/known/emptypb" -) - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 - -// OpenapiClient is the client API for Openapi service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. -type OpenapiClient interface { - // Sets configuration resources. - SetConfig(ctx context.Context, in *SetConfigRequest, opts ...grpc.CallOption) (*SetConfigResponse, error) - // Deprecated: please use post instead - // - // Sets configuration resources. - UpdateConfiguration(ctx context.Context, in *UpdateConfigurationRequest, opts ...grpc.CallOption) (*UpdateConfigurationResponse, error) - // Gets the configuration resources. - GetConfig(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetConfigResponse, error) - // Gets metrics. - GetMetrics(ctx context.Context, in *GetMetricsRequest, opts ...grpc.CallOption) (*GetMetricsResponse, error) - // Gets warnings. - GetWarnings(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetWarningsResponse, error) - // Clears warnings. - ClearWarnings(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ClearWarningsResponse, error) - // simple GET api with single return type - GetRootResponse(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetRootResponseResponse, error) - // Description missing in models - DummyResponseTest(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*DummyResponseTestResponse, error) - // simple POST api with single return type - PostRootResponse(ctx context.Context, in *PostRootResponseRequest, opts ...grpc.CallOption) (*PostRootResponseResponse, error) - // return list of some items - GetAllItems(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetAllItemsResponse, error) - // return single item - GetSingleItem(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetSingleItemResponse, error) - // return single item - GetSingleItemLevel2(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetSingleItemLevel2Response, error) - // Description missing in models - GetVersion(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetVersionResponse, error) -} - -type openapiClient struct { - cc grpc.ClientConnInterface -} - -func NewOpenapiClient(cc grpc.ClientConnInterface) OpenapiClient { - return &openapiClient{cc} -} - -func (c *openapiClient) SetConfig(ctx context.Context, in *SetConfigRequest, opts ...grpc.CallOption) (*SetConfigResponse, error) { - out := new(SetConfigResponse) - err := c.cc.Invoke(ctx, "/sanity.Openapi/SetConfig", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *openapiClient) UpdateConfiguration(ctx context.Context, in *UpdateConfigurationRequest, opts ...grpc.CallOption) (*UpdateConfigurationResponse, error) { - out := new(UpdateConfigurationResponse) - err := c.cc.Invoke(ctx, "/sanity.Openapi/UpdateConfiguration", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *openapiClient) GetConfig(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetConfigResponse, error) { - out := new(GetConfigResponse) - err := c.cc.Invoke(ctx, "/sanity.Openapi/GetConfig", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *openapiClient) GetMetrics(ctx context.Context, in *GetMetricsRequest, opts ...grpc.CallOption) (*GetMetricsResponse, error) { - out := new(GetMetricsResponse) - err := c.cc.Invoke(ctx, "/sanity.Openapi/GetMetrics", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *openapiClient) GetWarnings(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetWarningsResponse, error) { - out := new(GetWarningsResponse) - err := c.cc.Invoke(ctx, "/sanity.Openapi/GetWarnings", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *openapiClient) ClearWarnings(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ClearWarningsResponse, error) { - out := new(ClearWarningsResponse) - err := c.cc.Invoke(ctx, "/sanity.Openapi/ClearWarnings", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *openapiClient) GetRootResponse(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetRootResponseResponse, error) { - out := new(GetRootResponseResponse) - err := c.cc.Invoke(ctx, "/sanity.Openapi/GetRootResponse", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *openapiClient) DummyResponseTest(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*DummyResponseTestResponse, error) { - out := new(DummyResponseTestResponse) - err := c.cc.Invoke(ctx, "/sanity.Openapi/DummyResponseTest", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *openapiClient) PostRootResponse(ctx context.Context, in *PostRootResponseRequest, opts ...grpc.CallOption) (*PostRootResponseResponse, error) { - out := new(PostRootResponseResponse) - err := c.cc.Invoke(ctx, "/sanity.Openapi/PostRootResponse", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *openapiClient) GetAllItems(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetAllItemsResponse, error) { - out := new(GetAllItemsResponse) - err := c.cc.Invoke(ctx, "/sanity.Openapi/GetAllItems", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *openapiClient) GetSingleItem(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetSingleItemResponse, error) { - out := new(GetSingleItemResponse) - err := c.cc.Invoke(ctx, "/sanity.Openapi/GetSingleItem", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *openapiClient) GetSingleItemLevel2(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetSingleItemLevel2Response, error) { - out := new(GetSingleItemLevel2Response) - err := c.cc.Invoke(ctx, "/sanity.Openapi/GetSingleItemLevel2", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *openapiClient) GetVersion(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetVersionResponse, error) { - out := new(GetVersionResponse) - err := c.cc.Invoke(ctx, "/sanity.Openapi/GetVersion", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// OpenapiServer is the server API for Openapi service. -// All implementations must embed UnimplementedOpenapiServer -// for forward compatibility -type OpenapiServer interface { - // Sets configuration resources. - SetConfig(context.Context, *SetConfigRequest) (*SetConfigResponse, error) - // Deprecated: please use post instead - // - // Sets configuration resources. - UpdateConfiguration(context.Context, *UpdateConfigurationRequest) (*UpdateConfigurationResponse, error) - // Gets the configuration resources. - GetConfig(context.Context, *emptypb.Empty) (*GetConfigResponse, error) - // Gets metrics. - GetMetrics(context.Context, *GetMetricsRequest) (*GetMetricsResponse, error) - // Gets warnings. - GetWarnings(context.Context, *emptypb.Empty) (*GetWarningsResponse, error) - // Clears warnings. - ClearWarnings(context.Context, *emptypb.Empty) (*ClearWarningsResponse, error) - // simple GET api with single return type - GetRootResponse(context.Context, *emptypb.Empty) (*GetRootResponseResponse, error) - // Description missing in models - DummyResponseTest(context.Context, *emptypb.Empty) (*DummyResponseTestResponse, error) - // simple POST api with single return type - PostRootResponse(context.Context, *PostRootResponseRequest) (*PostRootResponseResponse, error) - // return list of some items - GetAllItems(context.Context, *emptypb.Empty) (*GetAllItemsResponse, error) - // return single item - GetSingleItem(context.Context, *emptypb.Empty) (*GetSingleItemResponse, error) - // return single item - GetSingleItemLevel2(context.Context, *emptypb.Empty) (*GetSingleItemLevel2Response, error) - // Description missing in models - GetVersion(context.Context, *emptypb.Empty) (*GetVersionResponse, error) - mustEmbedUnimplementedOpenapiServer() -} - -// UnimplementedOpenapiServer must be embedded to have forward compatible implementations. -type UnimplementedOpenapiServer struct { -} - -func (UnimplementedOpenapiServer) SetConfig(context.Context, *SetConfigRequest) (*SetConfigResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetConfig not implemented") -} -func (UnimplementedOpenapiServer) UpdateConfiguration(context.Context, *UpdateConfigurationRequest) (*UpdateConfigurationResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateConfiguration not implemented") -} -func (UnimplementedOpenapiServer) GetConfig(context.Context, *emptypb.Empty) (*GetConfigResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetConfig not implemented") -} -func (UnimplementedOpenapiServer) GetMetrics(context.Context, *GetMetricsRequest) (*GetMetricsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetMetrics not implemented") -} -func (UnimplementedOpenapiServer) GetWarnings(context.Context, *emptypb.Empty) (*GetWarningsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetWarnings not implemented") -} -func (UnimplementedOpenapiServer) ClearWarnings(context.Context, *emptypb.Empty) (*ClearWarningsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ClearWarnings not implemented") -} -func (UnimplementedOpenapiServer) GetRootResponse(context.Context, *emptypb.Empty) (*GetRootResponseResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetRootResponse not implemented") -} -func (UnimplementedOpenapiServer) DummyResponseTest(context.Context, *emptypb.Empty) (*DummyResponseTestResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method DummyResponseTest not implemented") -} -func (UnimplementedOpenapiServer) PostRootResponse(context.Context, *PostRootResponseRequest) (*PostRootResponseResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method PostRootResponse not implemented") -} -func (UnimplementedOpenapiServer) GetAllItems(context.Context, *emptypb.Empty) (*GetAllItemsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetAllItems not implemented") -} -func (UnimplementedOpenapiServer) GetSingleItem(context.Context, *emptypb.Empty) (*GetSingleItemResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetSingleItem not implemented") -} -func (UnimplementedOpenapiServer) GetSingleItemLevel2(context.Context, *emptypb.Empty) (*GetSingleItemLevel2Response, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetSingleItemLevel2 not implemented") -} -func (UnimplementedOpenapiServer) GetVersion(context.Context, *emptypb.Empty) (*GetVersionResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetVersion not implemented") -} -func (UnimplementedOpenapiServer) mustEmbedUnimplementedOpenapiServer() {} - -// UnsafeOpenapiServer may be embedded to opt out of forward compatibility for this service. -// Use of this interface is not recommended, as added methods to OpenapiServer will -// result in compilation errors. -type UnsafeOpenapiServer interface { - mustEmbedUnimplementedOpenapiServer() -} - -func RegisterOpenapiServer(s grpc.ServiceRegistrar, srv OpenapiServer) { - s.RegisterService(&Openapi_ServiceDesc, srv) -} - -func _Openapi_SetConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SetConfigRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(OpenapiServer).SetConfig(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sanity.Openapi/SetConfig", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OpenapiServer).SetConfig(ctx, req.(*SetConfigRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Openapi_UpdateConfiguration_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UpdateConfigurationRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(OpenapiServer).UpdateConfiguration(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sanity.Openapi/UpdateConfiguration", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OpenapiServer).UpdateConfiguration(ctx, req.(*UpdateConfigurationRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Openapi_GetConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(emptypb.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(OpenapiServer).GetConfig(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sanity.Openapi/GetConfig", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OpenapiServer).GetConfig(ctx, req.(*emptypb.Empty)) - } - return interceptor(ctx, in, info, handler) -} - -func _Openapi_GetMetrics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetMetricsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(OpenapiServer).GetMetrics(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sanity.Openapi/GetMetrics", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OpenapiServer).GetMetrics(ctx, req.(*GetMetricsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Openapi_GetWarnings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(emptypb.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(OpenapiServer).GetWarnings(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sanity.Openapi/GetWarnings", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OpenapiServer).GetWarnings(ctx, req.(*emptypb.Empty)) - } - return interceptor(ctx, in, info, handler) -} - -func _Openapi_ClearWarnings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(emptypb.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(OpenapiServer).ClearWarnings(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sanity.Openapi/ClearWarnings", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OpenapiServer).ClearWarnings(ctx, req.(*emptypb.Empty)) - } - return interceptor(ctx, in, info, handler) -} - -func _Openapi_GetRootResponse_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(emptypb.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(OpenapiServer).GetRootResponse(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sanity.Openapi/GetRootResponse", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OpenapiServer).GetRootResponse(ctx, req.(*emptypb.Empty)) - } - return interceptor(ctx, in, info, handler) -} - -func _Openapi_DummyResponseTest_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(emptypb.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(OpenapiServer).DummyResponseTest(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sanity.Openapi/DummyResponseTest", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OpenapiServer).DummyResponseTest(ctx, req.(*emptypb.Empty)) - } - return interceptor(ctx, in, info, handler) -} - -func _Openapi_PostRootResponse_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PostRootResponseRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(OpenapiServer).PostRootResponse(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sanity.Openapi/PostRootResponse", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OpenapiServer).PostRootResponse(ctx, req.(*PostRootResponseRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Openapi_GetAllItems_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(emptypb.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(OpenapiServer).GetAllItems(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sanity.Openapi/GetAllItems", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OpenapiServer).GetAllItems(ctx, req.(*emptypb.Empty)) - } - return interceptor(ctx, in, info, handler) -} - -func _Openapi_GetSingleItem_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(emptypb.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(OpenapiServer).GetSingleItem(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sanity.Openapi/GetSingleItem", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OpenapiServer).GetSingleItem(ctx, req.(*emptypb.Empty)) - } - return interceptor(ctx, in, info, handler) -} - -func _Openapi_GetSingleItemLevel2_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(emptypb.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(OpenapiServer).GetSingleItemLevel2(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sanity.Openapi/GetSingleItemLevel2", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OpenapiServer).GetSingleItemLevel2(ctx, req.(*emptypb.Empty)) - } - return interceptor(ctx, in, info, handler) -} - -func _Openapi_GetVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(emptypb.Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(OpenapiServer).GetVersion(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sanity.Openapi/GetVersion", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OpenapiServer).GetVersion(ctx, req.(*emptypb.Empty)) - } - return interceptor(ctx, in, info, handler) -} - -// Openapi_ServiceDesc is the grpc.ServiceDesc for Openapi service. -// It's only intended for direct use with grpc.RegisterService, -// and not to be introspected or modified (even as a copy) -var Openapi_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "sanity.Openapi", - HandlerType: (*OpenapiServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "SetConfig", - Handler: _Openapi_SetConfig_Handler, - }, - { - MethodName: "UpdateConfiguration", - Handler: _Openapi_UpdateConfiguration_Handler, - }, - { - MethodName: "GetConfig", - Handler: _Openapi_GetConfig_Handler, - }, - { - MethodName: "GetMetrics", - Handler: _Openapi_GetMetrics_Handler, - }, - { - MethodName: "GetWarnings", - Handler: _Openapi_GetWarnings_Handler, - }, - { - MethodName: "ClearWarnings", - Handler: _Openapi_ClearWarnings_Handler, - }, - { - MethodName: "GetRootResponse", - Handler: _Openapi_GetRootResponse_Handler, - }, - { - MethodName: "DummyResponseTest", - Handler: _Openapi_DummyResponseTest_Handler, - }, - { - MethodName: "PostRootResponse", - Handler: _Openapi_PostRootResponse_Handler, - }, - { - MethodName: "GetAllItems", - Handler: _Openapi_GetAllItems_Handler, - }, - { - MethodName: "GetSingleItem", - Handler: _Openapi_GetSingleItem_Handler, - }, - { - MethodName: "GetSingleItemLevel2", - Handler: _Openapi_GetSingleItemLevel2_Handler, - }, - { - MethodName: "GetVersion", - Handler: _Openapi_GetVersion_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "sanity.proto", -} diff --git a/artifacts/sanity.proto b/artifacts/sanity.proto deleted file mode 100644 index 5620e1d6..00000000 --- a/artifacts/sanity.proto +++ /dev/null @@ -1,1171 +0,0 @@ -/* OpenAPIArt Test API 0.0.1 - * Demonstrates the features of the OpenAPIArt package - * License: NO-LICENSE-PRESENT */ - -syntax = "proto3"; - -package sanity; - -option go_package = "./sanity;sanity"; - -import "google/protobuf/descriptor.proto"; -import "google/protobuf/empty.proto"; - -// Description missing in models -message ErrorDetails { - - // Description missing in models - repeated string errors = 1; -} - -// Description missing in models -message WarningDetails { - - // Description missing in models - repeated string warnings = 1; -} - -// Error response generated while serving API request. -message Error { - - // Numeric status code based on underlying transport being used. - // required = true - int32 code = 1; - - message Kind { - enum Enum { - unspecified = 0; - transport = 1; - validation = 2; - internal = 3; - } - } - // Kind of error message. - optional Kind.Enum kind = 2; - - // List of error messages generated while serving API request. - repeated string errors = 3; -} - -// Container which retains the configuration -message PrefixConfig { - - // A required object that MUST be generated as such. - // required = true - EObject required_object = 1; - - // An optional object that MUST be generated as such. - optional EObject optional_object = 2; - - // Description missing in models - optional bool ieee_802_1qbb = 3; - - // Deprecated: Information TBD - // - // Description TBD - optional int32 space_1 = 4; - - // Description missing in models - optional int64 full_duplex_100_mb = 5; - - message Response { - enum Enum { - unspecified = 0; - status_200 = 1; - status_400 = 2; - status_404 = 3; - status_500 = 4; - } - } - // Indicate to the server what response should be returned - // default = Response.Enum.status_200 - optional Response.Enum response = 6; - - // Under Review: Information TBD - // - // Small single line description - // required = true - string a = 7; - - // Longer multi-line description - // Second line is here - // Third line - // required = true - float b = 8; - - // Description missing in models - // required = true - int32 c = 9; - - message DValues { - enum Enum { - unspecified = 0; - a = 1; - b = 2; - c = 3; - } - } - // Deprecated: Information TBD - // - // A list of enum values - repeated DValues.Enum d_values = 10; - - // Deprecated: Information TBD - // - // A child object - optional EObject e = 11; - - // An object with only choice(s) - optional FObject f = 12; - - // A list of objects with choice and properties - repeated GObject g = 13; - - // A boolean value - // default = True - optional bool h = 14; - - // A byte string - optional bytes i = 15; - - // A list of objects with only choice - repeated JObject j = 16; - - // A nested object with only one property which is a choice object - optional KObject k = 17; - - // Description missing in models - optional LObject l = 18; - - // A list of string values - repeated string list_of_string_values = 19; - - // A list of integer values - repeated int32 list_of_integer_values = 20; - - // Description missing in models - optional LevelOne level = 21; - - // Description missing in models - optional Mandate mandatory = 22; - - // Description missing in models - optional Ipv4Pattern ipv4_pattern = 23; - - // Description missing in models - optional Ipv6Pattern ipv6_pattern = 24; - - // Description missing in models - optional MacPattern mac_pattern = 25; - - // Description missing in models - optional IntegerPattern integer_pattern = 26; - - // Description missing in models - optional ChecksumPattern checksum_pattern = 27; - - // Description missing in models - optional Layer1Ieee802x case = 28; - - // Description missing in models - optional MObject m_object = 29; - - // int64 type - optional int64 integer64 = 30; - - // int64 type list - repeated int64 integer64_list = 31; - - // Description missing in models - optional PatternPrefixConfigHeaderChecksum header_checksum = 32; - - // Under Review: Information TBD - // - // string minimum&maximum Length - optional string str_len = 33; - - // Under Review: Information TBD - // - // Array of Hex - repeated string hex_slice = 34; - - // Description missing in models - optional PatternPrefixConfigAutoFieldTest auto_field_test = 35; - - // Description missing in models - optional string name = 36; - - // Description missing in models - repeated WObject w_list = 37; - - // Description missing in models - repeated ZObject x_list = 38; - - // Description missing in models - optional ZObject z_object = 39; - - // Description missing in models - optional YObject y_object = 40; - - // A list of objects with choice with and without properties - repeated ChoiceObject choice_object = 41; - - // Description missing in models - optional RequiredChoiceParent required_choice_object = 42; - - // A list of objects with choice and properties - repeated GObject g1 = 43; - - // A list of objects with choice and properties - repeated GObject g2 = 44; - - // int32 type - optional int32 int32_param = 45; - - // int32 type list - repeated int32 int32_list_param = 46; - - // uint32 type - optional uint32 uint32_param = 47; - - // uint32 type list - repeated uint32 uint32_list_param = 48; - - // uint64 type - optional uint64 uint64_param = 49; - - // uint64 type list - repeated uint64 uint64_list_param = 50; - - // should automatically set type to int32 - optional int32 auto_int32_param = 51; - - // should automatically set type to []int32 - repeated int32 auto_int32_list_param = 52; -} - -// Description missing in models -message WObject { - - // Description missing in models - // required = true - string w_name = 1; -} - -// Description missing in models -message ZObject { - - // Description missing in models - // required = true - string name = 1; -} - -// Description missing in models -message YObject { - - // TBD - // - // x-constraint: - // - /components/schemas/ZObject/properties/name - // - /components/schemas/WObject/properties/w_name - // - optional string y_name = 1; -} - -// Description missing in models -message Layer1Ieee802x { - - // Description missing in models - optional bool flow_control = 1; -} - -// Deprecated: new schema Jobject to be used -// -// Description TBD -message GObject { - - // Description missing in models - // default = asdf - optional string g_a = 1; - - // Description missing in models - // default = 6 - optional int32 g_b = 2; - - // Deprecated: Information TBD - // - // Description TBD - // default = 77.7 - optional float g_c = 3; - - message Choice { - enum Enum { - unspecified = 0; - g_d = 1; - g_e = 2; - } - } - // Description missing in models - // default = Choice.Enum.g_d - optional Choice.Enum choice = 4; - - // Description missing in models - // default = some string - optional string g_d = 5; - - // Description missing in models - // default = 3.0 - optional double g_e = 6; - - message GF { - enum Enum { - unspecified = 0; - a = 1; - b = 2; - c = 3; - } - } - // Another enum to test protbuf enum generation - // default = GF.Enum.a - optional GF.Enum g_f = 7; - - // Description missing in models - optional string name = 8; -} - -// Description missing in models -message EObject { - - // Description missing in models - // required = true - float e_a = 1; - - // Description missing in models - // required = true - double e_b = 2; - - // Description missing in models - optional string name = 3; - - // Description missing in models - optional string m_param1 = 4; - - // Description missing in models - optional string m_param2 = 5; -} - -// Description missing in models -message FObject { - - message Choice { - enum Enum { - unspecified = 0; - f_a = 1; - f_b = 2; - f_c = 3; - } - } - // Description missing in models - // default = Choice.Enum.f_a - optional Choice.Enum choice = 1; - - // Description missing in models - // default = some string - optional string f_a = 2; - - // Description missing in models - // default = 3.0 - optional double f_b = 3; -} - -// Description missing in models -message JObject { - - message Choice { - enum Enum { - unspecified = 0; - j_a = 1; - j_b = 2; - } - } - // Description missing in models - // default = Choice.Enum.j_a - optional Choice.Enum choice = 1; - - // Description missing in models - optional EObject j_a = 2; - - // Description missing in models - optional FObject j_b = 3; -} - -// Description missing in models -message ChoiceObject { - - message Choice { - enum Enum { - unspecified = 0; - e_obj = 1; - f_obj = 2; - no_obj = 3; - } - } - // Description missing in models - // default = Choice.Enum.no_obj - optional Choice.Enum choice = 1; - - // Description missing in models - optional EObject e_obj = 2; - - // Description missing in models - optional FObject f_obj = 3; -} - -// Description missing in models -message KObject { - - // Description missing in models - optional EObject e_object = 1; - - // Description missing in models - optional FObject f_object = 2; -} - -// Format validation object -message LObject { - - // Description missing in models - optional string string_param = 1; - - // Description missing in models - optional int32 integer = 2; - - // Description missing in models - optional float float = 3; - - // Description missing in models - optional double double = 4; - - // Description missing in models - optional string mac = 5; - - // Description missing in models - optional string ipv4 = 6; - - // Description missing in models - optional string ipv6 = 7; - - // Description missing in models - optional string hex = 8; -} - -// Required format validation object -message MObject { - - // Description missing in models - // required = true - string string_param = 1; - - // Description missing in models - // required = true - int32 integer = 2; - - // Description missing in models - // required = true - float float = 3; - - // Description missing in models - // required = true - double double = 4; - - // Description missing in models - // required = true - string mac = 5; - - // Description missing in models - // required = true - string ipv4 = 6; - - // Description missing in models - // required = true - string ipv6 = 7; - - // Description missing in models - // required = true - string hex = 8; -} - -// Object to Test required Parameter -message Mandate { - - // Description missing in models - // required = true - string required_param = 1; -} - -// Under Review: the whole schema is being reviewed -// -// Object to Test required Parameter -message UpdateConfig { - - // A list of objects with choice and properties - repeated GObject g = 1; -} - -// Description missing in models -message MetricsRequest { - - message Choice { - enum Enum { - unspecified = 0; - port = 1; - flow = 2; - } - } - // Description missing in models - // default = Choice.Enum.port - optional Choice.Enum choice = 1; - - // Description missing in models - optional string port = 2; - - // Description missing in models - optional string flow = 3; -} - -// Description missing in models -message Metrics { - - message Choice { - enum Enum { - unspecified = 0; - ports = 1; - flows = 2; - } - } - // Description missing in models - // default = Choice.Enum.ports - optional Choice.Enum choice = 1; - - // Description missing in models - repeated PortMetric ports = 2; - - // Description missing in models - repeated FlowMetric flows = 3; -} - -// Description missing in models -message PortMetric { - - // Description missing in models - // required = true - string name = 1; - - // Description missing in models - // required = true - double tx_frames = 2; - - // Description missing in models - // required = true - double rx_frames = 3; -} - -// Description missing in models -message FlowMetric { - - // Description missing in models - // required = true - string name = 1; - - // Description missing in models - // required = true - double tx_frames = 2; - - // Description missing in models - // required = true - double rx_frames = 3; -} - -// Description missing in models -message RequiredChoiceParent { - - message Choice { - enum Enum { - unspecified = 0; - intermediate_obj = 1; - no_obj = 2; - } - } - // Description missing in models - // required = true - Choice.Enum choice = 1; - - // Description missing in models - optional RequiredChoiceIntermediate intermediate_obj = 2; -} - -// Description missing in models -message RequiredChoiceIntermediate { - - message Choice { - enum Enum { - unspecified = 0; - f_a = 1; - leaf = 2; - } - } - // Description missing in models - // required = true - Choice.Enum choice = 1; - - // Description missing in models - // default = some string - optional string f_a = 2; - - // Description missing in models - optional RequiredChoiceIntermeLeaf leaf = 3; -} - -// Description missing in models -message RequiredChoiceIntermeLeaf { - - // Description missing in models - optional string name = 1; -} - -// To Test Multi level non-primitive types -message LevelOne { - - // Level one - optional LevelTwo l1_p1 = 1; - - // Level one to four - optional LevelFour l1_p2 = 2; -} - -// Test Level 2 -message LevelTwo { - - // Level Two - optional LevelThree l2_p1 = 1; -} - -// Test Level3 -message LevelThree { - - // Set value at Level 3 - optional string l3_p1 = 1; -} - -// Test level4 redundant junk testing -message LevelFour { - - // loop over level 1 - optional LevelOne l4_p1 = 1; -} - -// Test ipv4 pattern -message Ipv4Pattern { - - // Description missing in models - optional PatternIpv4PatternIpv4 ipv4 = 1; -} - -// Test ipv6 pattern -message Ipv6Pattern { - - // Description missing in models - optional PatternIpv6PatternIpv6 ipv6 = 1; -} - -// Test mac pattern -message MacPattern { - - // Description missing in models - optional PatternMacPatternMac mac = 1; -} - -// Test integer pattern -message IntegerPattern { - - // Description missing in models - optional PatternIntegerPatternInteger integer = 1; -} - -// Test checksum pattern -message ChecksumPattern { - - // Description missing in models - optional PatternChecksumPatternChecksum checksum = 1; -} - -// Description missing in models -message CommonResponseSuccess { - - // Description missing in models - optional string message = 1; -} - -// Description missing in models -message ApiTestInputBody { - - // Description missing in models - optional string some_string = 1; -} - -// Description missing in models -message ServiceAbcItem { - - // Description missing in models - optional string some_id = 1; - - // Description missing in models - optional string some_string = 2; - - // Description missing in models - optional string path_id = 3; - - // Description missing in models - optional string level_2 = 4; -} - -// Description missing in models -message ServiceAbcItemList { - - // Description missing in models - repeated ServiceAbcItem items = 1; -} - -// Header checksum -message PatternPrefixConfigHeaderChecksum { - - message Choice { - enum Enum { - unspecified = 0; - generated = 1; - custom = 2; - } - } - // The type of checksum - // default = Choice.Enum.generated - optional Choice.Enum choice = 1; - - message Generated { - enum Enum { - unspecified = 0; - good = 1; - bad = 2; - } - } - // A system generated checksum value - // default = Generated.Enum.good - optional Generated.Enum generated = 2; - - // A custom checksum value - optional uint32 custom = 3; -} - -// integer counter pattern -message PatternPrefixConfigAutoFieldTestCounter { - - // Description missing in models - // default = 0 - optional uint32 start = 1; - - // Description missing in models - // default = 1 - optional uint32 step = 2; - - // Description missing in models - // default = 1 - optional uint32 count = 3; -} - -// TBD -message PatternPrefixConfigAutoFieldTest { - - message Choice { - enum Enum { - unspecified = 0; - value = 2; - values = 3; - auto = 1; - increment = 4; - decrement = 5; - } - } - // Description missing in models - // default = Choice.Enum.auto - optional Choice.Enum choice = 1; - - // Description missing in models - // default = 0 - optional uint32 value = 2; - - // Description missing in models - // default = [0] - repeated uint32 values = 3; - - // The OTG implementation can provide a system generated - // value for this property. If the OTG is unable to generate a value - // the default value must be used. - // default = 0 - optional uint32 auto = 4; - - // Description missing in models - optional PatternPrefixConfigAutoFieldTestCounter increment = 6; - - // Description missing in models - optional PatternPrefixConfigAutoFieldTestCounter decrement = 7; -} - -// ipv4 counter pattern -message PatternIpv4PatternIpv4Counter { - - // Description missing in models - // default = 0.0.0.0 - optional string start = 1; - - // Description missing in models - // default = 0.0.0.1 - optional string step = 2; - - // Description missing in models - // default = 1 - optional uint32 count = 3; -} - -// TBD -message PatternIpv4PatternIpv4 { - - message Choice { - enum Enum { - unspecified = 0; - value = 2; - values = 3; - increment = 4; - decrement = 5; - } - } - // Description missing in models - // default = Choice.Enum.value - optional Choice.Enum choice = 1; - - // Description missing in models - // default = 0.0.0.0 - optional string value = 2; - - // Description missing in models - // default = ['0.0.0.0'] - repeated string values = 3; - - // Description missing in models - optional PatternIpv4PatternIpv4Counter increment = 5; - - // Description missing in models - optional PatternIpv4PatternIpv4Counter decrement = 6; -} - -// ipv6 counter pattern -message PatternIpv6PatternIpv6Counter { - - // Description missing in models - // default = :: - optional string start = 1; - - // Description missing in models - // default = ::1 - optional string step = 2; - - // Description missing in models - // default = 1 - optional uint32 count = 3; -} - -// TBD -message PatternIpv6PatternIpv6 { - - message Choice { - enum Enum { - unspecified = 0; - value = 2; - values = 3; - increment = 4; - decrement = 5; - } - } - // Description missing in models - // default = Choice.Enum.value - optional Choice.Enum choice = 1; - - // Description missing in models - // default = :: - optional string value = 2; - - // Description missing in models - // default = ['::'] - repeated string values = 3; - - // Description missing in models - optional PatternIpv6PatternIpv6Counter increment = 5; - - // Description missing in models - optional PatternIpv6PatternIpv6Counter decrement = 6; -} - -// mac counter pattern -message PatternMacPatternMacCounter { - - // Description missing in models - // default = 00:00:00:00:00:00 - optional string start = 1; - - // Description missing in models - // default = 00:00:00:00:00:01 - optional string step = 2; - - // Description missing in models - // default = 1 - optional uint32 count = 3; -} - -// TBD -message PatternMacPatternMac { - - message Choice { - enum Enum { - unspecified = 0; - value = 2; - values = 3; - auto = 1; - increment = 4; - decrement = 5; - } - } - // Description missing in models - // default = Choice.Enum.auto - optional Choice.Enum choice = 1; - - // Description missing in models - // default = 00:00:00:00:00:00 - optional string value = 2; - - // Description missing in models - // default = ['00:00:00:00:00:00'] - repeated string values = 3; - - // The OTG implementation can provide a system generated - // value for this property. If the OTG is unable to generate a value - // the default value must be used. - // default = 00:00:00:00:00:00 - optional string auto = 4; - - // Description missing in models - optional PatternMacPatternMacCounter increment = 6; - - // Description missing in models - optional PatternMacPatternMacCounter decrement = 7; -} - -// integer counter pattern -message PatternIntegerPatternIntegerCounter { - - // Description missing in models - // default = 0 - optional uint32 start = 1; - - // Description missing in models - // default = 1 - optional uint32 step = 2; - - // Description missing in models - // default = 1 - optional uint32 count = 3; -} - -// TBD -message PatternIntegerPatternInteger { - - message Choice { - enum Enum { - unspecified = 0; - value = 2; - values = 3; - increment = 4; - decrement = 5; - } - } - // Description missing in models - // default = Choice.Enum.value - optional Choice.Enum choice = 1; - - // Description missing in models - // default = 0 - optional uint32 value = 2; - - // Description missing in models - // default = [0] - repeated uint32 values = 3; - - // Description missing in models - optional PatternIntegerPatternIntegerCounter increment = 5; - - // Description missing in models - optional PatternIntegerPatternIntegerCounter decrement = 6; -} - -// TBD -message PatternChecksumPatternChecksum { - - message Choice { - enum Enum { - unspecified = 0; - generated = 1; - custom = 2; - } - } - // The type of checksum - // default = Choice.Enum.generated - optional Choice.Enum choice = 1; - - message Generated { - enum Enum { - unspecified = 0; - good = 1; - bad = 2; - } - } - // A system generated checksum value - // default = Generated.Enum.good - optional Generated.Enum generated = 2; - - // A custom checksum value - optional uint32 custom = 3; -} - -// Version details -message Version { - - // Version of API specification - // default = - optional string api_spec_version = 1; - - // Version of SDK generated from API specification - // default = - optional string sdk_version = 2; - - // Version of application consuming or serving the API - // default = - optional string app_version = 3; -} - -// Success warning payload similar to otg Success -message Warnings { - WarningDetails warning_details = 1; -} - -message SetConfigRequest { - PrefixConfig prefix_config = 1; -} - -message UpdateConfigurationRequest { - UpdateConfig update_config = 1; -} -message SetConfigResponse { - bytes response_bytes = 1; -} - -message UpdateConfigurationResponse { - PrefixConfig prefix_config = 1; -} - -message GetConfigResponse { - PrefixConfig prefix_config = 1; -} - - -message GetMetricsRequest { - MetricsRequest metrics_request = 1; -} -message GetMetricsResponse { - Metrics metrics = 1; -} - -message GetWarningsResponse { - WarningDetails warning_details = 1; -} - -message ClearWarningsResponse { - string string = 1; -} - - -message PostRootResponseRequest { - ApiTestInputBody api_test_input_body = 1; -} -message GetRootResponseResponse { - CommonResponseSuccess common_response_success = 1; -} - -message DummyResponseTestResponse { - string string = 1; -} - -message PostRootResponseResponse { - CommonResponseSuccess common_response_success = 1; -} - -message GetAllItemsResponse { - ServiceAbcItemList service_abc_item_list = 1; -} - -message GetSingleItemResponse { - ServiceAbcItem service_abc_item = 1; -} - -message GetSingleItemLevel2Response { - ServiceAbcItem service_abc_item = 1; -} - -message GetVersionResponse { - Version version = 1; -} - - -// Description missing in models -// -// For all RPCs defined in this service, API Server SHOULD provide JSON -// representation of `Error` message as an error string upon failure, ensuring -// name of enum constants (instead of value) for `kind` property is present -// in the representation -service Openapi { - - // Sets configuration resources. - rpc SetConfig(SetConfigRequest) returns (SetConfigResponse); - // Deprecated: please use post instead - // - // Sets configuration resources. - rpc UpdateConfiguration(UpdateConfigurationRequest) returns (UpdateConfigurationResponse); - // Gets the configuration resources. - rpc GetConfig(google.protobuf.Empty) returns (GetConfigResponse); - // Gets metrics. - rpc GetMetrics(GetMetricsRequest) returns (GetMetricsResponse); - // Gets warnings. - rpc GetWarnings(google.protobuf.Empty) returns (GetWarningsResponse); - // Clears warnings. - rpc ClearWarnings(google.protobuf.Empty) returns (ClearWarningsResponse); - // simple GET api with single return type - rpc GetRootResponse(google.protobuf.Empty) returns (GetRootResponseResponse); - // Description missing in models - rpc DummyResponseTest(google.protobuf.Empty) returns (DummyResponseTestResponse); - // simple POST api with single return type - rpc PostRootResponse(PostRootResponseRequest) returns (PostRootResponseResponse); - // return list of some items - rpc GetAllItems(google.protobuf.Empty) returns (GetAllItemsResponse); - // return single item - rpc GetSingleItem(google.protobuf.Empty) returns (GetSingleItemResponse); - // return single item - rpc GetSingleItemLevel2(google.protobuf.Empty) returns (GetSingleItemLevel2Response); - // Description missing in models - rpc GetVersion(google.protobuf.Empty) returns (GetVersionResponse); -} diff --git a/artifacts/sanity/__init__.py b/artifacts/sanity/__init__.py deleted file mode 100644 index b22cf20b..00000000 --- a/artifacts/sanity/__init__.py +++ /dev/null @@ -1,61 +0,0 @@ -from .sanity import PrefixConfig -from .sanity import EObject -from .sanity import FObject -from .sanity import GObject -from .sanity import GObjectIter -from .sanity import JObject -from .sanity import JObjectIter -from .sanity import KObject -from .sanity import LObject -from .sanity import LevelOne -from .sanity import LevelTwo -from .sanity import LevelThree -from .sanity import LevelFour -from .sanity import Mandate -from .sanity import Ipv4Pattern -from .sanity import PatternIpv4PatternIpv4 -from .sanity import PatternIpv4PatternIpv4Counter -from .sanity import Ipv6Pattern -from .sanity import PatternIpv6PatternIpv6 -from .sanity import PatternIpv6PatternIpv6Counter -from .sanity import MacPattern -from .sanity import PatternMacPatternMac -from .sanity import PatternMacPatternMacCounter -from .sanity import IntegerPattern -from .sanity import PatternIntegerPatternInteger -from .sanity import PatternIntegerPatternIntegerCounter -from .sanity import ChecksumPattern -from .sanity import PatternChecksumPatternChecksum -from .sanity import Layer1Ieee802x -from .sanity import MObject -from .sanity import PatternPrefixConfigHeaderChecksum -from .sanity import PatternPrefixConfigAutoFieldTest -from .sanity import PatternPrefixConfigAutoFieldTestCounter -from .sanity import WObject -from .sanity import WObjectIter -from .sanity import ZObject -from .sanity import ZObjectIter -from .sanity import YObject -from .sanity import ChoiceObject -from .sanity import ChoiceObjectIter -from .sanity import RequiredChoiceParent -from .sanity import RequiredChoiceIntermediate -from .sanity import RequiredChoiceIntermeLeaf -from .sanity import Error -from .sanity import UpdateConfig -from .sanity import MetricsRequest -from .sanity import Metrics -from .sanity import PortMetric -from .sanity import PortMetricIter -from .sanity import FlowMetric -from .sanity import FlowMetricIter -from .sanity import WarningDetails -from .sanity import CommonResponseSuccess -from .sanity import ApiTestInputBody -from .sanity import ServiceAbcItemList -from .sanity import ServiceAbcItem -from .sanity import ServiceAbcItemIter -from .sanity import Version -from .sanity import Api -from .sanity import Transport -from .sanity import api diff --git a/artifacts/sanity/__pycache__/__init__.cpython-310.pyc b/artifacts/sanity/__pycache__/__init__.cpython-310.pyc deleted file mode 100644 index 1fb0a629522ea3fb3670fce5fe0511fa48c85d40..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2492 zcmc)L*;XS}6b9gg0GUI8FwZk#NSJ4^5gSFpW;JLpw->DH8ZUhtUx_Q% z^2%56%75<^si3HrGW>k!>{GjnI+ay+G8qftYj+`}evSkJzww~)s|kZw_;r4Tih*LV z6etHN7-ToWP1Ga~!66EXo8e|^7Pr7H)FN($Td7qXhQkyVN8kuW#8Eg(QE?28QA`|% z;}jPs-~=VaNjOPKaSBdRO56swQJXjorztINhuf)L+yQq`hqx2&q)u@L&QM0&1$R-G zxEt=KZgCIXLp|bNxR-jxeQ+Q3iTmMx>K6~d12iBWga>I*JOmHXka!p#reX02JVGPl zQFxR_#bfXojfuzMaT*s-z!Nkfo`ff9QalAu(Uf=^o~CK>3_L?K;#qi>X2n@JOIh(8 zJV$fld3c`Y#S8EPEr=K4MOqZ+;2h<|c{opb@e;g5OX6jCnU=*X@CvPnSK(D!6|cc- zv?gAM*J)k60dLTTcoW{FP4O1IMO)%+c$>DxJMa$ehE zKlwd~XFVHyOq^?VZGJqmt!wiJ~|ja_?ODl5WQ2U#)Hz!CrYWUrInAE37^$>aLhZr@xl2* z8AYWVI*h)s=&%Hpf+e?HF}pv$Ug)*i^d7pterxW=I^ueG-M2~K=d;Rm?> zAxoVpSDOWg53b#dus4Inv2$CywIN0+f8=a3OtIF?lmitV-4W)Gj_?uH!=KJKU_p_XRX8pPI5)spqqQ zU+0}X{H@ZCY4e9Ogy#4Yz0`(<6KlSiA){h`ojrJLbqvdNA2h#ob%>*xqlKfDBg}!< zbU;Tr_|>iB90`sjM~b73BhAsy(ZSKlk>Tj#=;r9*=;i3+=;s*V7~~k@80Hw^808q_ z80VPanB=tGfZr3&Pl!Yy5&S>C)4@Lhz~+t4 diff --git a/artifacts/sanity/__pycache__/sanity.cpython-310.pyc b/artifacts/sanity/__pycache__/sanity.cpython-310.pyc deleted file mode 100644 index de240cd3b79c0a9a730db5cf94086eff90b4c209..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 151547 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

FECfNwdqG literal 0 HcmV?d00001 diff --git a/artifacts/pyapi/openapi_pb2.py b/artifacts/pyapi/openapi_pb2.py new file mode 100644 index 00000000..5f0e2e02 --- /dev/null +++ b/artifacts/pyapi/openapi_pb2.py @@ -0,0 +1,250 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: openapi.proto +"""Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\ropenapi.proto\x12\x07openapi\x1a google/protobuf/descriptor.proto\x1a\x1bgoogle/protobuf/empty.proto\"\x1e\n\x0c\x45rrorDetails\x12\x0e\n\x06\x65rrors\x18\x01 \x03(\t\"\"\n\x0eWarningDetails\x12\x10\n\x08warnings\x18\x01 \x03(\t\"\xa9\x01\n\x05\x45rror\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12+\n\x04kind\x18\x02 \x01(\x0e\x32\x18.openapi.Error.Kind.EnumH\x00\x88\x01\x01\x12\x0e\n\x06\x65rrors\x18\x03 \x03(\t\x1aL\n\x04Kind\"D\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\r\n\ttransport\x10\x01\x12\x0e\n\nvalidation\x10\x02\x12\x0c\n\x08internal\x10\x03\x42\x07\n\x05_kind\"\xa0\x13\n\x0cPrefixConfig\x12)\n\x0frequired_object\x18\x01 \x01(\x0b\x32\x10.openapi.EObject\x12.\n\x0foptional_object\x18\x02 \x01(\x0b\x32\x10.openapi.EObjectH\x00\x88\x01\x01\x12\x1a\n\rieee_802_1qbb\x18\x03 \x01(\x08H\x01\x88\x01\x01\x12\x14\n\x07space_1\x18\x04 \x01(\x05H\x02\x88\x01\x01\x12\x1f\n\x12\x66ull_duplex_100_mb\x18\x05 \x01(\x03H\x03\x88\x01\x01\x12:\n\x08response\x18\x06 \x01(\x0e\x32#.openapi.PrefixConfig.Response.EnumH\x04\x88\x01\x01\x12\t\n\x01\x61\x18\x07 \x01(\t\x12\t\n\x01\x62\x18\x08 \x01(\x02\x12\t\n\x01\x63\x18\t \x01(\x05\x12\x34\n\x08\x64_values\x18\n \x03(\x0e\x32\".openapi.PrefixConfig.DValues.Enum\x12 \n\x01\x65\x18\x0b \x01(\x0b\x32\x10.openapi.EObjectH\x05\x88\x01\x01\x12 \n\x01\x66\x18\x0c \x01(\x0b\x32\x10.openapi.FObjectH\x06\x88\x01\x01\x12\x1b\n\x01g\x18\r \x03(\x0b\x32\x10.openapi.GObject\x12\x0e\n\x01h\x18\x0e \x01(\x08H\x07\x88\x01\x01\x12\x0e\n\x01i\x18\x0f \x01(\x0cH\x08\x88\x01\x01\x12\x1b\n\x01j\x18\x10 \x03(\x0b\x32\x10.openapi.JObject\x12 \n\x01k\x18\x11 \x01(\x0b\x32\x10.openapi.KObjectH\t\x88\x01\x01\x12 \n\x01l\x18\x12 \x01(\x0b\x32\x10.openapi.LObjectH\n\x88\x01\x01\x12\x1d\n\x15list_of_string_values\x18\x13 \x03(\t\x12\x1e\n\x16list_of_integer_values\x18\x14 \x03(\x05\x12%\n\x05level\x18\x15 \x01(\x0b\x32\x11.openapi.LevelOneH\x0b\x88\x01\x01\x12(\n\tmandatory\x18\x16 \x01(\x0b\x32\x10.openapi.MandateH\x0c\x88\x01\x01\x12/\n\x0cipv4_pattern\x18\x17 \x01(\x0b\x32\x14.openapi.Ipv4PatternH\r\x88\x01\x01\x12/\n\x0cipv6_pattern\x18\x18 \x01(\x0b\x32\x14.openapi.Ipv6PatternH\x0e\x88\x01\x01\x12-\n\x0bmac_pattern\x18\x19 \x01(\x0b\x32\x13.openapi.MacPatternH\x0f\x88\x01\x01\x12\x35\n\x0finteger_pattern\x18\x1a \x01(\x0b\x32\x17.openapi.IntegerPatternH\x10\x88\x01\x01\x12\x37\n\x10\x63hecksum_pattern\x18\x1b \x01(\x0b\x32\x18.openapi.ChecksumPatternH\x11\x88\x01\x01\x12*\n\x04\x63\x61se\x18\x1c \x01(\x0b\x32\x17.openapi.Layer1Ieee802xH\x12\x88\x01\x01\x12\'\n\x08m_object\x18\x1d \x01(\x0b\x32\x10.openapi.MObjectH\x13\x88\x01\x01\x12\x16\n\tinteger64\x18\x1e \x01(\x03H\x14\x88\x01\x01\x12\x16\n\x0einteger64_list\x18\x1f \x03(\x03\x12H\n\x0fheader_checksum\x18 \x01(\x0b\x32*.openapi.PatternPrefixConfigHeaderChecksumH\x15\x88\x01\x01\x12\x14\n\x07str_len\x18! \x01(\tH\x16\x88\x01\x01\x12\x11\n\thex_slice\x18\" \x03(\t\x12G\n\x0f\x61uto_field_test\x18# \x01(\x0b\x32).openapi.PatternPrefixConfigAutoFieldTestH\x17\x88\x01\x01\x12\x11\n\x04name\x18$ \x01(\tH\x18\x88\x01\x01\x12 \n\x06w_list\x18% \x03(\x0b\x32\x10.openapi.WObject\x12 \n\x06x_list\x18& \x03(\x0b\x32\x10.openapi.ZObject\x12\'\n\x08z_object\x18\' \x01(\x0b\x32\x10.openapi.ZObjectH\x19\x88\x01\x01\x12\'\n\x08y_object\x18( \x01(\x0b\x32\x10.openapi.YObjectH\x1a\x88\x01\x01\x12,\n\rchoice_object\x18) \x03(\x0b\x32\x15.openapi.ChoiceObject\x12\x42\n\x16required_choice_object\x18* \x01(\x0b\x32\x1d.openapi.RequiredChoiceParentH\x1b\x88\x01\x01\x12\x1c\n\x02g1\x18+ \x03(\x0b\x32\x10.openapi.GObject\x12\x1c\n\x02g2\x18, \x03(\x0b\x32\x10.openapi.GObject\x12\x18\n\x0bint32_param\x18- \x01(\x05H\x1c\x88\x01\x01\x12\x18\n\x10int32_list_param\x18. \x03(\x05\x12\x19\n\x0cuint32_param\x18/ \x01(\rH\x1d\x88\x01\x01\x12\x19\n\x11uint32_list_param\x18\x30 \x03(\r\x12\x19\n\x0cuint64_param\x18\x31 \x01(\x04H\x1e\x88\x01\x01\x12\x19\n\x11uint64_list_param\x18\x32 \x03(\x04\x12\x1d\n\x10\x61uto_int32_param\x18\x33 \x01(\x05H\x1f\x88\x01\x01\x12\x1d\n\x15\x61uto_int32_list_param\x18\x34 \x03(\x05\x1a\x63\n\x08Response\"W\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x0e\n\nstatus_200\x10\x01\x12\x0e\n\nstatus_400\x10\x02\x12\x0e\n\nstatus_404\x10\x03\x12\x0e\n\nstatus_500\x10\x04\x1a\x37\n\x07\x44Values\",\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x05\n\x01\x61\x10\x01\x12\x05\n\x01\x62\x10\x02\x12\x05\n\x01\x63\x10\x03\x42\x12\n\x10_optional_objectB\x10\n\x0e_ieee_802_1qbbB\n\n\x08_space_1B\x15\n\x13_full_duplex_100_mbB\x0b\n\t_responseB\x04\n\x02_eB\x04\n\x02_fB\x04\n\x02_hB\x04\n\x02_iB\x04\n\x02_kB\x04\n\x02_lB\x08\n\x06_levelB\x0c\n\n_mandatoryB\x0f\n\r_ipv4_patternB\x0f\n\r_ipv6_patternB\x0e\n\x0c_mac_patternB\x12\n\x10_integer_patternB\x13\n\x11_checksum_patternB\x07\n\x05_caseB\x0b\n\t_m_objectB\x0c\n\n_integer64B\x12\n\x10_header_checksumB\n\n\x08_str_lenB\x12\n\x10_auto_field_testB\x07\n\x05_nameB\x0b\n\t_z_objectB\x0b\n\t_y_objectB\x19\n\x17_required_choice_objectB\x0e\n\x0c_int32_paramB\x0f\n\r_uint32_paramB\x0f\n\r_uint64_paramB\x13\n\x11_auto_int32_param\"\x19\n\x07WObject\x12\x0e\n\x06w_name\x18\x01 \x01(\t\"\x17\n\x07ZObject\x12\x0c\n\x04name\x18\x01 \x01(\t\")\n\x07YObject\x12\x13\n\x06y_name\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_y_name\"<\n\x0eLayer1Ieee802x\x12\x19\n\x0c\x66low_control\x18\x01 \x01(\x08H\x00\x88\x01\x01\x42\x0f\n\r_flow_control\"\x82\x03\n\x07GObject\x12\x10\n\x03g_a\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x10\n\x03g_b\x18\x02 \x01(\x05H\x01\x88\x01\x01\x12\x10\n\x03g_c\x18\x03 \x01(\x02H\x02\x88\x01\x01\x12\x31\n\x06\x63hoice\x18\x04 \x01(\x0e\x32\x1c.openapi.GObject.Choice.EnumH\x03\x88\x01\x01\x12\x10\n\x03g_d\x18\x05 \x01(\tH\x04\x88\x01\x01\x12\x10\n\x03g_e\x18\x06 \x01(\x01H\x05\x88\x01\x01\x12*\n\x03g_f\x18\x07 \x01(\x0e\x32\x18.openapi.GObject.GF.EnumH\x06\x88\x01\x01\x12\x11\n\x04name\x18\x08 \x01(\tH\x07\x88\x01\x01\x1a\x33\n\x06\x43hoice\")\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x07\n\x03g_d\x10\x01\x12\x07\n\x03g_e\x10\x02\x1a\x32\n\x02GF\",\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x05\n\x01\x61\x10\x01\x12\x05\n\x01\x62\x10\x02\x12\x05\n\x01\x63\x10\x03\x42\x06\n\x04_g_aB\x06\n\x04_g_bB\x06\n\x04_g_cB\t\n\x07_choiceB\x06\n\x04_g_dB\x06\n\x04_g_eB\x06\n\x04_g_fB\x07\n\x05_name\"\x87\x01\n\x07\x45Object\x12\x0b\n\x03\x65_a\x18\x01 \x01(\x02\x12\x0b\n\x03\x65_b\x18\x02 \x01(\x01\x12\x11\n\x04name\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x15\n\x08m_param1\x18\x04 \x01(\tH\x01\x88\x01\x01\x12\x15\n\x08m_param2\x18\x05 \x01(\tH\x02\x88\x01\x01\x42\x07\n\x05_nameB\x0b\n\t_m_param1B\x0b\n\t_m_param2\"\xb9\x01\n\x07\x46Object\x12\x31\n\x06\x63hoice\x18\x01 \x01(\x0e\x32\x1c.openapi.FObject.Choice.EnumH\x00\x88\x01\x01\x12\x10\n\x03\x66_a\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x10\n\x03\x66_b\x18\x03 \x01(\x01H\x02\x88\x01\x01\x1a<\n\x06\x43hoice\"2\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x07\n\x03\x66_a\x10\x01\x12\x07\n\x03\x66_b\x10\x02\x12\x07\n\x03\x66_c\x10\x03\x42\t\n\x07_choiceB\x06\n\x04_f_aB\x06\n\x04_f_b\"\xd4\x01\n\x07JObject\x12\x31\n\x06\x63hoice\x18\x01 \x01(\x0e\x32\x1c.openapi.JObject.Choice.EnumH\x00\x88\x01\x01\x12\"\n\x03j_a\x18\x02 \x01(\x0b\x32\x10.openapi.EObjectH\x01\x88\x01\x01\x12\"\n\x03j_b\x18\x03 \x01(\x0b\x32\x10.openapi.FObjectH\x02\x88\x01\x01\x1a\x33\n\x06\x43hoice\")\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x07\n\x03j_a\x10\x01\x12\x07\n\x03j_b\x10\x02\x42\t\n\x07_choiceB\x06\n\x04_j_aB\x06\n\x04_j_b\"\xf6\x01\n\x0c\x43hoiceObject\x12\x36\n\x06\x63hoice\x18\x01 \x01(\x0e\x32!.openapi.ChoiceObject.Choice.EnumH\x00\x88\x01\x01\x12$\n\x05\x65_obj\x18\x02 \x01(\x0b\x32\x10.openapi.EObjectH\x01\x88\x01\x01\x12$\n\x05\x66_obj\x18\x03 \x01(\x0b\x32\x10.openapi.FObjectH\x02\x88\x01\x01\x1a\x43\n\x06\x43hoice\"9\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\t\n\x05\x65_obj\x10\x01\x12\t\n\x05\x66_obj\x10\x02\x12\n\n\x06no_obj\x10\x03\x42\t\n\x07_choiceB\x08\n\x06_e_objB\x08\n\x06_f_obj\"u\n\x07KObject\x12\'\n\x08\x65_object\x18\x01 \x01(\x0b\x32\x10.openapi.EObjectH\x00\x88\x01\x01\x12\'\n\x08\x66_object\x18\x02 \x01(\x0b\x32\x10.openapi.FObjectH\x01\x88\x01\x01\x42\x0b\n\t_e_objectB\x0b\n\t_f_object\"\x81\x02\n\x07LObject\x12\x19\n\x0cstring_param\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x07integer\x18\x02 \x01(\x05H\x01\x88\x01\x01\x12\x12\n\x05\x66loat\x18\x03 \x01(\x02H\x02\x88\x01\x01\x12\x13\n\x06\x64ouble\x18\x04 \x01(\x01H\x03\x88\x01\x01\x12\x10\n\x03mac\x18\x05 \x01(\tH\x04\x88\x01\x01\x12\x11\n\x04ipv4\x18\x06 \x01(\tH\x05\x88\x01\x01\x12\x11\n\x04ipv6\x18\x07 \x01(\tH\x06\x88\x01\x01\x12\x10\n\x03hex\x18\x08 \x01(\tH\x07\x88\x01\x01\x42\x0f\n\r_string_paramB\n\n\x08_integerB\x08\n\x06_floatB\t\n\x07_doubleB\x06\n\x04_macB\x07\n\x05_ipv4B\x07\n\x05_ipv6B\x06\n\x04_hex\"\x85\x01\n\x07MObject\x12\x14\n\x0cstring_param\x18\x01 \x01(\t\x12\x0f\n\x07integer\x18\x02 \x01(\x05\x12\r\n\x05\x66loat\x18\x03 \x01(\x02\x12\x0e\n\x06\x64ouble\x18\x04 \x01(\x01\x12\x0b\n\x03mac\x18\x05 \x01(\t\x12\x0c\n\x04ipv4\x18\x06 \x01(\t\x12\x0c\n\x04ipv6\x18\x07 \x01(\t\x12\x0b\n\x03hex\x18\x08 \x01(\t\"!\n\x07Mandate\x12\x16\n\x0erequired_param\x18\x01 \x01(\t\"+\n\x0cUpdateConfig\x12\x1b\n\x01g\x18\x01 \x03(\x0b\x32\x10.openapi.GObject\"\xc4\x01\n\x0eMetricsRequest\x12\x38\n\x06\x63hoice\x18\x01 \x01(\x0e\x32#.openapi.MetricsRequest.Choice.EnumH\x00\x88\x01\x01\x12\x11\n\x04port\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04\x66low\x18\x03 \x01(\tH\x02\x88\x01\x01\x1a\x35\n\x06\x43hoice\"+\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x08\n\x04port\x10\x01\x12\x08\n\x04\x66low\x10\x02\x42\t\n\x07_choiceB\x07\n\x05_portB\x07\n\x05_flow\"\xc8\x01\n\x07Metrics\x12\x31\n\x06\x63hoice\x18\x01 \x01(\x0e\x32\x1c.openapi.Metrics.Choice.EnumH\x00\x88\x01\x01\x12\"\n\x05ports\x18\x02 \x03(\x0b\x32\x13.openapi.PortMetric\x12\"\n\x05\x66lows\x18\x03 \x03(\x0b\x32\x13.openapi.FlowMetric\x1a\x37\n\x06\x43hoice\"-\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\t\n\x05ports\x10\x01\x12\t\n\x05\x66lows\x10\x02\x42\t\n\x07_choice\"@\n\nPortMetric\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\ttx_frames\x18\x02 \x01(\x01\x12\x11\n\trx_frames\x18\x03 \x01(\x01\"@\n\nFlowMetric\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\ttx_frames\x18\x02 \x01(\x01\x12\x11\n\trx_frames\x18\x03 \x01(\x01\"\xef\x01\n\x14RequiredChoiceParent\x12\x39\n\x06\x63hoice\x18\x01 \x01(\x0e\x32).openapi.RequiredChoiceParent.Choice.Enum\x12\x42\n\x10intermediate_obj\x18\x02 \x01(\x0b\x32#.openapi.RequiredChoiceIntermediateH\x00\x88\x01\x01\x1a\x43\n\x06\x43hoice\"9\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x14\n\x10intermediate_obj\x10\x01\x12\n\n\x06no_obj\x10\x02\x42\x13\n\x11_intermediate_obj\"\xed\x01\n\x1aRequiredChoiceIntermediate\x12?\n\x06\x63hoice\x18\x01 \x01(\x0e\x32/.openapi.RequiredChoiceIntermediate.Choice.Enum\x12\x10\n\x03\x66_a\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x35\n\x04leaf\x18\x03 \x01(\x0b\x32\".openapi.RequiredChoiceIntermeLeafH\x01\x88\x01\x01\x1a\x34\n\x06\x43hoice\"*\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x07\n\x03\x66_a\x10\x01\x12\x08\n\x04leaf\x10\x02\x42\x06\n\x04_f_aB\x07\n\x05_leaf\"7\n\x19RequiredChoiceIntermeLeaf\x12\x11\n\x04name\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x07\n\x05_name\"m\n\x08LevelOne\x12%\n\x05l1_p1\x18\x01 \x01(\x0b\x32\x11.openapi.LevelTwoH\x00\x88\x01\x01\x12&\n\x05l1_p2\x18\x02 \x01(\x0b\x32\x12.openapi.LevelFourH\x01\x88\x01\x01\x42\x08\n\x06_l1_p1B\x08\n\x06_l1_p2\"=\n\x08LevelTwo\x12\'\n\x05l2_p1\x18\x01 \x01(\x0b\x32\x13.openapi.LevelThreeH\x00\x88\x01\x01\x42\x08\n\x06_l2_p1\"*\n\nLevelThree\x12\x12\n\x05l3_p1\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_l3_p1\"<\n\tLevelFour\x12%\n\x05l4_p1\x18\x01 \x01(\x0b\x32\x11.openapi.LevelOneH\x00\x88\x01\x01\x42\x08\n\x06_l4_p1\"J\n\x0bIpv4Pattern\x12\x32\n\x04ipv4\x18\x01 \x01(\x0b\x32\x1f.openapi.PatternIpv4PatternIpv4H\x00\x88\x01\x01\x42\x07\n\x05_ipv4\"J\n\x0bIpv6Pattern\x12\x32\n\x04ipv6\x18\x01 \x01(\x0b\x32\x1f.openapi.PatternIpv6PatternIpv6H\x00\x88\x01\x01\x42\x07\n\x05_ipv6\"E\n\nMacPattern\x12/\n\x03mac\x18\x01 \x01(\x0b\x32\x1d.openapi.PatternMacPatternMacH\x00\x88\x01\x01\x42\x06\n\x04_mac\"Y\n\x0eIntegerPattern\x12;\n\x07integer\x18\x01 \x01(\x0b\x32%.openapi.PatternIntegerPatternIntegerH\x00\x88\x01\x01\x42\n\n\x08_integer\"^\n\x0f\x43hecksumPattern\x12>\n\x08\x63hecksum\x18\x01 \x01(\x0b\x32\'.openapi.PatternChecksumPatternChecksumH\x00\x88\x01\x01\x42\x0b\n\t_checksum\"9\n\x15\x43ommonResponseSuccess\x12\x14\n\x07message\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\n\n\x08_message\"<\n\x10\x41piTestInputBody\x12\x18\n\x0bsome_string\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_some_string\"\xa0\x01\n\x0eServiceAbcItem\x12\x14\n\x07some_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0bsome_string\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x14\n\x07path_id\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x14\n\x07level_2\x18\x04 \x01(\tH\x03\x88\x01\x01\x42\n\n\x08_some_idB\x0e\n\x0c_some_stringB\n\n\x08_path_idB\n\n\x08_level_2\"<\n\x12ServiceAbcItemList\x12&\n\x05items\x18\x01 \x03(\x0b\x32\x17.openapi.ServiceAbcItem\"\xf3\x02\n!PatternPrefixConfigHeaderChecksum\x12K\n\x06\x63hoice\x18\x01 \x01(\x0e\x32\x36.openapi.PatternPrefixConfigHeaderChecksum.Choice.EnumH\x00\x88\x01\x01\x12Q\n\tgenerated\x18\x02 \x01(\x0e\x32\x39.openapi.PatternPrefixConfigHeaderChecksum.Generated.EnumH\x01\x88\x01\x01\x12\x13\n\x06\x63ustom\x18\x03 \x01(\rH\x02\x88\x01\x01\x1a<\n\x06\x43hoice\"2\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\r\n\tgenerated\x10\x01\x12\n\n\x06\x63ustom\x10\x02\x1a\x37\n\tGenerated\"*\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x08\n\x04good\x10\x01\x12\x07\n\x03\x62\x61\x64\x10\x02\x42\t\n\x07_choiceB\x0c\n\n_generatedB\t\n\x07_custom\"\x81\x01\n\'PatternPrefixConfigAutoFieldTestCounter\x12\x12\n\x05start\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x11\n\x04step\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\x08\n\x06_startB\x07\n\x05_stepB\x08\n\x06_count\"\xd5\x03\n PatternPrefixConfigAutoFieldTest\x12J\n\x06\x63hoice\x18\x01 \x01(\x0e\x32\x35.openapi.PatternPrefixConfigAutoFieldTest.Choice.EnumH\x00\x88\x01\x01\x12\x12\n\x05value\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x0e\n\x06values\x18\x03 \x03(\r\x12\x11\n\x04\x61uto\x18\x04 \x01(\rH\x02\x88\x01\x01\x12H\n\tincrement\x18\x06 \x01(\x0b\x32\x30.openapi.PatternPrefixConfigAutoFieldTestCounterH\x03\x88\x01\x01\x12H\n\tdecrement\x18\x07 \x01(\x0b\x32\x30.openapi.PatternPrefixConfigAutoFieldTestCounterH\x04\x88\x01\x01\x1a`\n\x06\x43hoice\"V\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\t\n\x05value\x10\x02\x12\n\n\x06values\x10\x03\x12\x08\n\x04\x61uto\x10\x01\x12\r\n\tincrement\x10\x04\x12\r\n\tdecrement\x10\x05\x42\t\n\x07_choiceB\x08\n\x06_valueB\x07\n\x05_autoB\x0c\n\n_incrementB\x0c\n\n_decrement\"w\n\x1dPatternIpv4PatternIpv4Counter\x12\x12\n\x05start\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04step\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\x08\n\x06_startB\x07\n\x05_stepB\x08\n\x06_count\"\x87\x03\n\x16PatternIpv4PatternIpv4\x12@\n\x06\x63hoice\x18\x01 \x01(\x0e\x32+.openapi.PatternIpv4PatternIpv4.Choice.EnumH\x00\x88\x01\x01\x12\x12\n\x05value\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x0e\n\x06values\x18\x03 \x03(\t\x12>\n\tincrement\x18\x05 \x01(\x0b\x32&.openapi.PatternIpv4PatternIpv4CounterH\x02\x88\x01\x01\x12>\n\tdecrement\x18\x06 \x01(\x0b\x32&.openapi.PatternIpv4PatternIpv4CounterH\x03\x88\x01\x01\x1aV\n\x06\x43hoice\"L\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\t\n\x05value\x10\x02\x12\n\n\x06values\x10\x03\x12\r\n\tincrement\x10\x04\x12\r\n\tdecrement\x10\x05\x42\t\n\x07_choiceB\x08\n\x06_valueB\x0c\n\n_incrementB\x0c\n\n_decrement\"w\n\x1dPatternIpv6PatternIpv6Counter\x12\x12\n\x05start\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04step\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\x08\n\x06_startB\x07\n\x05_stepB\x08\n\x06_count\"\x87\x03\n\x16PatternIpv6PatternIpv6\x12@\n\x06\x63hoice\x18\x01 \x01(\x0e\x32+.openapi.PatternIpv6PatternIpv6.Choice.EnumH\x00\x88\x01\x01\x12\x12\n\x05value\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x0e\n\x06values\x18\x03 \x03(\t\x12>\n\tincrement\x18\x05 \x01(\x0b\x32&.openapi.PatternIpv6PatternIpv6CounterH\x02\x88\x01\x01\x12>\n\tdecrement\x18\x06 \x01(\x0b\x32&.openapi.PatternIpv6PatternIpv6CounterH\x03\x88\x01\x01\x1aV\n\x06\x43hoice\"L\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\t\n\x05value\x10\x02\x12\n\n\x06values\x10\x03\x12\r\n\tincrement\x10\x04\x12\r\n\tdecrement\x10\x05\x42\t\n\x07_choiceB\x08\n\x06_valueB\x0c\n\n_incrementB\x0c\n\n_decrement\"u\n\x1bPatternMacPatternMacCounter\x12\x12\n\x05start\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04step\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\x08\n\x06_startB\x07\n\x05_stepB\x08\n\x06_count\"\xa5\x03\n\x14PatternMacPatternMac\x12>\n\x06\x63hoice\x18\x01 \x01(\x0e\x32).openapi.PatternMacPatternMac.Choice.EnumH\x00\x88\x01\x01\x12\x12\n\x05value\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x0e\n\x06values\x18\x03 \x03(\t\x12\x11\n\x04\x61uto\x18\x04 \x01(\tH\x02\x88\x01\x01\x12<\n\tincrement\x18\x06 \x01(\x0b\x32$.openapi.PatternMacPatternMacCounterH\x03\x88\x01\x01\x12<\n\tdecrement\x18\x07 \x01(\x0b\x32$.openapi.PatternMacPatternMacCounterH\x04\x88\x01\x01\x1a`\n\x06\x43hoice\"V\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\t\n\x05value\x10\x02\x12\n\n\x06values\x10\x03\x12\x08\n\x04\x61uto\x10\x01\x12\r\n\tincrement\x10\x04\x12\r\n\tdecrement\x10\x05\x42\t\n\x07_choiceB\x08\n\x06_valueB\x07\n\x05_autoB\x0c\n\n_incrementB\x0c\n\n_decrement\"}\n#PatternIntegerPatternIntegerCounter\x12\x12\n\x05start\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x11\n\x04step\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\x08\n\x06_startB\x07\n\x05_stepB\x08\n\x06_count\"\x9f\x03\n\x1cPatternIntegerPatternInteger\x12\x46\n\x06\x63hoice\x18\x01 \x01(\x0e\x32\x31.openapi.PatternIntegerPatternInteger.Choice.EnumH\x00\x88\x01\x01\x12\x12\n\x05value\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x0e\n\x06values\x18\x03 \x03(\r\x12\x44\n\tincrement\x18\x05 \x01(\x0b\x32,.openapi.PatternIntegerPatternIntegerCounterH\x02\x88\x01\x01\x12\x44\n\tdecrement\x18\x06 \x01(\x0b\x32,.openapi.PatternIntegerPatternIntegerCounterH\x03\x88\x01\x01\x1aV\n\x06\x43hoice\"L\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\t\n\x05value\x10\x02\x12\n\n\x06values\x10\x03\x12\r\n\tincrement\x10\x04\x12\r\n\tdecrement\x10\x05\x42\t\n\x07_choiceB\x08\n\x06_valueB\x0c\n\n_incrementB\x0c\n\n_decrement\"\xea\x02\n\x1ePatternChecksumPatternChecksum\x12H\n\x06\x63hoice\x18\x01 \x01(\x0e\x32\x33.openapi.PatternChecksumPatternChecksum.Choice.EnumH\x00\x88\x01\x01\x12N\n\tgenerated\x18\x02 \x01(\x0e\x32\x36.openapi.PatternChecksumPatternChecksum.Generated.EnumH\x01\x88\x01\x01\x12\x13\n\x06\x63ustom\x18\x03 \x01(\rH\x02\x88\x01\x01\x1a<\n\x06\x43hoice\"2\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\r\n\tgenerated\x10\x01\x12\n\n\x06\x63ustom\x10\x02\x1a\x37\n\tGenerated\"*\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x08\n\x04good\x10\x01\x12\x07\n\x03\x62\x61\x64\x10\x02\x42\t\n\x07_choiceB\x0c\n\n_generatedB\t\n\x07_custom\"\x91\x01\n\x07Version\x12\x1d\n\x10\x61pi_spec_version\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0bsdk_version\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0b\x61pp_version\x18\x03 \x01(\tH\x02\x88\x01\x01\x42\x13\n\x11_api_spec_versionB\x0e\n\x0c_sdk_versionB\x0e\n\x0c_app_version\"<\n\x08Warnings\x12\x30\n\x0fwarning_details\x18\x01 \x01(\x0b\x32\x17.openapi.WarningDetails\"@\n\x10SetConfigRequest\x12,\n\rprefix_config\x18\x01 \x01(\x0b\x32\x15.openapi.PrefixConfig\"J\n\x1aUpdateConfigurationRequest\x12,\n\rupdate_config\x18\x01 \x01(\x0b\x32\x15.openapi.UpdateConfig\"+\n\x11SetConfigResponse\x12\x16\n\x0eresponse_bytes\x18\x01 \x01(\x0c\"K\n\x1bUpdateConfigurationResponse\x12,\n\rprefix_config\x18\x01 \x01(\x0b\x32\x15.openapi.PrefixConfig\"A\n\x11GetConfigResponse\x12,\n\rprefix_config\x18\x01 \x01(\x0b\x32\x15.openapi.PrefixConfig\"E\n\x11GetMetricsRequest\x12\x30\n\x0fmetrics_request\x18\x01 \x01(\x0b\x32\x17.openapi.MetricsRequest\"7\n\x12GetMetricsResponse\x12!\n\x07metrics\x18\x01 \x01(\x0b\x32\x10.openapi.Metrics\"G\n\x13GetWarningsResponse\x12\x30\n\x0fwarning_details\x18\x01 \x01(\x0b\x32\x17.openapi.WarningDetails\"\'\n\x15\x43learWarningsResponse\x12\x0e\n\x06string\x18\x01 \x01(\t\"Q\n\x17PostRootResponseRequest\x12\x36\n\x13\x61pi_test_input_body\x18\x01 \x01(\x0b\x32\x19.openapi.ApiTestInputBody\"Z\n\x17GetRootResponseResponse\x12?\n\x17\x63ommon_response_success\x18\x01 \x01(\x0b\x32\x1e.openapi.CommonResponseSuccess\"+\n\x19\x44ummyResponseTestResponse\x12\x0e\n\x06string\x18\x01 \x01(\t\"[\n\x18PostRootResponseResponse\x12?\n\x17\x63ommon_response_success\x18\x01 \x01(\x0b\x32\x1e.openapi.CommonResponseSuccess\"Q\n\x13GetAllItemsResponse\x12:\n\x15service_abc_item_list\x18\x01 \x01(\x0b\x32\x1b.openapi.ServiceAbcItemList\"J\n\x15GetSingleItemResponse\x12\x31\n\x10service_abc_item\x18\x01 \x01(\x0b\x32\x17.openapi.ServiceAbcItem\"P\n\x1bGetSingleItemLevel2Response\x12\x31\n\x10service_abc_item\x18\x01 \x01(\x0b\x32\x17.openapi.ServiceAbcItem\"7\n\x12GetVersionResponse\x12!\n\x07version\x18\x01 \x01(\x0b\x32\x10.openapi.Version2\xe2\x07\n\x07Openapi\x12\x42\n\tSetConfig\x12\x19.openapi.SetConfigRequest\x1a\x1a.openapi.SetConfigResponse\x12`\n\x13UpdateConfiguration\x12#.openapi.UpdateConfigurationRequest\x1a$.openapi.UpdateConfigurationResponse\x12?\n\tGetConfig\x12\x16.google.protobuf.Empty\x1a\x1a.openapi.GetConfigResponse\x12\x45\n\nGetMetrics\x12\x1a.openapi.GetMetricsRequest\x1a\x1b.openapi.GetMetricsResponse\x12\x43\n\x0bGetWarnings\x12\x16.google.protobuf.Empty\x1a\x1c.openapi.GetWarningsResponse\x12G\n\rClearWarnings\x12\x16.google.protobuf.Empty\x1a\x1e.openapi.ClearWarningsResponse\x12K\n\x0fGetRootResponse\x12\x16.google.protobuf.Empty\x1a .openapi.GetRootResponseResponse\x12O\n\x11\x44ummyResponseTest\x12\x16.google.protobuf.Empty\x1a\".openapi.DummyResponseTestResponse\x12W\n\x10PostRootResponse\x12 .openapi.PostRootResponseRequest\x1a!.openapi.PostRootResponseResponse\x12\x43\n\x0bGetAllItems\x12\x16.google.protobuf.Empty\x1a\x1c.openapi.GetAllItemsResponse\x12G\n\rGetSingleItem\x12\x16.google.protobuf.Empty\x1a\x1e.openapi.GetSingleItemResponse\x12S\n\x13GetSingleItemLevel2\x12\x16.google.protobuf.Empty\x1a$.openapi.GetSingleItemLevel2Response\x12\x41\n\nGetVersion\x12\x16.google.protobuf.Empty\x1a\x1b.openapi.GetVersionResponseB\x13Z\x11./openapi;openapib\x06proto3') + +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'openapi_pb2', globals()) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'Z\021./openapi;openapi' + _ERRORDETAILS._serialized_start=89 + _ERRORDETAILS._serialized_end=119 + _WARNINGDETAILS._serialized_start=121 + _WARNINGDETAILS._serialized_end=155 + _ERROR._serialized_start=158 + _ERROR._serialized_end=327 + _ERROR_KIND._serialized_start=242 + _ERROR_KIND._serialized_end=318 + _ERROR_KIND_ENUM._serialized_start=250 + _ERROR_KIND_ENUM._serialized_end=318 + _PREFIXCONFIG._serialized_start=330 + _PREFIXCONFIG._serialized_end=2794 + _PREFIXCONFIG_RESPONSE._serialized_start=2180 + _PREFIXCONFIG_RESPONSE._serialized_end=2279 + _PREFIXCONFIG_RESPONSE_ENUM._serialized_start=2192 + _PREFIXCONFIG_RESPONSE_ENUM._serialized_end=2279 + _PREFIXCONFIG_DVALUES._serialized_start=2281 + _PREFIXCONFIG_DVALUES._serialized_end=2336 + _PREFIXCONFIG_DVALUES_ENUM._serialized_start=2292 + _PREFIXCONFIG_DVALUES_ENUM._serialized_end=2336 + _WOBJECT._serialized_start=2796 + _WOBJECT._serialized_end=2821 + _ZOBJECT._serialized_start=2823 + _ZOBJECT._serialized_end=2846 + _YOBJECT._serialized_start=2848 + _YOBJECT._serialized_end=2889 + _LAYER1IEEE802X._serialized_start=2891 + _LAYER1IEEE802X._serialized_end=2951 + _GOBJECT._serialized_start=2954 + _GOBJECT._serialized_end=3340 + _GOBJECT_CHOICE._serialized_start=3169 + _GOBJECT_CHOICE._serialized_end=3220 + _GOBJECT_CHOICE_ENUM._serialized_start=3179 + _GOBJECT_CHOICE_ENUM._serialized_end=3220 + _GOBJECT_GF._serialized_start=3222 + _GOBJECT_GF._serialized_end=3272 + _GOBJECT_GF_ENUM._serialized_start=2292 + _GOBJECT_GF_ENUM._serialized_end=2336 + _EOBJECT._serialized_start=3343 + _EOBJECT._serialized_end=3478 + _FOBJECT._serialized_start=3481 + _FOBJECT._serialized_end=3666 + _FOBJECT_CHOICE._serialized_start=3579 + _FOBJECT_CHOICE._serialized_end=3639 + _FOBJECT_CHOICE_ENUM._serialized_start=3589 + _FOBJECT_CHOICE_ENUM._serialized_end=3639 + _JOBJECT._serialized_start=3669 + _JOBJECT._serialized_end=3881 + _JOBJECT_CHOICE._serialized_start=3803 + _JOBJECT_CHOICE._serialized_end=3854 + _JOBJECT_CHOICE_ENUM._serialized_start=3813 + _JOBJECT_CHOICE_ENUM._serialized_end=3854 + _CHOICEOBJECT._serialized_start=3884 + _CHOICEOBJECT._serialized_end=4130 + _CHOICEOBJECT_CHOICE._serialized_start=4032 + _CHOICEOBJECT_CHOICE._serialized_end=4099 + _CHOICEOBJECT_CHOICE_ENUM._serialized_start=4042 + _CHOICEOBJECT_CHOICE_ENUM._serialized_end=4099 + _KOBJECT._serialized_start=4132 + _KOBJECT._serialized_end=4249 + _LOBJECT._serialized_start=4252 + _LOBJECT._serialized_end=4509 + _MOBJECT._serialized_start=4512 + _MOBJECT._serialized_end=4645 + _MANDATE._serialized_start=4647 + _MANDATE._serialized_end=4680 + _UPDATECONFIG._serialized_start=4682 + _UPDATECONFIG._serialized_end=4725 + _METRICSREQUEST._serialized_start=4728 + _METRICSREQUEST._serialized_end=4924 + _METRICSREQUEST_CHOICE._serialized_start=4842 + _METRICSREQUEST_CHOICE._serialized_end=4895 + _METRICSREQUEST_CHOICE_ENUM._serialized_start=4852 + _METRICSREQUEST_CHOICE_ENUM._serialized_end=4895 + _METRICS._serialized_start=4927 + _METRICS._serialized_end=5127 + _METRICS_CHOICE._serialized_start=5061 + _METRICS_CHOICE._serialized_end=5116 + _METRICS_CHOICE_ENUM._serialized_start=5071 + _METRICS_CHOICE_ENUM._serialized_end=5116 + _PORTMETRIC._serialized_start=5129 + _PORTMETRIC._serialized_end=5193 + _FLOWMETRIC._serialized_start=5195 + _FLOWMETRIC._serialized_end=5259 + _REQUIREDCHOICEPARENT._serialized_start=5262 + _REQUIREDCHOICEPARENT._serialized_end=5501 + _REQUIREDCHOICEPARENT_CHOICE._serialized_start=5413 + _REQUIREDCHOICEPARENT_CHOICE._serialized_end=5480 + _REQUIREDCHOICEPARENT_CHOICE_ENUM._serialized_start=5423 + _REQUIREDCHOICEPARENT_CHOICE_ENUM._serialized_end=5480 + _REQUIREDCHOICEINTERMEDIATE._serialized_start=5504 + _REQUIREDCHOICEINTERMEDIATE._serialized_end=5741 + _REQUIREDCHOICEINTERMEDIATE_CHOICE._serialized_start=5672 + _REQUIREDCHOICEINTERMEDIATE_CHOICE._serialized_end=5724 + _REQUIREDCHOICEINTERMEDIATE_CHOICE_ENUM._serialized_start=5682 + _REQUIREDCHOICEINTERMEDIATE_CHOICE_ENUM._serialized_end=5724 + _REQUIREDCHOICEINTERMELEAF._serialized_start=5743 + _REQUIREDCHOICEINTERMELEAF._serialized_end=5798 + _LEVELONE._serialized_start=5800 + _LEVELONE._serialized_end=5909 + _LEVELTWO._serialized_start=5911 + _LEVELTWO._serialized_end=5972 + _LEVELTHREE._serialized_start=5974 + _LEVELTHREE._serialized_end=6016 + _LEVELFOUR._serialized_start=6018 + _LEVELFOUR._serialized_end=6078 + _IPV4PATTERN._serialized_start=6080 + _IPV4PATTERN._serialized_end=6154 + _IPV6PATTERN._serialized_start=6156 + _IPV6PATTERN._serialized_end=6230 + _MACPATTERN._serialized_start=6232 + _MACPATTERN._serialized_end=6301 + _INTEGERPATTERN._serialized_start=6303 + _INTEGERPATTERN._serialized_end=6392 + _CHECKSUMPATTERN._serialized_start=6394 + _CHECKSUMPATTERN._serialized_end=6488 + _COMMONRESPONSESUCCESS._serialized_start=6490 + _COMMONRESPONSESUCCESS._serialized_end=6547 + _APITESTINPUTBODY._serialized_start=6549 + _APITESTINPUTBODY._serialized_end=6609 + _SERVICEABCITEM._serialized_start=6612 + _SERVICEABCITEM._serialized_end=6772 + _SERVICEABCITEMLIST._serialized_start=6774 + _SERVICEABCITEMLIST._serialized_end=6834 + _PATTERNPREFIXCONFIGHEADERCHECKSUM._serialized_start=6837 + _PATTERNPREFIXCONFIGHEADERCHECKSUM._serialized_end=7208 + _PATTERNPREFIXCONFIGHEADERCHECKSUM_CHOICE._serialized_start=7055 + _PATTERNPREFIXCONFIGHEADERCHECKSUM_CHOICE._serialized_end=7115 + _PATTERNPREFIXCONFIGHEADERCHECKSUM_CHOICE_ENUM._serialized_start=7065 + _PATTERNPREFIXCONFIGHEADERCHECKSUM_CHOICE_ENUM._serialized_end=7115 + _PATTERNPREFIXCONFIGHEADERCHECKSUM_GENERATED._serialized_start=7117 + _PATTERNPREFIXCONFIGHEADERCHECKSUM_GENERATED._serialized_end=7172 + _PATTERNPREFIXCONFIGHEADERCHECKSUM_GENERATED_ENUM._serialized_start=7130 + _PATTERNPREFIXCONFIGHEADERCHECKSUM_GENERATED_ENUM._serialized_end=7172 + _PATTERNPREFIXCONFIGAUTOFIELDTESTCOUNTER._serialized_start=7211 + _PATTERNPREFIXCONFIGAUTOFIELDTESTCOUNTER._serialized_end=7340 + _PATTERNPREFIXCONFIGAUTOFIELDTEST._serialized_start=7343 + _PATTERNPREFIXCONFIGAUTOFIELDTEST._serialized_end=7812 + _PATTERNPREFIXCONFIGAUTOFIELDTEST_CHOICE._serialized_start=7658 + _PATTERNPREFIXCONFIGAUTOFIELDTEST_CHOICE._serialized_end=7754 + _PATTERNPREFIXCONFIGAUTOFIELDTEST_CHOICE_ENUM._serialized_start=7668 + _PATTERNPREFIXCONFIGAUTOFIELDTEST_CHOICE_ENUM._serialized_end=7754 + _PATTERNIPV4PATTERNIPV4COUNTER._serialized_start=7814 + _PATTERNIPV4PATTERNIPV4COUNTER._serialized_end=7933 + _PATTERNIPV4PATTERNIPV4._serialized_start=7936 + _PATTERNIPV4PATTERNIPV4._serialized_end=8327 + _PATTERNIPV4PATTERNIPV4_CHOICE._serialized_start=8192 + _PATTERNIPV4PATTERNIPV4_CHOICE._serialized_end=8278 + _PATTERNIPV4PATTERNIPV4_CHOICE_ENUM._serialized_start=8202 + _PATTERNIPV4PATTERNIPV4_CHOICE_ENUM._serialized_end=8278 + _PATTERNIPV6PATTERNIPV6COUNTER._serialized_start=8329 + _PATTERNIPV6PATTERNIPV6COUNTER._serialized_end=8448 + _PATTERNIPV6PATTERNIPV6._serialized_start=8451 + _PATTERNIPV6PATTERNIPV6._serialized_end=8842 + _PATTERNIPV6PATTERNIPV6_CHOICE._serialized_start=8192 + _PATTERNIPV6PATTERNIPV6_CHOICE._serialized_end=8278 + _PATTERNIPV6PATTERNIPV6_CHOICE_ENUM._serialized_start=8202 + _PATTERNIPV6PATTERNIPV6_CHOICE_ENUM._serialized_end=8278 + _PATTERNMACPATTERNMACCOUNTER._serialized_start=8844 + _PATTERNMACPATTERNMACCOUNTER._serialized_end=8961 + _PATTERNMACPATTERNMAC._serialized_start=8964 + _PATTERNMACPATTERNMAC._serialized_end=9385 + _PATTERNMACPATTERNMAC_CHOICE._serialized_start=7658 + _PATTERNMACPATTERNMAC_CHOICE._serialized_end=7754 + _PATTERNMACPATTERNMAC_CHOICE_ENUM._serialized_start=7668 + _PATTERNMACPATTERNMAC_CHOICE_ENUM._serialized_end=7754 + _PATTERNINTEGERPATTERNINTEGERCOUNTER._serialized_start=9387 + _PATTERNINTEGERPATTERNINTEGERCOUNTER._serialized_end=9512 + _PATTERNINTEGERPATTERNINTEGER._serialized_start=9515 + _PATTERNINTEGERPATTERNINTEGER._serialized_end=9930 + _PATTERNINTEGERPATTERNINTEGER_CHOICE._serialized_start=8192 + _PATTERNINTEGERPATTERNINTEGER_CHOICE._serialized_end=8278 + _PATTERNINTEGERPATTERNINTEGER_CHOICE_ENUM._serialized_start=8202 + _PATTERNINTEGERPATTERNINTEGER_CHOICE_ENUM._serialized_end=8278 + _PATTERNCHECKSUMPATTERNCHECKSUM._serialized_start=9933 + _PATTERNCHECKSUMPATTERNCHECKSUM._serialized_end=10295 + _PATTERNCHECKSUMPATTERNCHECKSUM_CHOICE._serialized_start=7055 + _PATTERNCHECKSUMPATTERNCHECKSUM_CHOICE._serialized_end=7115 + _PATTERNCHECKSUMPATTERNCHECKSUM_CHOICE_ENUM._serialized_start=7065 + _PATTERNCHECKSUMPATTERNCHECKSUM_CHOICE_ENUM._serialized_end=7115 + _PATTERNCHECKSUMPATTERNCHECKSUM_GENERATED._serialized_start=7117 + _PATTERNCHECKSUMPATTERNCHECKSUM_GENERATED._serialized_end=7172 + _PATTERNCHECKSUMPATTERNCHECKSUM_GENERATED_ENUM._serialized_start=7130 + _PATTERNCHECKSUMPATTERNCHECKSUM_GENERATED_ENUM._serialized_end=7172 + _VERSION._serialized_start=10298 + _VERSION._serialized_end=10443 + _WARNINGS._serialized_start=10445 + _WARNINGS._serialized_end=10505 + _SETCONFIGREQUEST._serialized_start=10507 + _SETCONFIGREQUEST._serialized_end=10571 + _UPDATECONFIGURATIONREQUEST._serialized_start=10573 + _UPDATECONFIGURATIONREQUEST._serialized_end=10647 + _SETCONFIGRESPONSE._serialized_start=10649 + _SETCONFIGRESPONSE._serialized_end=10692 + _UPDATECONFIGURATIONRESPONSE._serialized_start=10694 + _UPDATECONFIGURATIONRESPONSE._serialized_end=10769 + _GETCONFIGRESPONSE._serialized_start=10771 + _GETCONFIGRESPONSE._serialized_end=10836 + _GETMETRICSREQUEST._serialized_start=10838 + _GETMETRICSREQUEST._serialized_end=10907 + _GETMETRICSRESPONSE._serialized_start=10909 + _GETMETRICSRESPONSE._serialized_end=10964 + _GETWARNINGSRESPONSE._serialized_start=10966 + _GETWARNINGSRESPONSE._serialized_end=11037 + _CLEARWARNINGSRESPONSE._serialized_start=11039 + _CLEARWARNINGSRESPONSE._serialized_end=11078 + _POSTROOTRESPONSEREQUEST._serialized_start=11080 + _POSTROOTRESPONSEREQUEST._serialized_end=11161 + _GETROOTRESPONSERESPONSE._serialized_start=11163 + _GETROOTRESPONSERESPONSE._serialized_end=11253 + _DUMMYRESPONSETESTRESPONSE._serialized_start=11255 + _DUMMYRESPONSETESTRESPONSE._serialized_end=11298 + _POSTROOTRESPONSERESPONSE._serialized_start=11300 + _POSTROOTRESPONSERESPONSE._serialized_end=11391 + _GETALLITEMSRESPONSE._serialized_start=11393 + _GETALLITEMSRESPONSE._serialized_end=11474 + _GETSINGLEITEMRESPONSE._serialized_start=11476 + _GETSINGLEITEMRESPONSE._serialized_end=11550 + _GETSINGLEITEMLEVEL2RESPONSE._serialized_start=11552 + _GETSINGLEITEMLEVEL2RESPONSE._serialized_end=11632 + _GETVERSIONRESPONSE._serialized_start=11634 + _GETVERSIONRESPONSE._serialized_end=11689 + _OPENAPI._serialized_start=11692 + _OPENAPI._serialized_end=12686 +# @@protoc_insertion_point(module_scope) diff --git a/artifacts/pyapi/openapi_pb2_grpc.py b/artifacts/pyapi/openapi_pb2_grpc.py new file mode 100644 index 00000000..3db12e02 --- /dev/null +++ b/artifacts/pyapi/openapi_pb2_grpc.py @@ -0,0 +1,499 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +try: + import openapi_pb2 as openapi__pb2 +except ImportError: + from pyapi import openapi_pb2 as openapi__pb2 + + +class OpenapiStub(object): + """Description missing in models + + For all RPCs defined in this service, API Server SHOULD provide JSON + representation of `Error` message as an error string upon failure, ensuring + name of enum constants (instead of value) for `kind` property is present + in the representation + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.SetConfig = channel.unary_unary( + '/openapi.Openapi/SetConfig', + request_serializer=openapi__pb2.SetConfigRequest.SerializeToString, + response_deserializer=openapi__pb2.SetConfigResponse.FromString, + ) + self.UpdateConfiguration = channel.unary_unary( + '/openapi.Openapi/UpdateConfiguration', + request_serializer=openapi__pb2.UpdateConfigurationRequest.SerializeToString, + response_deserializer=openapi__pb2.UpdateConfigurationResponse.FromString, + ) + self.GetConfig = channel.unary_unary( + '/openapi.Openapi/GetConfig', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=openapi__pb2.GetConfigResponse.FromString, + ) + self.GetMetrics = channel.unary_unary( + '/openapi.Openapi/GetMetrics', + request_serializer=openapi__pb2.GetMetricsRequest.SerializeToString, + response_deserializer=openapi__pb2.GetMetricsResponse.FromString, + ) + self.GetWarnings = channel.unary_unary( + '/openapi.Openapi/GetWarnings', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=openapi__pb2.GetWarningsResponse.FromString, + ) + self.ClearWarnings = channel.unary_unary( + '/openapi.Openapi/ClearWarnings', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=openapi__pb2.ClearWarningsResponse.FromString, + ) + self.GetRootResponse = channel.unary_unary( + '/openapi.Openapi/GetRootResponse', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=openapi__pb2.GetRootResponseResponse.FromString, + ) + self.DummyResponseTest = channel.unary_unary( + '/openapi.Openapi/DummyResponseTest', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=openapi__pb2.DummyResponseTestResponse.FromString, + ) + self.PostRootResponse = channel.unary_unary( + '/openapi.Openapi/PostRootResponse', + request_serializer=openapi__pb2.PostRootResponseRequest.SerializeToString, + response_deserializer=openapi__pb2.PostRootResponseResponse.FromString, + ) + self.GetAllItems = channel.unary_unary( + '/openapi.Openapi/GetAllItems', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=openapi__pb2.GetAllItemsResponse.FromString, + ) + self.GetSingleItem = channel.unary_unary( + '/openapi.Openapi/GetSingleItem', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=openapi__pb2.GetSingleItemResponse.FromString, + ) + self.GetSingleItemLevel2 = channel.unary_unary( + '/openapi.Openapi/GetSingleItemLevel2', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=openapi__pb2.GetSingleItemLevel2Response.FromString, + ) + self.GetVersion = channel.unary_unary( + '/openapi.Openapi/GetVersion', + request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + response_deserializer=openapi__pb2.GetVersionResponse.FromString, + ) + + +class OpenapiServicer(object): + """Description missing in models + + For all RPCs defined in this service, API Server SHOULD provide JSON + representation of `Error` message as an error string upon failure, ensuring + name of enum constants (instead of value) for `kind` property is present + in the representation + """ + + def SetConfig(self, request, context): + """Sets configuration resources. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateConfiguration(self, request, context): + """Deprecated: please use post instead + + Sets configuration resources. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetConfig(self, request, context): + """Gets the configuration resources. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetMetrics(self, request, context): + """Gets metrics. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetWarnings(self, request, context): + """Gets warnings. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ClearWarnings(self, request, context): + """Clears warnings. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetRootResponse(self, request, context): + """simple GET api with single return type + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DummyResponseTest(self, request, context): + """Description missing in models + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def PostRootResponse(self, request, context): + """simple POST api with single return type + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetAllItems(self, request, context): + """return list of some items + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetSingleItem(self, request, context): + """return single item + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetSingleItemLevel2(self, request, context): + """return single item + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetVersion(self, request, context): + """Description missing in models + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_OpenapiServicer_to_server(servicer, server): + rpc_method_handlers = { + 'SetConfig': grpc.unary_unary_rpc_method_handler( + servicer.SetConfig, + request_deserializer=openapi__pb2.SetConfigRequest.FromString, + response_serializer=openapi__pb2.SetConfigResponse.SerializeToString, + ), + 'UpdateConfiguration': grpc.unary_unary_rpc_method_handler( + servicer.UpdateConfiguration, + request_deserializer=openapi__pb2.UpdateConfigurationRequest.FromString, + response_serializer=openapi__pb2.UpdateConfigurationResponse.SerializeToString, + ), + 'GetConfig': grpc.unary_unary_rpc_method_handler( + servicer.GetConfig, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=openapi__pb2.GetConfigResponse.SerializeToString, + ), + 'GetMetrics': grpc.unary_unary_rpc_method_handler( + servicer.GetMetrics, + request_deserializer=openapi__pb2.GetMetricsRequest.FromString, + response_serializer=openapi__pb2.GetMetricsResponse.SerializeToString, + ), + 'GetWarnings': grpc.unary_unary_rpc_method_handler( + servicer.GetWarnings, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=openapi__pb2.GetWarningsResponse.SerializeToString, + ), + 'ClearWarnings': grpc.unary_unary_rpc_method_handler( + servicer.ClearWarnings, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=openapi__pb2.ClearWarningsResponse.SerializeToString, + ), + 'GetRootResponse': grpc.unary_unary_rpc_method_handler( + servicer.GetRootResponse, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=openapi__pb2.GetRootResponseResponse.SerializeToString, + ), + 'DummyResponseTest': grpc.unary_unary_rpc_method_handler( + servicer.DummyResponseTest, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=openapi__pb2.DummyResponseTestResponse.SerializeToString, + ), + 'PostRootResponse': grpc.unary_unary_rpc_method_handler( + servicer.PostRootResponse, + request_deserializer=openapi__pb2.PostRootResponseRequest.FromString, + response_serializer=openapi__pb2.PostRootResponseResponse.SerializeToString, + ), + 'GetAllItems': grpc.unary_unary_rpc_method_handler( + servicer.GetAllItems, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=openapi__pb2.GetAllItemsResponse.SerializeToString, + ), + 'GetSingleItem': grpc.unary_unary_rpc_method_handler( + servicer.GetSingleItem, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=openapi__pb2.GetSingleItemResponse.SerializeToString, + ), + 'GetSingleItemLevel2': grpc.unary_unary_rpc_method_handler( + servicer.GetSingleItemLevel2, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=openapi__pb2.GetSingleItemLevel2Response.SerializeToString, + ), + 'GetVersion': grpc.unary_unary_rpc_method_handler( + servicer.GetVersion, + request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + response_serializer=openapi__pb2.GetVersionResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'openapi.Openapi', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class Openapi(object): + """Description missing in models + + For all RPCs defined in this service, API Server SHOULD provide JSON + representation of `Error` message as an error string upon failure, ensuring + name of enum constants (instead of value) for `kind` property is present + in the representation + """ + + @staticmethod + def SetConfig(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/openapi.Openapi/SetConfig', + openapi__pb2.SetConfigRequest.SerializeToString, + openapi__pb2.SetConfigResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def UpdateConfiguration(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/openapi.Openapi/UpdateConfiguration', + openapi__pb2.UpdateConfigurationRequest.SerializeToString, + openapi__pb2.UpdateConfigurationResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetConfig(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/openapi.Openapi/GetConfig', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + openapi__pb2.GetConfigResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetMetrics(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/openapi.Openapi/GetMetrics', + openapi__pb2.GetMetricsRequest.SerializeToString, + openapi__pb2.GetMetricsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetWarnings(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/openapi.Openapi/GetWarnings', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + openapi__pb2.GetWarningsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ClearWarnings(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/openapi.Openapi/ClearWarnings', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + openapi__pb2.ClearWarningsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetRootResponse(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/openapi.Openapi/GetRootResponse', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + openapi__pb2.GetRootResponseResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DummyResponseTest(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/openapi.Openapi/DummyResponseTest', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + openapi__pb2.DummyResponseTestResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def PostRootResponse(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/openapi.Openapi/PostRootResponse', + openapi__pb2.PostRootResponseRequest.SerializeToString, + openapi__pb2.PostRootResponseResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetAllItems(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/openapi.Openapi/GetAllItems', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + openapi__pb2.GetAllItemsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetSingleItem(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/openapi.Openapi/GetSingleItem', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + openapi__pb2.GetSingleItemResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetSingleItemLevel2(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/openapi.Openapi/GetSingleItemLevel2', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + openapi__pb2.GetSingleItemLevel2Response.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetVersion(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/openapi.Openapi/GetVersion', + google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + openapi__pb2.GetVersionResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/artifacts/pyapi/pyapi.py b/artifacts/pyapi/pyapi.py new file mode 100644 index 00000000..05c08c21 --- /dev/null +++ b/artifacts/pyapi/pyapi.py @@ -0,0 +1,8198 @@ +# OpenAPIArt Test API 0.0.1 +# License: NO-LICENSE-PRESENT + +import importlib +import logging +import json +import platform +import yaml +import requests +import urllib3 +import io +import sys +import time +import grpc +import semantic_version +import types +import platform +from google.protobuf import json_format + +try: + from pyapi import openapi_pb2_grpc as pb2_grpc +except ImportError: + import openapi_pb2_grpc as pb2_grpc +try: + from pyapi import openapi_pb2 as pb2 +except ImportError: + import openapi_pb2 as pb2 + +try: + from typing import Union, Dict, List, Any, Literal +except ImportError: + from typing_extensions import Literal + + +if sys.version_info[0] == 3: + unicode = str + + +openapi_warnings = [] + + +class Transport: + HTTP = "http" + GRPC = "grpc" + + +def api( + location=None, + transport=None, + verify=True, + logger=None, + loglevel=logging.INFO, + ext=None, + version_check=False, +): + """Create an instance of an Api class + + generator.Generator outputs a base Api class with the following: + - an abstract method for each OpenAPI path item object + - a concrete properties for each unique OpenAPI path item parameter. + + generator.Generator also outputs an HttpApi class that inherits the base + Api class, implements the abstract methods and uses the common HttpTransport + class send_recv method to communicate with a REST based server. + + Args + ---- + - location (str): The location of an Open Traffic Generator server. + - transport (enum["http", "grpc"]): Transport Type + - verify (bool): Verify the server's TLS certificate, or a string, in which + case it must be a path to a CA bundle to use. Defaults to `True`. + When set to `False`, requests will accept any TLS certificate presented by + the server, and will ignore hostname mismatches and/or expired + certificates, which will make your application vulnerable to + man-in-the-middle (MitM) attacks. Setting verify to `False` + may be useful during local development or testing. + - logger (logging.Logger): A user defined logging.logger, if none is provided + then a default logger with a stdout handler will be provided + - loglevel (logging.loglevel): The logging package log level. + The default loglevel is logging.INFO + - ext (str): Name of an extension package + """ + params = locals() + transport_types = ["http", "grpc"] + if ext is None: + transport = "http" if transport is None else transport + if transport not in transport_types: + raise Exception( + "{transport} is not within valid transport types {transport_types}".format( + transport=transport, transport_types=transport_types + ) + ) + if transport == "http": + return HttpApi(**params) + else: + return GrpcApi(**params) + try: + if transport is not None: + raise Exception( + "ext and transport are not mutually exclusive. Please configure one of them." + ) + lib = importlib.import_module("openapi_{}.pyapi_api".format(ext)) + return lib.Api(**params) + except ImportError as err: + msg = "Extension %s is not installed or invalid: %s" + raise Exception(msg % (ext, err)) + + +class HttpTransport(object): + def __init__(self, **kwargs): + """Use args from api() method to instantiate an HTTP transport""" + self.location = ( + kwargs["location"] + if "location" in kwargs and kwargs["location"] is not None + else "https://localhost:443" + ) + self.verify = kwargs["verify"] if "verify" in kwargs else False + self.logger = kwargs["logger"] if "logger" in kwargs else None + self.loglevel = ( + kwargs["loglevel"] if "loglevel" in kwargs else logging.DEBUG + ) + if self.logger is None: + stdout_handler = logging.StreamHandler(sys.stdout) + formatter = logging.Formatter( + fmt="%(asctime)s [%(name)s] [%(levelname)s] %(message)s", + datefmt="%Y-%m-%d %H:%M:%S", + ) + formatter.converter = time.gmtime + stdout_handler.setFormatter(formatter) + self.logger = logging.Logger(self.__module__, level=self.loglevel) + self.logger.addHandler(stdout_handler) + self.logger.debug( + "HttpTransport args: {}".format( + ", ".join(["{}={!r}".format(k, v) for k, v in kwargs.items()]) + ) + ) + self.set_verify(self.verify) + self._session = requests.Session() + + def set_verify(self, verify): + self.verify = verify + if self.verify is False: + urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) + self.logger.warning("Certificate verification is disabled") + + def _parse_response_error(self, response_code, response_text): + error_response = "" + try: + error_response = yaml.safe_load(response_text) + except Exception as _: + error_response = response_text + + err_obj = Error() + try: + err_obj.deserialize(error_response) + except Exception as _: + err_obj.code = response_code + err_obj.errors = [str(error_response)] + + raise Exception(err_obj) + + def send_recv( + self, + method, + relative_url, + payload=None, + return_object=None, + headers=None, + request_class=None, + ): + url = "%s%s" % (self.location, relative_url) + data = None + headers = headers or {"Content-Type": "application/json"} + if payload is not None: + if isinstance(payload, bytes): + data = payload + headers["Content-Type"] = "application/octet-stream" + elif isinstance(payload, (str, unicode)): + if request_class is not None: + request_class().deserialize(payload) + data = payload + elif isinstance(payload, OpenApiBase): + data = payload.serialize() + else: + raise Exception("Type of payload provided is unknown") + response = self._session.request( + method=method, + url=url, + data=data, + verify=False, + allow_redirects=True, + # TODO: add a timeout here + headers=headers, + ) + if response.ok: + if "application/json" in response.headers["content-type"]: + # TODO: we might want to check for utf-8 charset and decode + # accordingly, but current impl works for now + response_dict = yaml.safe_load(response.text) + if return_object is None: + # if response type is not provided, return dictionary + # instead of python object + return response_dict + else: + return return_object.deserialize(response_dict) + elif ( + "application/octet-stream" in response.headers["content-type"] + ): + return io.BytesIO(response.content) + else: + # TODO: for now, return bare response object for unknown + # content types + return response + else: + self._parse_response_error(response.status_code, response.text) + + +class OpenApiStatus: + messages = {} + # logger = logging.getLogger(__module__) + + @classmethod + def warn(cls, key, object): + if cls.messages.get(key) is not None: + if cls.messages[key] in object.__warnings__: + return + # cls.logger.warning(cls.messages[key]) + logging.warning(cls.messages[key]) + object.__warnings__.append(cls.messages[key]) + # openapi_warnings.append(cls.messages[key]) + + @staticmethod + def deprecated(func_or_data): + def inner(self, *args, **kwargs): + OpenApiStatus.warn( + "{}.{}".format(type(self).__name__, func_or_data.__name__), + self, + ) + return func_or_data(self, *args, **kwargs) + + if isinstance(func_or_data, types.FunctionType): + return inner + OpenApiStatus.warn(func_or_data) + + @staticmethod + def under_review(func_or_data): + def inner(self, *args, **kwargs): + OpenApiStatus.warn( + "{}.{}".format(type(self).__name__, func_or_data.__name__), + self, + ) + return func_or_data(self, *args, **kwargs) + + if isinstance(func_or_data, types.FunctionType): + return inner + OpenApiStatus.warn(func_or_data) + + +class OpenApiBase(object): + """Base class for all generated classes""" + + JSON = "json" + YAML = "yaml" + DICT = "dict" + + __slots__ = () + + __constraints__ = {"global": []} + __validate_latter__ = {"unique": [], "constraint": []} + + def __init__(self): + pass + + def serialize(self, encoding=JSON): + """Serialize the current object according to a specified encoding. + + Args + ---- + - encoding (str[json, yaml, dict]): The object will be recursively + serialized according to the specified encoding. + The supported encodings are json, yaml and python dict. + + Returns + ------- + - obj(Union[str, dict]): A str or dict object depending on the specified + encoding. The json and yaml encodings will return a str object and + the dict encoding will return a python dict object. + """ + # TODO: restore behavior + # self._clear_globals() + if encoding == OpenApiBase.JSON: + data = json.dumps(self._encode(), indent=2, sort_keys=True) + elif encoding == OpenApiBase.YAML: + data = yaml.safe_dump(self._encode()) + elif encoding == OpenApiBase.DICT: + data = self._encode() + else: + raise NotImplementedError("Encoding %s not supported" % encoding) + # TODO: restore behavior + # self._validate_coded() + return data + + def _encode(self): + raise NotImplementedError() + + def deserialize(self, serialized_object): + """Deserialize a python object into the current object. + + If the input `serialized_object` does not match the current + openapi object an exception will be raised. + + Args + ---- + - serialized_object (Union[str, dict]): The object to deserialize. + If the serialized_object is of type str then the internal encoding + of the serialized_object must be json or yaml. + + Returns + ------- + - obj(OpenApiObject): This object with all the + serialized_object deserialized within. + """ + # TODO: restore behavior + # self._clear_globals() + if isinstance(serialized_object, (str, unicode)): + serialized_object = yaml.safe_load(serialized_object) + self._decode(serialized_object) + # TODO: restore behavior + # self._validate_coded() + return self + + def _decode(self, dict_object): + raise NotImplementedError() + + def warnings(self): + warns = list(self.__warnings__) + if "2.7" in platform.python_version().rsplit(".", 1)[0]: + del self.__warnings__[:] + else: + self.__warnings__.clear() + return warns + + +class OpenApiValidator(object): + + __slots__ = () + + _validation_errors = [] + + def __init__(self): + pass + + def _clear_errors(self): + if "2.7" in platform.python_version().rsplit(".", 1)[0]: + del self._validation_errors[:] + else: + self._validation_errors.clear() + + def validate_mac(self, mac): + if ( + mac is None + or not isinstance(mac, (str, unicode)) + or mac.count(" ") != 0 + ): + return False + try: + if len(mac) != 17: + return False + return all([0 <= int(oct, 16) <= 255 for oct in mac.split(":")]) + except Exception: + return False + + def validate_ipv4(self, ip): + if ( + ip is None + or not isinstance(ip, (str, unicode)) + or ip.count(" ") != 0 + ): + return False + if len(ip.split(".")) != 4: + return False + try: + return all([0 <= int(oct) <= 255 for oct in ip.split(".", 3)]) + except Exception: + return False + + def validate_ipv6(self, ip): + if ip is None or not isinstance(ip, (str, unicode)): + return False + ip = ip.strip() + if ( + ip.count(" ") > 0 + or ip.count(":") > 7 + or ip.count("::") > 1 + or ip.count(":::") > 0 + ): + return False + if (ip[0] == ":" and ip[:2] != "::") or ( + ip[-1] == ":" and ip[-2:] != "::" + ): + return False + if ip.count("::") == 0 and ip.count(":") != 7: + return False + if ip == "::": + return True + if ip[:2] == "::": + ip = ip.replace("::", "0:") + elif ip[-2:] == "::": + ip = ip.replace("::", ":0") + else: + ip = ip.replace("::", ":0:") + try: + return all( + [ + True + if (0 <= int(oct, 16) <= 65535) and (1 <= len(oct) <= 4) + else False + for oct in ip.split(":") + ] + ) + except Exception: + return False + + def validate_hex(self, hex): + if hex is None or not isinstance(hex, (str, unicode)): + return False + try: + int(hex, 16) + return True + except Exception: + return False + + def validate_integer(self, value, min, max, type_format=None): + if value is None or not isinstance(value, int): + return False + if min is not None and value < min: + return False + if max is not None and value > max: + return False + if type_format is not None: + if type_format == "uint32" and (value < 0 or value > 4294967295): + return False + elif type_format == "uint64" and ( + value < 0 or value > 18446744073709551615 + ): + return False + elif type_format == "int32" and ( + value < -2147483648 or value > 2147483647 + ): + return False + elif type_format == "int64" and ( + value < -9223372036854775808 or value > 9223372036854775807 + ): + return False + return True + + def validate_float(self, value): + return isinstance(value, (int, float)) + + def validate_string(self, value, min_length, max_length): + if value is None or not isinstance(value, (str, unicode)): + return False + if min_length is not None and len(value) < min_length: + return False + if max_length is not None and len(value) > max_length: + return False + return True + + def validate_bool(self, value): + return isinstance(value, bool) + + def validate_list(self, value, itemtype, min, max, min_length, max_length): + if value is None or not isinstance(value, list): + return False + v_obj = getattr(self, "validate_{}".format(itemtype), None) + if v_obj is None: + raise AttributeError( + "{} is not a valid attribute".format(itemtype) + ) + v_obj_lst = [] + for item in value: + if itemtype == "integer": + v_obj_lst.append(v_obj(item, min, max)) + elif itemtype == "string": + v_obj_lst.append(v_obj(item, min_length, max_length)) + else: + v_obj_lst.append(v_obj(item)) + return v_obj_lst + + def validate_binary(self, value): + if value is None or not isinstance(value, (str, unicode)): + return False + return all( + [ + True if int(bin) == 0 or int(bin) == 1 else False + for bin in value + ] + ) + + def types_validation( + self, + value, + type_, + err_msg, + itemtype=None, + min=None, + max=None, + min_length=None, + max_length=None, + ): + type_map = { + int: "integer", + str: "string", + float: "float", + bool: "bool", + list: "list", + "int64": "integer", + "int32": "integer", + "uint64": "integer", + "uint32": "integer", + "double": "float", + } + type_format = type_ + if type_ in type_map: + type_ = type_map[type_] + if itemtype is not None and itemtype in type_map: + itemtype = type_map[itemtype] + v_obj = getattr(self, "validate_{}".format(type_), None) + if v_obj is None: + msg = "{} is not a valid or unsupported format".format(type_) + raise TypeError(msg) + if type_ == "list": + verdict = v_obj(value, itemtype, min, max, min_length, max_length) + if all(verdict) is True: + return + err_msg = "{} \n {} are not valid".format( + err_msg, + [ + value[index] + for index, item in enumerate(verdict) + if item is False + ], + ) + verdict = False + elif type_ == "integer": + verdict = v_obj(value, min, max, type_format) + if verdict is True: + return + min_max = "" + if min is not None: + min_max = ", expected min {}".format(min) + if max is not None: + min_max = min_max + ", expected max {}".format(max) + err_msg = "{} \n got {} of type {} {}".format( + err_msg, value, type(value), min_max + ) + elif type_ == "string": + verdict = v_obj(value, min_length, max_length) + if verdict is True: + return + msg = "" + if min_length is not None: + msg = ", expected min {}".format(min_length) + if max_length is not None: + msg = msg + ", expected max {}".format(max_length) + err_msg = "{} \n got {} of type {} {}".format( + err_msg, value, type(value), msg + ) + else: + verdict = v_obj(value) + if verdict is False: + raise TypeError(err_msg) + + def _validate_unique_and_name(self, name, value, latter=False): + if self._TYPES[name].get("unique") is None or value is None: + return + if latter is True: + self.__validate_latter__["unique"].append( + (self._validate_unique_and_name, name, value) + ) + return + class_name = type(self).__name__ + unique_type = self._TYPES[name]["unique"] + if class_name not in self.__constraints__: + self.__constraints__[class_name] = dict() + if unique_type == "global": + values = self.__constraints__["global"] + else: + values = self.__constraints__[class_name] + if value in values: + self._validation_errors.append( + "{} with {} already exists".format(name, value) + ) + return + if isinstance(values, list): + values.append(value) + self.__constraints__[class_name].update({value: self}) + + def _validate_constraint(self, name, value, latter=False): + cons = self._TYPES[name].get("constraint") + if cons is None or value is None: + return + if latter is True: + self.__validate_latter__["constraint"].append( + (self._validate_constraint, name, value) + ) + return + found = False + for c in cons: + klass, prop = c.split(".") + names = self.__constraints__.get(klass, {}) + props = [obj._properties.get(prop) for obj in names.values()] + if value in props: + found = True + break + if found is not True: + self._validation_errors.append( + "{} is not a valid type of {}".format(value, "||".join(cons)) + ) + return + + def _validate_coded(self): + for item in self.__validate_latter__["unique"]: + item[0](item[1], item[2]) + for item in self.__validate_latter__["constraint"]: + item[0](item[1], item[2]) + self._clear_vars() + if len(self._validation_errors) > 0: + errors = "\n".join(self._validation_errors) + self._clear_errors() + raise Exception(errors) + + def _clear_vars(self): + if platform.python_version_tuple()[0] == "2": + self.__validate_latter__["unique"] = [] + self.__validate_latter__["constraint"] = [] + else: + self.__validate_latter__["unique"].clear() + self.__validate_latter__["constraint"].clear() + + def _clear_globals(self): + keys = list(self.__constraints__.keys()) + for k in keys: + if k == "global": + self.__constraints__["global"] = [] + continue + del self.__constraints__[k] + + +class OpenApiObject(OpenApiBase, OpenApiValidator): + """Base class for any /components/schemas object + + Every OpenApiObject is reuseable within the schema so it can + exist in multiple locations within the hierarchy. + That means it can exist in multiple locations as a + leaf, parent/choice or parent. + """ + + __slots__ = ("__warnings__", "_properties", "_parent", "_choice") + _DEFAULTS = {} + _TYPES = {} + _REQUIRED = [] + _STATUS = {} + + def __init__(self, parent=None, choice=None): + super(OpenApiObject, self).__init__() + self._parent = parent + self._choice = choice + self._properties = {} + self.__warnings__ = [] + + @property + def parent(self): + return self._parent + + def _set_choice(self, name): + if self._has_choice(name): + for enum in self._TYPES["choice"]["enum"]: + if enum in self._properties and name != enum: + self._properties.pop(enum) + self._properties["choice"] = name + + def _has_choice(self, name): + if ( + "choice" in dir(self) + and "_TYPES" in dir(self) + and "choice" in self._TYPES + and name in self._TYPES["choice"]["enum"] + ): + return True + else: + return False + + def _get_property( + self, name, default_value=None, parent=None, choice=None + ): + if name in self._properties and self._properties[name] is not None: + return self._properties[name] + if isinstance(default_value, type) is True: + self._set_choice(name) + if "_choice" in default_value.__slots__: + self._properties[name] = default_value( + parent=parent, choice=choice + ) + else: + self._properties[name] = default_value(parent=parent) + if ( + "_DEFAULTS" in dir(self._properties[name]) + and "choice" in self._properties[name]._DEFAULTS + ): + getattr( + self._properties[name], + self._properties[name]._DEFAULTS["choice"], + ) + else: + if default_value is None and name in self._DEFAULTS: + self._set_choice(name) + self._properties[name] = self._DEFAULTS[name] + else: + self._properties[name] = default_value + return self._properties[name] + + def _set_property(self, name, value, choice=None): + if name == "choice": + + if ( + self.parent is None + and value is not None + and value not in self._TYPES["choice"]["enum"] + ): + raise Exception( + "%s is not a valid choice, valid choices are %s" + % (value, ", ".join(self._TYPES["choice"]["enum"])) + ) + + self._set_choice(value) + if name in self._DEFAULTS and value is None: + self._properties[name] = self._DEFAULTS[name] + elif name in self._DEFAULTS and value is None: + self._set_choice(name) + self._properties[name] = self._DEFAULTS[name] + else: + self._set_choice(name) + self._properties[name] = value + # TODO: restore behavior + # self._validate_unique_and_name(name, value) + # self._validate_constraint(name, value) + if ( + self._parent is not None + and self._choice is not None + and value is not None + ): + self._parent._set_property("choice", self._choice) + + def _encode(self): + """Helper method for serialization""" + output = {} + self._raise_status_warnings(self, None) + self._validate_required() + for key, value in self._properties.items(): + self._validate_types(key, value) + # TODO: restore behavior + # self._validate_unique_and_name(key, value, True) + # self._validate_constraint(key, value, True) + if isinstance(value, (OpenApiObject, OpenApiIter)): + output[key] = value._encode() + if isinstance(value, OpenApiObject): + self._raise_status_warnings(key, value) + elif value is not None: + if ( + self._TYPES.get(key, {}).get("format", "") == "int64" + or self._TYPES.get(key, {}).get("format", "") == "uint64" + ): + value = str(value) + elif ( + self._TYPES.get(key, {}).get("itemformat", "") == "int64" + or self._TYPES.get(key, {}).get("itemformat", "") + == "uint64" + ): + value = [str(v) for v in value] + output[key] = value + self._raise_status_warnings(key, value) + return output + + def _decode(self, obj): + dtypes = [list, str, int, float, bool] + self._raise_status_warnings(self, None) + for property_name, property_value in obj.items(): + if property_name in self._TYPES: + ignore_warnings = False + if isinstance(property_value, dict): + child = self._get_child_class(property_name) + if ( + "choice" in child[1]._TYPES + and "_parent" in child[1].__slots__ + ): + property_value = child[1](self, property_name)._decode( + property_value + ) + elif "_parent" in child[1].__slots__: + property_value = child[1](self)._decode(property_value) + else: + property_value = child[1]()._decode(property_value) + elif ( + isinstance(property_value, list) + and property_name in self._TYPES + and self._TYPES[property_name]["type"] not in dtypes + ): + child = self._get_child_class(property_name, True) + openapi_list = child[0]() + for item in property_value: + item = child[1]()._decode(item) + openapi_list._items.append(item) + property_value = openapi_list + ignore_warnings = True + elif ( + property_name in self._DEFAULTS and property_value is None + ): + if isinstance( + self._DEFAULTS[property_name], tuple(dtypes) + ): + property_value = self._DEFAULTS[property_name] + self._set_choice(property_name) + # convert int64(will be string on wire) to to int + if ( + self._TYPES[property_name].get("format", "") == "int64" + or self._TYPES[property_name].get("format", "") == "uint64" + ): + property_value = int(property_value) + elif ( + self._TYPES[property_name].get("itemformat", "") == "int64" + or self._TYPES[property_name].get("itemformat", "") + == "uint64" + ): + property_value = [int(v) for v in property_value] + self._properties[property_name] = property_value + # TODO: restore behavior + # OpenApiStatus.warn( + # "{}.{}".format(type(self).__name__, property_name), self + # ) + if not ignore_warnings: + self._raise_status_warnings(property_name, property_value) + self._validate_types(property_name, property_value) + # TODO: restore behavior + # self._validate_unique_and_name(property_name, property_value, True) + # self._validate_constraint(property_name, property_value, True) + self._validate_required() + return self + + def _get_child_class(self, property_name, is_property_list=False): + list_class = None + class_name = self._TYPES[property_name]["type"] + module = globals().get(self.__module__) + if module is None: + module = importlib.import_module(self.__module__) + globals()[self.__module__] = module + object_class = getattr(module, class_name) + if is_property_list is True: + list_class = object_class + object_class = getattr(module, class_name[0:-4]) + return (list_class, object_class) + + def __str__(self): + return self.serialize(encoding=self.YAML) + + def __deepcopy__(self, memo): + """Creates a deep copy of the current object""" + return self.__class__().deserialize(self.serialize()) + + def __copy__(self): + """Creates a deep copy of the current object""" + return self.__deepcopy__(None) + + def __eq__(self, other): + return self.__str__() == other.__str__() + + def clone(self): + """Creates a deep copy of the current object""" + return self.__deepcopy__(None) + + def _validate_required(self): + """Validates the required properties are set + Use getattr as it will set any defaults prior to validating + """ + if getattr(self, "_REQUIRED", None) is None: + return + for name in self._REQUIRED: + if self._properties.get(name) is None: + msg = ( + "{} is a mandatory property of {}" + " and should not be set to None".format( + name, + self.__class__, + ) + ) + raise ValueError(msg) + + def _validate_types(self, property_name, property_value): + common_data_types = [list, str, int, float, bool] + if property_name not in self._TYPES: + # raise ValueError("Invalid Property {}".format(property_name)) + return + details = self._TYPES[property_name] + if ( + property_value is None + and property_name not in self._DEFAULTS + and property_name not in self._REQUIRED + ): + return + if "enum" in details and property_value not in details["enum"]: + msg = ( + "property {} shall be one of these" + " {} enum, but got {} at {}" + ) + raise TypeError( + msg.format( + property_name, + details["enum"], + property_value, + self.__class__, + ) + ) + if details["type"] in common_data_types and "format" not in details: + msg = "property {} shall be of type {} at {}".format( + property_name, details["type"], self.__class__ + ) + + itemtype = ( + details.get("itemformat") + if "itemformat" in details + else details.get("itemtype") + ) + self.types_validation( + property_value, + details["type"], + msg, + itemtype, + details.get("minimum"), + details.get("maximum"), + details.get("minLength"), + details.get("maxLength"), + ) + + if details["type"] not in common_data_types: + class_name = details["type"] + # TODO Need to revisit importlib + module = importlib.import_module(self.__module__) + object_class = getattr(module, class_name) + if not isinstance(property_value, object_class): + msg = "property {} shall be of type {}," " but got {} at {}" + raise TypeError( + msg.format( + property_name, + class_name, + type(property_value), + self.__class__, + ) + ) + if "format" in details: + msg = "Invalid {} format, expected {} at {}".format( + property_value, details["format"], self.__class__ + ) + _type = ( + details["type"] + if details["type"] is list + else details["format"] + ) + self.types_validation( + property_value, + _type, + msg, + details["format"], + details.get("minimum"), + details.get("maximum"), + details.get("minLength"), + details.get("maxLength"), + ) + + def validate(self): + self._validate_required() + for key, value in self._properties.items(): + self._validate_types(key, value) + # TODO: restore behavior + # self._validate_coded() + + def get(self, name, with_default=False): + """ + getattr for openapi object + """ + if self._properties.get(name) is not None: + return self._properties[name] + elif with_default: + # TODO need to find a way to avoid getattr + choice = ( + self._properties.get("choice") + if "choice" in dir(self) + else None + ) + getattr(self, name) + if "choice" in dir(self): + if choice is None and "choice" in self._properties: + self._properties.pop("choice") + else: + self._properties["choice"] = choice + return self._properties.pop(name) + return None + + def _raise_status_warnings(self, property_name, property_value): + if len(self._STATUS) > 0: + + if isinstance(property_name, OpenApiObject): + if "self" in self._STATUS and property_value is None: + print("[WARNING]: %s" % self._STATUS["self"]) + + return + + enum_key = "%s.%s" % (property_name, property_value) + if property_name in self._STATUS: + print("[WARNING]: %s" % self._STATUS[property_name]) + elif enum_key in self._STATUS: + print("[WARNING]: %s" % self._STATUS[enum_key]) + + +class OpenApiIter(OpenApiBase): + """Container class for OpenApiObject + + Inheriting classes contain 0..n instances of an OpenAPI components/schemas + object. + - config.flows.flow(name="1").flow(name="2").flow(name="3") + + The __getitem__ method allows getting an instance using ordinal. + - config.flows[0] + - config.flows[1:] + - config.flows[0:1] + - f1, f2, f3 = config.flows + + The __iter__ method allows for iterating across the encapsulated contents + - for flow in config.flows: + """ + + __slots__ = ("_index", "_items") + _GETITEM_RETURNS_CHOICE_OBJECT = False + + def __init__(self): + super(OpenApiIter, self).__init__() + self._index = -1 + self._items = [] + + def __len__(self): + return len(self._items) + + def _getitem(self, key): + found = None + if isinstance(key, int): + found = self._items[key] + elif isinstance(key, slice) is True: + start, stop, step = key.indices(len(self)) + sliced = self.__class__() + for i in range(start, stop, step): + sliced._items.append(self._items[i]) + return sliced + elif isinstance(key, str): + for item in self._items: + if item.name == key: + found = item + if found is None: + raise IndexError() + if ( + self._GETITEM_RETURNS_CHOICE_OBJECT is True + and found._properties.get("choice") is not None + and found._properties.get(found._properties["choice"]) is not None + ): + return found._properties[found._properties["choice"]] + return found + + def _iter(self): + self._index = -1 + return self + + def _next(self): + if self._index + 1 >= len(self._items): + raise StopIteration + else: + self._index += 1 + return self.__getitem__(self._index) + + def __getitem__(self, key): + raise NotImplementedError("This should be overridden by the generator") + + def _add(self, item): + self._items.append(item) + self._index = len(self._items) - 1 + + def remove(self, index): + del self._items[index] + self._index = len(self._items) - 1 + + def append(self, item): + """Append an item to the end of OpenApiIter + TBD: type check, raise error on mismatch + """ + self._instanceOf(item) + self._add(item) + return self + + def clear(self): + del self._items[:] + self._index = -1 + + def set(self, index, item): + self._instanceOf(item) + self._items[index] = item + return self + + def _encode(self): + return [item._encode() for item in self._items] + + def _decode(self, encoded_list): + item_class_name = self.__class__.__name__.replace("Iter", "") + module = importlib.import_module(self.__module__) + object_class = getattr(module, item_class_name) + self.clear() + for item in encoded_list: + self._add(object_class()._decode(item)) + + def __copy__(self): + raise NotImplementedError( + "Shallow copy of OpenApiIter objects is not supported" + ) + + def __deepcopy__(self, memo): + raise NotImplementedError( + "Deep copy of OpenApiIter objects is not supported" + ) + + def __str__(self): + return yaml.safe_dump(self._encode()) + + def __eq__(self, other): + return self.__str__() == other.__str__() + + def _instanceOf(self, item): + raise NotImplementedError( + "validating an OpenApiIter object is not supported" + ) + + +class PrefixConfig(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "required_object": {"type": "EObject"}, + "optional_object": {"type": "EObject"}, + "ieee_802_1qbb": {"type": bool}, + "space_1": { + "type": int, + "format": "int32", + }, + "full_duplex_100_mb": { + "type": int, + "format": "int64", + "minimum": -10, + "maximum": 4261412864, + }, + "response": { + "type": str, + "enum": [ + "status_200", + "status_400", + "status_404", + "status_500", + ], + }, + "a": {"type": str}, + "b": { + "type": float, + "format": "float", + }, + "c": { + "type": int, + "format": "int32", + }, + "d_values": { + "type": list, + "itemtype": str, + }, + "e": {"type": "EObject"}, + "f": {"type": "FObject"}, + "g": {"type": "GObjectIter"}, + "h": {"type": bool}, + "i": { + "type": str, + "format": "binary", + }, + "j": {"type": "JObjectIter"}, + "k": {"type": "KObject"}, + "l": {"type": "LObject"}, + "list_of_string_values": { + "type": list, + "itemtype": str, + }, + "list_of_integer_values": { + "type": list, + "itemtype": int, + "itemformat": "int32", + }, + "level": {"type": "LevelOne"}, + "mandatory": {"type": "Mandate"}, + "ipv4_pattern": {"type": "Ipv4Pattern"}, + "ipv6_pattern": {"type": "Ipv6Pattern"}, + "mac_pattern": {"type": "MacPattern"}, + "integer_pattern": {"type": "IntegerPattern"}, + "checksum_pattern": {"type": "ChecksumPattern"}, + "case": {"type": "Layer1Ieee802x"}, + "m_object": {"type": "MObject"}, + "integer64": { + "type": int, + "format": "int64", + }, + "integer64_list": { + "type": list, + "itemtype": int, + "itemformat": "int64", + "minimum": -12, + "maximum": 4261412864, + }, + "header_checksum": {"type": "PatternPrefixConfigHeaderChecksum"}, + "str_len": { + "type": str, + "minLength": 3, + "maxLength": 6, + }, + "hex_slice": { + "type": list, + "itemtype": str, + "itemformat": "hex", + }, + "auto_field_test": {"type": "PatternPrefixConfigAutoFieldTest"}, + "name": {"type": str}, + "w_list": {"type": "WObjectIter"}, + "x_list": {"type": "ZObjectIter"}, + "z_object": {"type": "ZObject"}, + "y_object": {"type": "YObject"}, + "choice_object": {"type": "ChoiceObjectIter"}, + "required_choice_object": {"type": "RequiredChoiceParent"}, + "g1": {"type": "GObjectIter"}, + "g2": {"type": "GObjectIter"}, + "int32_param": { + "type": int, + "format": "int32", + }, + "int32_list_param": { + "type": list, + "itemtype": int, + "itemformat": "int32", + "minimum": -23456, + "maximum": 23456, + }, + "uint32_param": { + "type": int, + "format": "uint32", + }, + "uint32_list_param": { + "type": list, + "itemtype": int, + "itemformat": "uint32", + "minimum": 0, + "maximum": 4294967293, + }, + "uint64_param": { + "type": int, + "format": "uint64", + }, + "uint64_list_param": { + "type": list, + "itemtype": int, + "itemformat": "uint64", + }, + "auto_int32_param": { + "type": int, + "format": "int32", + "minimum": 64, + "maximum": 9000, + }, + "auto_int32_list_param": { + "type": list, + "itemtype": int, + "itemformat": "int32", + "minimum": 64, + "maximum": 9000, + }, + } # type: Dict[str, str] + + _REQUIRED = ("a", "b", "c", "required_object") # type: tuple(str) + + _DEFAULTS = { + "response": "status_200", + "h": True, + } # type: Dict[str, Union(type)] + + STATUS_200 = "status_200" # type: str + STATUS_400 = "status_400" # type: str + STATUS_404 = "status_404" # type: str + STATUS_500 = "status_500" # type: str + + A = "a" # type: str + B = "b" # type: str + C = "c" # type: str + + _STATUS = { + "space_1": "space_1 property in schema PrefixConfig is deprecated, Information TBD", + "response.status_404": "STATUS_404 enum in property response is deprecated, new code will be coming soon", + "response.status_500": "STATUS_500 enum in property response is under_review, 500 can change to other values", + "a": "a property in schema PrefixConfig is under_review, Information TBD", + "d_values": "d_values property in schema PrefixConfig is deprecated, Information TBD", + "e": "e property in schema PrefixConfig is deprecated, Information TBD", + "str_len": "str_len property in schema PrefixConfig is under_review, Information TBD", + "hex_slice": "hex_slice property in schema PrefixConfig is under_review, Information TBD", + } # type: Dict[str, Union(type)] + + def __init__( + self, + parent=None, + ieee_802_1qbb=None, + space_1=None, + full_duplex_100_mb=None, + response="status_200", + a=None, + b=None, + c=None, + d_values=None, + h=True, + i=None, + list_of_string_values=None, + list_of_integer_values=None, + integer64=None, + integer64_list=None, + str_len=None, + hex_slice=None, + name=None, + int32_param=None, + int32_list_param=None, + uint32_param=None, + uint32_list_param=None, + uint64_param=None, + uint64_list_param=None, + auto_int32_param=None, + auto_int32_list_param=None, + ): + super(PrefixConfig, self).__init__() + self._parent = parent + self._set_property("ieee_802_1qbb", ieee_802_1qbb) + self._set_property("space_1", space_1) + self._set_property("full_duplex_100_mb", full_duplex_100_mb) + self._set_property("response", response) + self._set_property("a", a) + self._set_property("b", b) + self._set_property("c", c) + self._set_property("d_values", d_values) + self._set_property("h", h) + self._set_property("i", i) + self._set_property("list_of_string_values", list_of_string_values) + self._set_property("list_of_integer_values", list_of_integer_values) + self._set_property("integer64", integer64) + self._set_property("integer64_list", integer64_list) + self._set_property("str_len", str_len) + self._set_property("hex_slice", hex_slice) + self._set_property("name", name) + self._set_property("int32_param", int32_param) + self._set_property("int32_list_param", int32_list_param) + self._set_property("uint32_param", uint32_param) + self._set_property("uint32_list_param", uint32_list_param) + self._set_property("uint64_param", uint64_param) + self._set_property("uint64_list_param", uint64_list_param) + self._set_property("auto_int32_param", auto_int32_param) + self._set_property("auto_int32_list_param", auto_int32_list_param) + + def set( + self, + ieee_802_1qbb=None, + space_1=None, + full_duplex_100_mb=None, + response=None, + a=None, + b=None, + c=None, + d_values=None, + h=None, + i=None, + list_of_string_values=None, + list_of_integer_values=None, + integer64=None, + integer64_list=None, + str_len=None, + hex_slice=None, + name=None, + int32_param=None, + int32_list_param=None, + uint32_param=None, + uint32_list_param=None, + uint64_param=None, + uint64_list_param=None, + auto_int32_param=None, + auto_int32_list_param=None, + ): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def required_object(self): + # type: () -> EObject + """required_object getter + + A required object that MUST be generated as such. + + Returns: EObject + """ + return self._get_property("required_object", EObject) + + @property + def optional_object(self): + # type: () -> EObject + """optional_object getter + + An optional object that MUST be generated as such. + + Returns: EObject + """ + return self._get_property("optional_object", EObject) + + @property + def ieee_802_1qbb(self): + # type: () -> bool + """ieee_802_1qbb getter + + TBD + + Returns: bool + """ + return self._get_property("ieee_802_1qbb") + + @ieee_802_1qbb.setter + def ieee_802_1qbb(self, value): + """ieee_802_1qbb setter + + TBD + + value: bool + """ + self._set_property("ieee_802_1qbb", value) + + @property + def space_1(self): + # type: () -> int + """space_1 getter + + Deprecated: Information TBD. Description TBD + + Returns: int + """ + return self._get_property("space_1") + + @space_1.setter + def space_1(self, value): + """space_1 setter + + Deprecated: Information TBD. Description TBD + + value: int + """ + self._set_property("space_1", value) + + @property + def full_duplex_100_mb(self): + # type: () -> int + """full_duplex_100_mb getter + + TBD + + Returns: int + """ + return self._get_property("full_duplex_100_mb") + + @full_duplex_100_mb.setter + def full_duplex_100_mb(self, value): + """full_duplex_100_mb setter + + TBD + + value: int + """ + self._set_property("full_duplex_100_mb", value) + + @property + def response(self): + # type: () -> Union[Literal["status_200"], Literal["status_400"], Literal["status_404"], Literal["status_500"]] + """response getter + + Indicate to the server what response should be returned + + Returns: Union[Literal["status_200"], Literal["status_400"], Literal["status_404"], Literal["status_500"]] + """ + return self._get_property("response") + + @response.setter + def response(self, value): + """response setter + + Indicate to the server what response should be returned + + value: Union[Literal["status_200"], Literal["status_400"], Literal["status_404"], Literal["status_500"]] + """ + self._set_property("response", value) + + @property + def a(self): + # type: () -> str + """a getter + + Under Review: Information TBD. Small single line description + + Returns: str + """ + return self._get_property("a") + + @a.setter + def a(self, value): + """a setter + + Under Review: Information TBD. Small single line description + + value: str + """ + if value is None: + raise TypeError("Cannot set required property a as None") + self._set_property("a", value) + + @property + def b(self): + # type: () -> float + """b getter + + Longer multi-line description. Second line is here. Third line + + Returns: float + """ + return self._get_property("b") + + @b.setter + def b(self, value): + """b setter + + Longer multi-line description. Second line is here. Third line + + value: float + """ + if value is None: + raise TypeError("Cannot set required property b as None") + self._set_property("b", value) + + @property + def c(self): + # type: () -> int + """c getter + + TBD + + Returns: int + """ + return self._get_property("c") + + @c.setter + def c(self, value): + """c setter + + TBD + + value: int + """ + if value is None: + raise TypeError("Cannot set required property c as None") + self._set_property("c", value) + + @property + def d_values(self): + # type: () -> List[Union[Literal["a"], Literal["b"], Literal["c"]]] + """d_values getter + + Deprecated: Information TBD. A list of enum values + + Returns: List[Union[Literal["a"], Literal["b"], Literal["c"]]] + """ + return self._get_property("d_values") + + @d_values.setter + def d_values(self, value): + """d_values setter + + Deprecated: Information TBD. A list of enum values + + value: List[Union[Literal["a"], Literal["b"], Literal["c"]]] + """ + self._set_property("d_values", value) + + @property + def e(self): + # type: () -> EObject + """e getter + + Deprecated: Information TBD. A child object + + Returns: EObject + """ + return self._get_property("e", EObject) + + @property + def f(self): + # type: () -> FObject + """f getter + + An object with only choice(s) + + Returns: FObject + """ + return self._get_property("f", FObject) + + @property + def g(self): + # type: () -> GObjectIter + """g getter + + A list of objects with choice and properties + + Returns: GObjectIter + """ + return self._get_property("g", GObjectIter, self._parent, self._choice) + + @property + def h(self): + # type: () -> bool + """h getter + + A boolean value + + Returns: bool + """ + return self._get_property("h") + + @h.setter + def h(self, value): + """h setter + + A boolean value + + value: bool + """ + self._set_property("h", value) + + @property + def i(self): + # type: () -> str + """i getter + + A byte string + + Returns: str + """ + return self._get_property("i") + + @i.setter + def i(self, value): + """i setter + + A byte string + + value: str + """ + self._set_property("i", value) + + @property + def j(self): + # type: () -> JObjectIter + """j getter + + A list of objects with only choice + + Returns: JObjectIter + """ + return self._get_property("j", JObjectIter, self._parent, self._choice) + + @property + def k(self): + # type: () -> KObject + """k getter + + A nested object with only one property which is choice object + + Returns: KObject + """ + return self._get_property("k", KObject) + + @property + def l(self): + # type: () -> LObject + """l getter + + Format validation objectFormat validation objectFormat validation object + + Returns: LObject + """ + return self._get_property("l", LObject) + + @property + def list_of_string_values(self): + # type: () -> List[str] + """list_of_string_values getter + + A list of string values + + Returns: List[str] + """ + return self._get_property("list_of_string_values") + + @list_of_string_values.setter + def list_of_string_values(self, value): + """list_of_string_values setter + + A list of string values + + value: List[str] + """ + self._set_property("list_of_string_values", value) + + @property + def list_of_integer_values(self): + # type: () -> List[int] + """list_of_integer_values getter + + A list of integer values + + Returns: List[int] + """ + return self._get_property("list_of_integer_values") + + @list_of_integer_values.setter + def list_of_integer_values(self, value): + """list_of_integer_values setter + + A list of integer values + + value: List[int] + """ + self._set_property("list_of_integer_values", value) + + @property + def level(self): + # type: () -> LevelOne + """level getter + + To Test Multi level non-primitive typesTo Test Multi level non-primitive typesTo Test Multi level non-primitive types + + Returns: LevelOne + """ + return self._get_property("level", LevelOne) + + @property + def mandatory(self): + # type: () -> Mandate + """mandatory getter + + Object to Test required ParameterObject to Test required ParameterObject to Test required Parameter + + Returns: Mandate + """ + return self._get_property("mandatory", Mandate) + + @property + def ipv4_pattern(self): + # type: () -> Ipv4Pattern + """ipv4_pattern getter + + Test ipv4 patternTest ipv4 patternTest ipv4 pattern + + Returns: Ipv4Pattern + """ + return self._get_property("ipv4_pattern", Ipv4Pattern) + + @property + def ipv6_pattern(self): + # type: () -> Ipv6Pattern + """ipv6_pattern getter + + Test ipv6 patternTest ipv6 patternTest ipv6 pattern + + Returns: Ipv6Pattern + """ + return self._get_property("ipv6_pattern", Ipv6Pattern) + + @property + def mac_pattern(self): + # type: () -> MacPattern + """mac_pattern getter + + Test mac patternTest mac patternTest mac pattern + + Returns: MacPattern + """ + return self._get_property("mac_pattern", MacPattern) + + @property + def integer_pattern(self): + # type: () -> IntegerPattern + """integer_pattern getter + + Test integer patternTest integer patternTest integer pattern + + Returns: IntegerPattern + """ + return self._get_property("integer_pattern", IntegerPattern) + + @property + def checksum_pattern(self): + # type: () -> ChecksumPattern + """checksum_pattern getter + + Test checksum patternTest checksum patternTest checksum pattern + + Returns: ChecksumPattern + """ + return self._get_property("checksum_pattern", ChecksumPattern) + + @property + def case(self): + # type: () -> Layer1Ieee802x + """case getter + + + + Returns: Layer1Ieee802x + """ + return self._get_property("case", Layer1Ieee802x) + + @property + def m_object(self): + # type: () -> MObject + """m_object getter + + Required format validation objectRequired format validation objectRequired format validation object + + Returns: MObject + """ + return self._get_property("m_object", MObject) + + @property + def integer64(self): + # type: () -> int + """integer64 getter + + int64 type + + Returns: int + """ + return self._get_property("integer64") + + @integer64.setter + def integer64(self, value): + """integer64 setter + + int64 type + + value: int + """ + self._set_property("integer64", value) + + @property + def integer64_list(self): + # type: () -> List[int] + """integer64_list getter + + int64 type list + + Returns: List[int] + """ + return self._get_property("integer64_list") + + @integer64_list.setter + def integer64_list(self, value): + """integer64_list setter + + int64 type list + + value: List[int] + """ + self._set_property("integer64_list", value) + + @property + def header_checksum(self): + # type: () -> PatternPrefixConfigHeaderChecksum + """header_checksum getter + + Header checksumHeader checksumHeader checksum + + Returns: PatternPrefixConfigHeaderChecksum + """ + return self._get_property( + "header_checksum", PatternPrefixConfigHeaderChecksum + ) + + @property + def str_len(self): + # type: () -> str + """str_len getter + + Under Review: Information TBD. string minimum&maximum Length + + Returns: str + """ + return self._get_property("str_len") + + @str_len.setter + def str_len(self, value): + """str_len setter + + Under Review: Information TBD. string minimum&maximum Length + + value: str + """ + self._set_property("str_len", value) + + @property + def hex_slice(self): + # type: () -> List[str] + """hex_slice getter + + Under Review: Information TBD. Array of Hex + + Returns: List[str] + """ + return self._get_property("hex_slice") + + @hex_slice.setter + def hex_slice(self, value): + """hex_slice setter + + Under Review: Information TBD. Array of Hex + + value: List[str] + """ + self._set_property("hex_slice", value) + + @property + def auto_field_test(self): + # type: () -> PatternPrefixConfigAutoFieldTest + """auto_field_test getter + + TBDTBDTBD + + Returns: PatternPrefixConfigAutoFieldTest + """ + return self._get_property( + "auto_field_test", PatternPrefixConfigAutoFieldTest + ) + + @property + def name(self): + # type: () -> str + """name getter + + TBD + + Returns: str + """ + return self._get_property("name") + + @name.setter + def name(self, value): + """name setter + + TBD + + value: str + """ + self._set_property("name", value) + + @property + def w_list(self): + # type: () -> WObjectIter + """w_list getter + + TBD + + Returns: WObjectIter + """ + return self._get_property( + "w_list", WObjectIter, self._parent, self._choice + ) + + @property + def x_list(self): + # type: () -> ZObjectIter + """x_list getter + + TBD + + Returns: ZObjectIter + """ + return self._get_property( + "x_list", ZObjectIter, self._parent, self._choice + ) + + @property + def z_object(self): + # type: () -> ZObject + """z_object getter + + + + Returns: ZObject + """ + return self._get_property("z_object", ZObject) + + @property + def y_object(self): + # type: () -> YObject + """y_object getter + + + + Returns: YObject + """ + return self._get_property("y_object", YObject) + + @property + def choice_object(self): + # type: () -> ChoiceObjectIter + """choice_object getter + + A list of objects with choice with and without properties + + Returns: ChoiceObjectIter + """ + return self._get_property( + "choice_object", ChoiceObjectIter, self._parent, self._choice + ) + + @property + def required_choice_object(self): + # type: () -> RequiredChoiceParent + """required_choice_object getter + + + + Returns: RequiredChoiceParent + """ + return self._get_property( + "required_choice_object", RequiredChoiceParent + ) + + @property + def g1(self): + # type: () -> GObjectIter + """g1 getter + + A list of objects with choice and properties + + Returns: GObjectIter + """ + return self._get_property( + "g1", GObjectIter, self._parent, self._choice + ) + + @property + def g2(self): + # type: () -> GObjectIter + """g2 getter + + A list of objects with choice and properties + + Returns: GObjectIter + """ + return self._get_property( + "g2", GObjectIter, self._parent, self._choice + ) + + @property + def int32_param(self): + # type: () -> int + """int32_param getter + + int32 type + + Returns: int + """ + return self._get_property("int32_param") + + @int32_param.setter + def int32_param(self, value): + """int32_param setter + + int32 type + + value: int + """ + self._set_property("int32_param", value) + + @property + def int32_list_param(self): + # type: () -> List[int] + """int32_list_param getter + + int32 type list + + Returns: List[int] + """ + return self._get_property("int32_list_param") + + @int32_list_param.setter + def int32_list_param(self, value): + """int32_list_param setter + + int32 type list + + value: List[int] + """ + self._set_property("int32_list_param", value) + + @property + def uint32_param(self): + # type: () -> int + """uint32_param getter + + uint32 type + + Returns: int + """ + return self._get_property("uint32_param") + + @uint32_param.setter + def uint32_param(self, value): + """uint32_param setter + + uint32 type + + value: int + """ + self._set_property("uint32_param", value) + + @property + def uint32_list_param(self): + # type: () -> List[int] + """uint32_list_param getter + + uint32 type list + + Returns: List[int] + """ + return self._get_property("uint32_list_param") + + @uint32_list_param.setter + def uint32_list_param(self, value): + """uint32_list_param setter + + uint32 type list + + value: List[int] + """ + self._set_property("uint32_list_param", value) + + @property + def uint64_param(self): + # type: () -> int + """uint64_param getter + + uint64 type + + Returns: int + """ + return self._get_property("uint64_param") + + @uint64_param.setter + def uint64_param(self, value): + """uint64_param setter + + uint64 type + + value: int + """ + self._set_property("uint64_param", value) + + @property + def uint64_list_param(self): + # type: () -> List[int] + """uint64_list_param getter + + uint64 type list + + Returns: List[int] + """ + return self._get_property("uint64_list_param") + + @uint64_list_param.setter + def uint64_list_param(self, value): + """uint64_list_param setter + + uint64 type list + + value: List[int] + """ + self._set_property("uint64_list_param", value) + + @property + def auto_int32_param(self): + # type: () -> int + """auto_int32_param getter + + should automatically set type to int32 + + Returns: int + """ + return self._get_property("auto_int32_param") + + @auto_int32_param.setter + def auto_int32_param(self, value): + """auto_int32_param setter + + should automatically set type to int32 + + value: int + """ + self._set_property("auto_int32_param", value) + + @property + def auto_int32_list_param(self): + # type: () -> List[int] + """auto_int32_list_param getter + + should automatically set type to []int32 + + Returns: List[int] + """ + return self._get_property("auto_int32_list_param") + + @auto_int32_list_param.setter + def auto_int32_list_param(self, value): + """auto_int32_list_param setter + + should automatically set type to []int32 + + value: List[int] + """ + self._set_property("auto_int32_list_param", value) + + +class EObject(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "e_a": { + "type": float, + "format": "float", + }, + "e_b": { + "type": float, + "format": "double", + }, + "name": {"type": str}, + "m_param1": {"type": str}, + "m_param2": {"type": str}, + } # type: Dict[str, str] + + _REQUIRED = ("e_a", "e_b") # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__( + self, + parent=None, + e_a=None, + e_b=None, + name=None, + m_param1=None, + m_param2=None, + ): + super(EObject, self).__init__() + self._parent = parent + self._set_property("e_a", e_a) + self._set_property("e_b", e_b) + self._set_property("name", name) + self._set_property("m_param1", m_param1) + self._set_property("m_param2", m_param2) + + def set(self, e_a=None, e_b=None, name=None, m_param1=None, m_param2=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def e_a(self): + # type: () -> float + """e_a getter + + TBD + + Returns: float + """ + return self._get_property("e_a") + + @e_a.setter + def e_a(self, value): + """e_a setter + + TBD + + value: float + """ + if value is None: + raise TypeError("Cannot set required property e_a as None") + self._set_property("e_a", value) + + @property + def e_b(self): + # type: () -> float + """e_b getter + + TBD + + Returns: float + """ + return self._get_property("e_b") + + @e_b.setter + def e_b(self, value): + """e_b setter + + TBD + + value: float + """ + if value is None: + raise TypeError("Cannot set required property e_b as None") + self._set_property("e_b", value) + + @property + def name(self): + # type: () -> str + """name getter + + TBD + + Returns: str + """ + return self._get_property("name") + + @name.setter + def name(self, value): + """name setter + + TBD + + value: str + """ + self._set_property("name", value) + + @property + def m_param1(self): + # type: () -> str + """m_param1 getter + + TBD + + Returns: str + """ + return self._get_property("m_param1") + + @m_param1.setter + def m_param1(self, value): + """m_param1 setter + + TBD + + value: str + """ + self._set_property("m_param1", value) + + @property + def m_param2(self): + # type: () -> str + """m_param2 getter + + TBD + + Returns: str + """ + return self._get_property("m_param2") + + @m_param2.setter + def m_param2(self, value): + """m_param2 setter + + TBD + + value: str + """ + self._set_property("m_param2", value) + + +class FObject(OpenApiObject): + __slots__ = ("_parent", "_choice") + + _TYPES = { + "choice": { + "type": str, + "enum": [ + "f_a", + "f_b", + "f_c", + ], + }, + "f_a": {"type": str}, + "f_b": { + "type": float, + "format": "double", + }, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = { + "choice": "f_a", + "f_a": "some string", + "f_b": 3.0, + } # type: Dict[str, Union(type)] + + F_A = "f_a" # type: str + F_B = "f_b" # type: str + F_C = "f_c" # type: str + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, choice=None, f_a="some string", f_b=3.0): + super(FObject, self).__init__() + self._parent = parent + self._set_property("f_a", f_a) + self._set_property("f_b", f_b) + if ( + "choice" in self._DEFAULTS + and choice is None + and self._DEFAULTS["choice"] in self._TYPES + ): + getattr(self, self._DEFAULTS["choice"]) + else: + self._set_property("choice", choice) + + def set(self, f_a=None, f_b=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def choice(self): + # type: () -> Union[Literal["f_a"], Literal["f_b"], Literal["f_c"]] + """choice getter + + TBD + + Returns: Union[Literal["f_a"], Literal["f_b"], Literal["f_c"]] + """ + return self._get_property("choice") + + @choice.setter + def choice(self, value): + """choice setter + + TBD + + value: Union[Literal["f_a"], Literal["f_b"], Literal["f_c"]] + """ + self._set_property("choice", value) + + @property + def f_a(self): + # type: () -> str + """f_a getter + + TBD + + Returns: str + """ + return self._get_property("f_a") + + @f_a.setter + def f_a(self, value): + """f_a setter + + TBD + + value: str + """ + self._set_property("f_a", value, "f_a") + + @property + def f_b(self): + # type: () -> float + """f_b getter + + TBD + + Returns: float + """ + return self._get_property("f_b") + + @f_b.setter + def f_b(self, value): + """f_b setter + + TBD + + value: float + """ + self._set_property("f_b", value, "f_b") + + +class GObject(OpenApiObject): + __slots__ = ("_parent", "_choice") + + _TYPES = { + "g_a": {"type": str}, + "g_b": { + "type": int, + "format": "int32", + }, + "g_c": {"type": float}, + "choice": { + "type": str, + "enum": [ + "g_d", + "g_e", + ], + }, + "g_d": {"type": str}, + "g_e": { + "type": float, + "format": "double", + }, + "g_f": { + "type": str, + "enum": [ + "a", + "b", + "c", + ], + }, + "name": {"type": str}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = { + "g_a": "asdf", + "g_b": 6, + "g_c": 77.7, + "choice": "g_d", + "g_d": "some string", + "g_e": 3.0, + "g_f": "a", + } # type: Dict[str, Union(type)] + + G_D = "g_d" # type: str + G_E = "g_e" # type: str + + A = "a" # type: str + B = "b" # type: str + C = "c" # type: str + + _STATUS = { + "self": "GObject is deprecated, new schema Jobject to be used", + "g_c": "g_c property in schema GObject is deprecated, Information TBD", + } # type: Dict[str, Union(type)] + + def __init__( + self, + parent=None, + choice=None, + g_a="asdf", + g_b=6, + g_c=77.7, + g_d="some string", + g_e=3.0, + g_f="a", + name=None, + ): + super(GObject, self).__init__() + self._parent = parent + self._set_property("g_a", g_a) + self._set_property("g_b", g_b) + self._set_property("g_c", g_c) + self._set_property("g_d", g_d) + self._set_property("g_e", g_e) + self._set_property("g_f", g_f) + self._set_property("name", name) + if ( + "choice" in self._DEFAULTS + and choice is None + and self._DEFAULTS["choice"] in self._TYPES + ): + getattr(self, self._DEFAULTS["choice"]) + else: + self._set_property("choice", choice) + + def set( + self, + g_a=None, + g_b=None, + g_c=None, + g_d=None, + g_e=None, + g_f=None, + name=None, + ): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def g_a(self): + # type: () -> str + """g_a getter + + TBD + + Returns: str + """ + return self._get_property("g_a") + + @g_a.setter + def g_a(self, value): + """g_a setter + + TBD + + value: str + """ + self._set_property("g_a", value) + + @property + def g_b(self): + # type: () -> int + """g_b getter + + TBD + + Returns: int + """ + return self._get_property("g_b") + + @g_b.setter + def g_b(self, value): + """g_b setter + + TBD + + value: int + """ + self._set_property("g_b", value) + + @property + def g_c(self): + # type: () -> float + """g_c getter + + Deprecated: Information TBD. Description TBD + + Returns: float + """ + return self._get_property("g_c") + + @g_c.setter + def g_c(self, value): + """g_c setter + + Deprecated: Information TBD. Description TBD + + value: float + """ + self._set_property("g_c", value) + + @property + def choice(self): + # type: () -> Union[Literal["g_d"], Literal["g_e"]] + """choice getter + + TBD + + Returns: Union[Literal["g_d"], Literal["g_e"]] + """ + return self._get_property("choice") + + @choice.setter + def choice(self, value): + """choice setter + + TBD + + value: Union[Literal["g_d"], Literal["g_e"]] + """ + self._set_property("choice", value) + + @property + def g_d(self): + # type: () -> str + """g_d getter + + TBD + + Returns: str + """ + return self._get_property("g_d") + + @g_d.setter + def g_d(self, value): + """g_d setter + + TBD + + value: str + """ + self._set_property("g_d", value, "g_d") + + @property + def g_e(self): + # type: () -> float + """g_e getter + + TBD + + Returns: float + """ + return self._get_property("g_e") + + @g_e.setter + def g_e(self, value): + """g_e setter + + TBD + + value: float + """ + self._set_property("g_e", value, "g_e") + + @property + def g_f(self): + # type: () -> Union[Literal["a"], Literal["b"], Literal["c"]] + """g_f getter + + Another enum to test protbuf enum generation + + Returns: Union[Literal["a"], Literal["b"], Literal["c"]] + """ + return self._get_property("g_f") + + @g_f.setter + def g_f(self, value): + """g_f setter + + Another enum to test protbuf enum generation + + value: Union[Literal["a"], Literal["b"], Literal["c"]] + """ + self._set_property("g_f", value) + + @property + def name(self): + # type: () -> str + """name getter + + TBD + + Returns: str + """ + return self._get_property("name") + + @name.setter + def name(self, value): + """name setter + + TBD + + value: str + """ + self._set_property("name", value) + + +class GObjectIter(OpenApiIter): + __slots__ = ("_parent", "_choice") + + _GETITEM_RETURNS_CHOICE_OBJECT = False + + def __init__(self, parent=None, choice=None): + super(GObjectIter, self).__init__() + self._parent = parent + self._choice = choice + + def __getitem__(self, key): + # type: (str) -> Union[GObject] + return self._getitem(key) + + def __iter__(self): + # type: () -> GObjectIter + return self._iter() + + def __next__(self): + # type: () -> GObject + return self._next() + + def next(self): + # type: () -> GObject + return self._next() + + def _instanceOf(self, item): + if not isinstance(item, GObject): + raise Exception("Item is not an instance of GObject") + + def gobject( + self, + g_a="asdf", + g_b=6, + g_c=77.7, + g_d="some string", + g_e=3.0, + g_f="a", + name=None, + ): + # type: (str,int,float,str,float,Union[Literal["a"], Literal["b"], Literal["c"]],str) -> GObjectIter + """Factory method that creates an instance of the GObject class + + Deprecated: new schema Jobject to be used. Description TBD + + Returns: GObjectIter + """ + item = GObject( + parent=self._parent, + choice=self._choice, + g_a=g_a, + g_b=g_b, + g_c=g_c, + g_d=g_d, + g_e=g_e, + g_f=g_f, + name=name, + ) + self._add(item) + return self + + def add( + self, + g_a="asdf", + g_b=6, + g_c=77.7, + g_d="some string", + g_e=3.0, + g_f="a", + name=None, + ): + # type: (str,int,float,str,float,Union[Literal["a"], Literal["b"], Literal["c"]],str) -> GObject + """Add method that creates and returns an instance of the GObject class + + Deprecated: new schema Jobject to be used. Description TBD + + Returns: GObject + """ + item = GObject( + parent=self._parent, + choice=self._choice, + g_a=g_a, + g_b=g_b, + g_c=g_c, + g_d=g_d, + g_e=g_e, + g_f=g_f, + name=name, + ) + self._add(item) + return item + + +class JObject(OpenApiObject): + __slots__ = ("_parent", "_choice") + + _TYPES = { + "choice": { + "type": str, + "enum": [ + "j_a", + "j_b", + ], + }, + "j_a": {"type": "EObject"}, + "j_b": {"type": "FObject"}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = { + "choice": "j_a", + } # type: Dict[str, Union(type)] + + J_A = "j_a" # type: str + J_B = "j_b" # type: str + + _STATUS = { + "choice.j_b": "J_B enum in property choice is deprecated, use j_a instead", + } # type: Dict[str, Union(type)] + + def __init__(self, parent=None, choice=None): + super(JObject, self).__init__() + self._parent = parent + if ( + "choice" in self._DEFAULTS + and choice is None + and self._DEFAULTS["choice"] in self._TYPES + ): + getattr(self, self._DEFAULTS["choice"]) + else: + self._set_property("choice", choice) + + @property + def j_a(self): + # type: () -> EObject + """Factory property that returns an instance of the EObject class + + TBD + + Returns: EObject + """ + return self._get_property("j_a", EObject, self, "j_a") + + @property + def j_b(self): + # type: () -> FObject + """Factory property that returns an instance of the FObject class + + TBD + + Returns: FObject + """ + return self._get_property("j_b", FObject, self, "j_b") + + @property + def choice(self): + # type: () -> Union[Literal["j_a"], Literal["j_b"]] + """choice getter + + TBD + + Returns: Union[Literal["j_a"], Literal["j_b"]] + """ + return self._get_property("choice") + + @choice.setter + def choice(self, value): + """choice setter + + TBD + + value: Union[Literal["j_a"], Literal["j_b"]] + """ + self._set_property("choice", value) + + +class JObjectIter(OpenApiIter): + __slots__ = ("_parent", "_choice") + + _GETITEM_RETURNS_CHOICE_OBJECT = True + + def __init__(self, parent=None, choice=None): + super(JObjectIter, self).__init__() + self._parent = parent + self._choice = choice + + def __getitem__(self, key): + # type: (str) -> Union[EObject, FObject, JObject] + return self._getitem(key) + + def __iter__(self): + # type: () -> JObjectIter + return self._iter() + + def __next__(self): + # type: () -> JObject + return self._next() + + def next(self): + # type: () -> JObject + return self._next() + + def _instanceOf(self, item): + if not isinstance(item, JObject): + raise Exception("Item is not an instance of JObject") + + def jobject(self): + # type: () -> JObjectIter + """Factory method that creates an instance of the JObject class + + TBD + + Returns: JObjectIter + """ + item = JObject(parent=self._parent, choice=self._choice) + self._add(item) + return self + + def add(self): + # type: () -> JObject + """Add method that creates and returns an instance of the JObject class + + TBD + + Returns: JObject + """ + item = JObject(parent=self._parent, choice=self._choice) + self._add(item) + return item + + def j_a(self, e_a=None, e_b=None, name=None, m_param1=None, m_param2=None): + # type: (float,float,str,str,str) -> JObjectIter + """Factory method that creates an instance of the EObject class + + TBD + + Returns: JObjectIter + """ + item = JObject() + item.j_a + item.choice = "j_a" + self._add(item) + return self + + def j_b(self, f_a="some string", f_b=3.0): + # type: (str,float) -> JObjectIter + """Factory method that creates an instance of the FObject class + + TBD + + Returns: JObjectIter + """ + item = JObject() + item.j_b + item.choice = "j_b" + self._add(item) + return self + + +class KObject(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "e_object": {"type": "EObject"}, + "f_object": {"type": "FObject"}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None): + super(KObject, self).__init__() + self._parent = parent + + @property + def e_object(self): + # type: () -> EObject + """e_object getter + + TBDTBDTBD + + Returns: EObject + """ + return self._get_property("e_object", EObject) + + @property + def f_object(self): + # type: () -> FObject + """f_object getter + + TBDTBDTBD + + Returns: FObject + """ + return self._get_property("f_object", FObject) + + +class LObject(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "string_param": {"type": str}, + "integer": { + "type": int, + "format": "int32", + "minimum": -10, + "maximum": 90, + }, + "float": { + "type": float, + "format": "float", + }, + "double": { + "type": float, + "format": "double", + }, + "mac": { + "type": str, + "format": "mac", + }, + "ipv4": { + "type": str, + "format": "ipv4", + }, + "ipv6": { + "type": str, + "format": "ipv6", + }, + "hex": { + "type": str, + "format": "hex", + }, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__( + self, + parent=None, + string_param=None, + integer=None, + float=None, + double=None, + mac=None, + ipv4=None, + ipv6=None, + hex=None, + ): + super(LObject, self).__init__() + self._parent = parent + self._set_property("string_param", string_param) + self._set_property("integer", integer) + self._set_property("float", float) + self._set_property("double", double) + self._set_property("mac", mac) + self._set_property("ipv4", ipv4) + self._set_property("ipv6", ipv6) + self._set_property("hex", hex) + + def set( + self, + string_param=None, + integer=None, + float=None, + double=None, + mac=None, + ipv4=None, + ipv6=None, + hex=None, + ): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def string_param(self): + # type: () -> str + """string_param getter + + TBD + + Returns: str + """ + return self._get_property("string_param") + + @string_param.setter + def string_param(self, value): + """string_param setter + + TBD + + value: str + """ + self._set_property("string_param", value) + + @property + def integer(self): + # type: () -> int + """integer getter + + TBD + + Returns: int + """ + return self._get_property("integer") + + @integer.setter + def integer(self, value): + """integer setter + + TBD + + value: int + """ + self._set_property("integer", value) + + @property + def float(self): + # type: () -> float + """float getter + + TBD + + Returns: float + """ + return self._get_property("float") + + @float.setter + def float(self, value): + """float setter + + TBD + + value: float + """ + self._set_property("float", value) + + @property + def double(self): + # type: () -> float + """double getter + + TBD + + Returns: float + """ + return self._get_property("double") + + @double.setter + def double(self, value): + """double setter + + TBD + + value: float + """ + self._set_property("double", value) + + @property + def mac(self): + # type: () -> str + """mac getter + + TBD + + Returns: str + """ + return self._get_property("mac") + + @mac.setter + def mac(self, value): + """mac setter + + TBD + + value: str + """ + self._set_property("mac", value) + + @property + def ipv4(self): + # type: () -> str + """ipv4 getter + + TBD + + Returns: str + """ + return self._get_property("ipv4") + + @ipv4.setter + def ipv4(self, value): + """ipv4 setter + + TBD + + value: str + """ + self._set_property("ipv4", value) + + @property + def ipv6(self): + # type: () -> str + """ipv6 getter + + TBD + + Returns: str + """ + return self._get_property("ipv6") + + @ipv6.setter + def ipv6(self, value): + """ipv6 setter + + TBD + + value: str + """ + self._set_property("ipv6", value) + + @property + def hex(self): + # type: () -> str + """hex getter + + TBD + + Returns: str + """ + return self._get_property("hex") + + @hex.setter + def hex(self, value): + """hex setter + + TBD + + value: str + """ + self._set_property("hex", value) + + +class LevelOne(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "l1_p1": {"type": "LevelTwo"}, + "l1_p2": {"type": "LevelFour"}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None): + super(LevelOne, self).__init__() + self._parent = parent + + @property + def l1_p1(self): + # type: () -> LevelTwo + """l1_p1 getter + + Test Level 2Test Level 2Test Level 2Level one + + Returns: LevelTwo + """ + return self._get_property("l1_p1", LevelTwo) + + @property + def l1_p2(self): + # type: () -> LevelFour + """l1_p2 getter + + Test level4 redundant junk testingTest level4 redundant junk testingTest level4 redundant junk testingLevel one to four + + Returns: LevelFour + """ + return self._get_property("l1_p2", LevelFour) + + +class LevelTwo(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "l2_p1": {"type": "LevelThree"}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None): + super(LevelTwo, self).__init__() + self._parent = parent + + @property + def l2_p1(self): + # type: () -> LevelThree + """l2_p1 getter + + Test Level3Test Level3Test Level3Level Two + + Returns: LevelThree + """ + return self._get_property("l2_p1", LevelThree) + + +class LevelThree(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "l3_p1": {"type": str}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, l3_p1=None): + super(LevelThree, self).__init__() + self._parent = parent + self._set_property("l3_p1", l3_p1) + + def set(self, l3_p1=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def l3_p1(self): + # type: () -> str + """l3_p1 getter + + Set value at Level 3 + + Returns: str + """ + return self._get_property("l3_p1") + + @l3_p1.setter + def l3_p1(self, value): + """l3_p1 setter + + Set value at Level 3 + + value: str + """ + self._set_property("l3_p1", value) + + +class LevelFour(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "l4_p1": {"type": "LevelOne"}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None): + super(LevelFour, self).__init__() + self._parent = parent + + @property + def l4_p1(self): + # type: () -> LevelOne + """l4_p1 getter + + To Test Multi level non-primitive typesTo Test Multi level non-primitive typesTo Test Multi level non-primitive typesloop over level 1 + + Returns: LevelOne + """ + return self._get_property("l4_p1", LevelOne) + + +class Mandate(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "required_param": {"type": str}, + } # type: Dict[str, str] + + _REQUIRED = ("required_param",) # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, required_param=None): + super(Mandate, self).__init__() + self._parent = parent + self._set_property("required_param", required_param) + + def set(self, required_param=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def required_param(self): + # type: () -> str + """required_param getter + + TBD + + Returns: str + """ + return self._get_property("required_param") + + @required_param.setter + def required_param(self, value): + """required_param setter + + TBD + + value: str + """ + if value is None: + raise TypeError( + "Cannot set required property required_param as None" + ) + self._set_property("required_param", value) + + +class Ipv4Pattern(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "ipv4": {"type": "PatternIpv4PatternIpv4"}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None): + super(Ipv4Pattern, self).__init__() + self._parent = parent + + @property + def ipv4(self): + # type: () -> PatternIpv4PatternIpv4 + """ipv4 getter + + TBDTBDTBD + + Returns: PatternIpv4PatternIpv4 + """ + return self._get_property("ipv4", PatternIpv4PatternIpv4) + + +class PatternIpv4PatternIpv4(OpenApiObject): + __slots__ = ("_parent", "_choice") + + _TYPES = { + "choice": { + "type": str, + "enum": [ + "value", + "values", + "increment", + "decrement", + ], + }, + "value": { + "type": str, + "format": "ipv4", + }, + "values": { + "type": list, + "itemtype": str, + "itemformat": "ipv4", + }, + "increment": {"type": "PatternIpv4PatternIpv4Counter"}, + "decrement": {"type": "PatternIpv4PatternIpv4Counter"}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = { + "choice": "value", + "value": "0.0.0.0", + "values": ["0.0.0.0"], + } # type: Dict[str, Union(type)] + + VALUE = "value" # type: str + VALUES = "values" # type: str + INCREMENT = "increment" # type: str + DECREMENT = "decrement" # type: str + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__( + self, parent=None, choice=None, value="0.0.0.0", values=["0.0.0.0"] + ): + super(PatternIpv4PatternIpv4, self).__init__() + self._parent = parent + self._set_property("value", value) + self._set_property("values", values) + if ( + "choice" in self._DEFAULTS + and choice is None + and self._DEFAULTS["choice"] in self._TYPES + ): + getattr(self, self._DEFAULTS["choice"]) + else: + self._set_property("choice", choice) + + def set(self, value=None, values=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def increment(self): + # type: () -> PatternIpv4PatternIpv4Counter + """Factory property that returns an instance of the PatternIpv4PatternIpv4Counter class + + ipv4 counter pattern + + Returns: PatternIpv4PatternIpv4Counter + """ + return self._get_property( + "increment", PatternIpv4PatternIpv4Counter, self, "increment" + ) + + @property + def decrement(self): + # type: () -> PatternIpv4PatternIpv4Counter + """Factory property that returns an instance of the PatternIpv4PatternIpv4Counter class + + ipv4 counter pattern + + Returns: PatternIpv4PatternIpv4Counter + """ + return self._get_property( + "decrement", PatternIpv4PatternIpv4Counter, self, "decrement" + ) + + @property + def choice(self): + # type: () -> Union[Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] + """choice getter + + TBD + + Returns: Union[Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] + """ + return self._get_property("choice") + + @choice.setter + def choice(self, value): + """choice setter + + TBD + + value: Union[Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] + """ + self._set_property("choice", value) + + @property + def value(self): + # type: () -> str + """value getter + + TBD + + Returns: str + """ + return self._get_property("value") + + @value.setter + def value(self, value): + """value setter + + TBD + + value: str + """ + self._set_property("value", value, "value") + + @property + def values(self): + # type: () -> List[str] + """values getter + + TBD + + Returns: List[str] + """ + return self._get_property("values") + + @values.setter + def values(self, value): + """values setter + + TBD + + value: List[str] + """ + self._set_property("values", value, "values") + + +class PatternIpv4PatternIpv4Counter(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "start": { + "type": str, + "format": "ipv4", + }, + "step": { + "type": str, + "format": "ipv4", + }, + "count": { + "type": int, + "format": "uint32", + }, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = { + "start": "0.0.0.0", + "step": "0.0.0.1", + "count": 1, + } # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, start="0.0.0.0", step="0.0.0.1", count=1): + super(PatternIpv4PatternIpv4Counter, self).__init__() + self._parent = parent + self._set_property("start", start) + self._set_property("step", step) + self._set_property("count", count) + + def set(self, start=None, step=None, count=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def start(self): + # type: () -> str + """start getter + + TBD + + Returns: str + """ + return self._get_property("start") + + @start.setter + def start(self, value): + """start setter + + TBD + + value: str + """ + self._set_property("start", value) + + @property + def step(self): + # type: () -> str + """step getter + + TBD + + Returns: str + """ + return self._get_property("step") + + @step.setter + def step(self, value): + """step setter + + TBD + + value: str + """ + self._set_property("step", value) + + @property + def count(self): + # type: () -> int + """count getter + + TBD + + Returns: int + """ + return self._get_property("count") + + @count.setter + def count(self, value): + """count setter + + TBD + + value: int + """ + self._set_property("count", value) + + +class Ipv6Pattern(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "ipv6": {"type": "PatternIpv6PatternIpv6"}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None): + super(Ipv6Pattern, self).__init__() + self._parent = parent + + @property + def ipv6(self): + # type: () -> PatternIpv6PatternIpv6 + """ipv6 getter + + TBDTBDTBD + + Returns: PatternIpv6PatternIpv6 + """ + return self._get_property("ipv6", PatternIpv6PatternIpv6) + + +class PatternIpv6PatternIpv6(OpenApiObject): + __slots__ = ("_parent", "_choice") + + _TYPES = { + "choice": { + "type": str, + "enum": [ + "value", + "values", + "increment", + "decrement", + ], + }, + "value": { + "type": str, + "format": "ipv6", + }, + "values": { + "type": list, + "itemtype": str, + "itemformat": "ipv6", + }, + "increment": {"type": "PatternIpv6PatternIpv6Counter"}, + "decrement": {"type": "PatternIpv6PatternIpv6Counter"}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = { + "choice": "value", + "value": "::", + "values": ["::"], + } # type: Dict[str, Union(type)] + + VALUE = "value" # type: str + VALUES = "values" # type: str + INCREMENT = "increment" # type: str + DECREMENT = "decrement" # type: str + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, choice=None, value="::", values=["::"]): + super(PatternIpv6PatternIpv6, self).__init__() + self._parent = parent + self._set_property("value", value) + self._set_property("values", values) + if ( + "choice" in self._DEFAULTS + and choice is None + and self._DEFAULTS["choice"] in self._TYPES + ): + getattr(self, self._DEFAULTS["choice"]) + else: + self._set_property("choice", choice) + + def set(self, value=None, values=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def increment(self): + # type: () -> PatternIpv6PatternIpv6Counter + """Factory property that returns an instance of the PatternIpv6PatternIpv6Counter class + + ipv6 counter pattern + + Returns: PatternIpv6PatternIpv6Counter + """ + return self._get_property( + "increment", PatternIpv6PatternIpv6Counter, self, "increment" + ) + + @property + def decrement(self): + # type: () -> PatternIpv6PatternIpv6Counter + """Factory property that returns an instance of the PatternIpv6PatternIpv6Counter class + + ipv6 counter pattern + + Returns: PatternIpv6PatternIpv6Counter + """ + return self._get_property( + "decrement", PatternIpv6PatternIpv6Counter, self, "decrement" + ) + + @property + def choice(self): + # type: () -> Union[Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] + """choice getter + + TBD + + Returns: Union[Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] + """ + return self._get_property("choice") + + @choice.setter + def choice(self, value): + """choice setter + + TBD + + value: Union[Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] + """ + self._set_property("choice", value) + + @property + def value(self): + # type: () -> str + """value getter + + TBD + + Returns: str + """ + return self._get_property("value") + + @value.setter + def value(self, value): + """value setter + + TBD + + value: str + """ + self._set_property("value", value, "value") + + @property + def values(self): + # type: () -> List[str] + """values getter + + TBD + + Returns: List[str] + """ + return self._get_property("values") + + @values.setter + def values(self, value): + """values setter + + TBD + + value: List[str] + """ + self._set_property("values", value, "values") + + +class PatternIpv6PatternIpv6Counter(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "start": { + "type": str, + "format": "ipv6", + }, + "step": { + "type": str, + "format": "ipv6", + }, + "count": { + "type": int, + "format": "uint32", + }, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = { + "start": "::", + "step": "::1", + "count": 1, + } # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, start="::", step="::1", count=1): + super(PatternIpv6PatternIpv6Counter, self).__init__() + self._parent = parent + self._set_property("start", start) + self._set_property("step", step) + self._set_property("count", count) + + def set(self, start=None, step=None, count=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def start(self): + # type: () -> str + """start getter + + TBD + + Returns: str + """ + return self._get_property("start") + + @start.setter + def start(self, value): + """start setter + + TBD + + value: str + """ + self._set_property("start", value) + + @property + def step(self): + # type: () -> str + """step getter + + TBD + + Returns: str + """ + return self._get_property("step") + + @step.setter + def step(self, value): + """step setter + + TBD + + value: str + """ + self._set_property("step", value) + + @property + def count(self): + # type: () -> int + """count getter + + TBD + + Returns: int + """ + return self._get_property("count") + + @count.setter + def count(self, value): + """count setter + + TBD + + value: int + """ + self._set_property("count", value) + + +class MacPattern(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "mac": {"type": "PatternMacPatternMac"}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None): + super(MacPattern, self).__init__() + self._parent = parent + + @property + def mac(self): + # type: () -> PatternMacPatternMac + """mac getter + + TBDTBDTBD + + Returns: PatternMacPatternMac + """ + return self._get_property("mac", PatternMacPatternMac) + + +class PatternMacPatternMac(OpenApiObject): + __slots__ = ("_parent", "_choice") + + _TYPES = { + "choice": { + "type": str, + "enum": [ + "value", + "values", + "auto", + "increment", + "decrement", + ], + }, + "value": { + "type": str, + "format": "mac", + }, + "values": { + "type": list, + "itemtype": str, + "itemformat": "mac", + }, + "auto": { + "type": str, + "format": "mac", + }, + "increment": {"type": "PatternMacPatternMacCounter"}, + "decrement": {"type": "PatternMacPatternMacCounter"}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = { + "choice": "auto", + "value": "00:00:00:00:00:00", + "values": ["00:00:00:00:00:00"], + "auto": "00:00:00:00:00:00", + } # type: Dict[str, Union(type)] + + VALUE = "value" # type: str + VALUES = "values" # type: str + AUTO = "auto" # type: str + INCREMENT = "increment" # type: str + DECREMENT = "decrement" # type: str + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__( + self, + parent=None, + choice=None, + value="00:00:00:00:00:00", + values=["00:00:00:00:00:00"], + auto="00:00:00:00:00:00", + ): + super(PatternMacPatternMac, self).__init__() + self._parent = parent + self._set_property("value", value) + self._set_property("values", values) + self._set_property("auto", auto) + if ( + "choice" in self._DEFAULTS + and choice is None + and self._DEFAULTS["choice"] in self._TYPES + ): + getattr(self, self._DEFAULTS["choice"]) + else: + self._set_property("choice", choice) + + def set(self, value=None, values=None, auto=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def increment(self): + # type: () -> PatternMacPatternMacCounter + """Factory property that returns an instance of the PatternMacPatternMacCounter class + + mac counter pattern + + Returns: PatternMacPatternMacCounter + """ + return self._get_property( + "increment", PatternMacPatternMacCounter, self, "increment" + ) + + @property + def decrement(self): + # type: () -> PatternMacPatternMacCounter + """Factory property that returns an instance of the PatternMacPatternMacCounter class + + mac counter pattern + + Returns: PatternMacPatternMacCounter + """ + return self._get_property( + "decrement", PatternMacPatternMacCounter, self, "decrement" + ) + + @property + def choice(self): + # type: () -> Union[Literal["auto"], Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] + """choice getter + + TBD + + Returns: Union[Literal["auto"], Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] + """ + return self._get_property("choice") + + @choice.setter + def choice(self, value): + """choice setter + + TBD + + value: Union[Literal["auto"], Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] + """ + self._set_property("choice", value) + + @property + def value(self): + # type: () -> str + """value getter + + TBD + + Returns: str + """ + return self._get_property("value") + + @value.setter + def value(self, value): + """value setter + + TBD + + value: str + """ + self._set_property("value", value, "value") + + @property + def values(self): + # type: () -> List[str] + """values getter + + TBD + + Returns: List[str] + """ + return self._get_property("values") + + @values.setter + def values(self, value): + """values setter + + TBD + + value: List[str] + """ + self._set_property("values", value, "values") + + @property + def auto(self): + # type: () -> str + """auto getter + + The OTG implementation can provide system generated. value for this property. If the OTG is unable to generate value. the default value must be used. + + Returns: str + """ + return self._get_property("auto") + + +class PatternMacPatternMacCounter(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "start": { + "type": str, + "format": "mac", + }, + "step": { + "type": str, + "format": "mac", + }, + "count": { + "type": int, + "format": "uint32", + }, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = { + "start": "00:00:00:00:00:00", + "step": "00:00:00:00:00:01", + "count": 1, + } # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__( + self, + parent=None, + start="00:00:00:00:00:00", + step="00:00:00:00:00:01", + count=1, + ): + super(PatternMacPatternMacCounter, self).__init__() + self._parent = parent + self._set_property("start", start) + self._set_property("step", step) + self._set_property("count", count) + + def set(self, start=None, step=None, count=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def start(self): + # type: () -> str + """start getter + + TBD + + Returns: str + """ + return self._get_property("start") + + @start.setter + def start(self, value): + """start setter + + TBD + + value: str + """ + self._set_property("start", value) + + @property + def step(self): + # type: () -> str + """step getter + + TBD + + Returns: str + """ + return self._get_property("step") + + @step.setter + def step(self, value): + """step setter + + TBD + + value: str + """ + self._set_property("step", value) + + @property + def count(self): + # type: () -> int + """count getter + + TBD + + Returns: int + """ + return self._get_property("count") + + @count.setter + def count(self, value): + """count setter + + TBD + + value: int + """ + self._set_property("count", value) + + +class IntegerPattern(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "integer": {"type": "PatternIntegerPatternInteger"}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None): + super(IntegerPattern, self).__init__() + self._parent = parent + + @property + def integer(self): + # type: () -> PatternIntegerPatternInteger + """integer getter + + TBDTBDTBD + + Returns: PatternIntegerPatternInteger + """ + return self._get_property("integer", PatternIntegerPatternInteger) + + +class PatternIntegerPatternInteger(OpenApiObject): + __slots__ = ("_parent", "_choice") + + _TYPES = { + "choice": { + "type": str, + "enum": [ + "value", + "values", + "increment", + "decrement", + ], + }, + "value": { + "type": int, + "format": "uint32", + "maximum": 255, + }, + "values": { + "type": list, + "itemtype": int, + "itemformat": "uint32", + "maximum": 255, + }, + "increment": {"type": "PatternIntegerPatternIntegerCounter"}, + "decrement": {"type": "PatternIntegerPatternIntegerCounter"}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = { + "choice": "value", + "value": 0, + "values": [0], + } # type: Dict[str, Union(type)] + + VALUE = "value" # type: str + VALUES = "values" # type: str + INCREMENT = "increment" # type: str + DECREMENT = "decrement" # type: str + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, choice=None, value=0, values=[0]): + super(PatternIntegerPatternInteger, self).__init__() + self._parent = parent + self._set_property("value", value) + self._set_property("values", values) + if ( + "choice" in self._DEFAULTS + and choice is None + and self._DEFAULTS["choice"] in self._TYPES + ): + getattr(self, self._DEFAULTS["choice"]) + else: + self._set_property("choice", choice) + + def set(self, value=None, values=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def increment(self): + # type: () -> PatternIntegerPatternIntegerCounter + """Factory property that returns an instance of the PatternIntegerPatternIntegerCounter class + + integer counter pattern + + Returns: PatternIntegerPatternIntegerCounter + """ + return self._get_property( + "increment", PatternIntegerPatternIntegerCounter, self, "increment" + ) + + @property + def decrement(self): + # type: () -> PatternIntegerPatternIntegerCounter + """Factory property that returns an instance of the PatternIntegerPatternIntegerCounter class + + integer counter pattern + + Returns: PatternIntegerPatternIntegerCounter + """ + return self._get_property( + "decrement", PatternIntegerPatternIntegerCounter, self, "decrement" + ) + + @property + def choice(self): + # type: () -> Union[Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] + """choice getter + + TBD + + Returns: Union[Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] + """ + return self._get_property("choice") + + @choice.setter + def choice(self, value): + """choice setter + + TBD + + value: Union[Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] + """ + self._set_property("choice", value) + + @property + def value(self): + # type: () -> int + """value getter + + TBD + + Returns: int + """ + return self._get_property("value") + + @value.setter + def value(self, value): + """value setter + + TBD + + value: int + """ + self._set_property("value", value, "value") + + @property + def values(self): + # type: () -> List[int] + """values getter + + TBD + + Returns: List[int] + """ + return self._get_property("values") + + @values.setter + def values(self, value): + """values setter + + TBD + + value: List[int] + """ + self._set_property("values", value, "values") + + +class PatternIntegerPatternIntegerCounter(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "start": { + "type": int, + "format": "uint32", + "maximum": 255, + }, + "step": { + "type": int, + "format": "uint32", + "maximum": 255, + }, + "count": { + "type": int, + "format": "uint32", + "maximum": 255, + }, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = { + "start": 0, + "step": 1, + "count": 1, + } # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, start=0, step=1, count=1): + super(PatternIntegerPatternIntegerCounter, self).__init__() + self._parent = parent + self._set_property("start", start) + self._set_property("step", step) + self._set_property("count", count) + + def set(self, start=None, step=None, count=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def start(self): + # type: () -> int + """start getter + + TBD + + Returns: int + """ + return self._get_property("start") + + @start.setter + def start(self, value): + """start setter + + TBD + + value: int + """ + self._set_property("start", value) + + @property + def step(self): + # type: () -> int + """step getter + + TBD + + Returns: int + """ + return self._get_property("step") + + @step.setter + def step(self, value): + """step setter + + TBD + + value: int + """ + self._set_property("step", value) + + @property + def count(self): + # type: () -> int + """count getter + + TBD + + Returns: int + """ + return self._get_property("count") + + @count.setter + def count(self, value): + """count setter + + TBD + + value: int + """ + self._set_property("count", value) + + +class ChecksumPattern(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "checksum": {"type": "PatternChecksumPatternChecksum"}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None): + super(ChecksumPattern, self).__init__() + self._parent = parent + + @property + def checksum(self): + # type: () -> PatternChecksumPatternChecksum + """checksum getter + + TBDTBDTBD + + Returns: PatternChecksumPatternChecksum + """ + return self._get_property("checksum", PatternChecksumPatternChecksum) + + +class PatternChecksumPatternChecksum(OpenApiObject): + __slots__ = ("_parent", "_choice") + + _TYPES = { + "choice": { + "type": str, + "enum": [ + "generated", + "custom", + ], + }, + "generated": { + "type": str, + "enum": [ + "good", + "bad", + ], + }, + "custom": { + "type": int, + "format": "uint32", + "maximum": 255, + }, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = { + "choice": "generated", + "generated": "good", + } # type: Dict[str, Union(type)] + + GENERATED = "generated" # type: str + CUSTOM = "custom" # type: str + + GOOD = "good" # type: str + BAD = "bad" # type: str + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__( + self, parent=None, choice=None, generated="good", custom=None + ): + super(PatternChecksumPatternChecksum, self).__init__() + self._parent = parent + self._set_property("generated", generated) + self._set_property("custom", custom) + if ( + "choice" in self._DEFAULTS + and choice is None + and self._DEFAULTS["choice"] in self._TYPES + ): + getattr(self, self._DEFAULTS["choice"]) + else: + self._set_property("choice", choice) + + def set(self, generated=None, custom=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def choice(self): + # type: () -> Union[Literal["custom"], Literal["generated"]] + """choice getter + + The type of checksum + + Returns: Union[Literal["custom"], Literal["generated"]] + """ + return self._get_property("choice") + + @choice.setter + def choice(self, value): + """choice setter + + The type of checksum + + value: Union[Literal["custom"], Literal["generated"]] + """ + self._set_property("choice", value) + + @property + def generated(self): + # type: () -> Union[Literal["bad"], Literal["good"]] + """generated getter + + A system generated checksum value + + Returns: Union[Literal["bad"], Literal["good"]] + """ + return self._get_property("generated") + + @generated.setter + def generated(self, value): + """generated setter + + A system generated checksum value + + value: Union[Literal["bad"], Literal["good"]] + """ + self._set_property("generated", value, "generated") + + @property + def custom(self): + # type: () -> int + """custom getter + + A custom checksum value + + Returns: int + """ + return self._get_property("custom") + + @custom.setter + def custom(self, value): + """custom setter + + A custom checksum value + + value: int + """ + self._set_property("custom", value, "custom") + + +class Layer1Ieee802x(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "flow_control": {"type": bool}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, flow_control=None): + super(Layer1Ieee802x, self).__init__() + self._parent = parent + self._set_property("flow_control", flow_control) + + def set(self, flow_control=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def flow_control(self): + # type: () -> bool + """flow_control getter + + TBD + + Returns: bool + """ + return self._get_property("flow_control") + + @flow_control.setter + def flow_control(self, value): + """flow_control setter + + TBD + + value: bool + """ + self._set_property("flow_control", value) + + +class MObject(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "string_param": {"type": str}, + "integer": { + "type": int, + "format": "int32", + "minimum": -10, + "maximum": 90, + }, + "float": { + "type": float, + "format": "float", + }, + "double": { + "type": float, + "format": "double", + }, + "mac": { + "type": str, + "format": "mac", + }, + "ipv4": { + "type": str, + "format": "ipv4", + }, + "ipv6": { + "type": str, + "format": "ipv6", + }, + "hex": { + "type": str, + "format": "hex", + }, + } # type: Dict[str, str] + + _REQUIRED = ( + "string_param", + "integer", + "float", + "double", + "mac", + "ipv4", + "ipv6", + "hex", + ) # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__( + self, + parent=None, + string_param=None, + integer=None, + float=None, + double=None, + mac=None, + ipv4=None, + ipv6=None, + hex=None, + ): + super(MObject, self).__init__() + self._parent = parent + self._set_property("string_param", string_param) + self._set_property("integer", integer) + self._set_property("float", float) + self._set_property("double", double) + self._set_property("mac", mac) + self._set_property("ipv4", ipv4) + self._set_property("ipv6", ipv6) + self._set_property("hex", hex) + + def set( + self, + string_param=None, + integer=None, + float=None, + double=None, + mac=None, + ipv4=None, + ipv6=None, + hex=None, + ): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def string_param(self): + # type: () -> str + """string_param getter + + TBD + + Returns: str + """ + return self._get_property("string_param") + + @string_param.setter + def string_param(self, value): + """string_param setter + + TBD + + value: str + """ + if value is None: + raise TypeError( + "Cannot set required property string_param as None" + ) + self._set_property("string_param", value) + + @property + def integer(self): + # type: () -> int + """integer getter + + TBD + + Returns: int + """ + return self._get_property("integer") + + @integer.setter + def integer(self, value): + """integer setter + + TBD + + value: int + """ + if value is None: + raise TypeError("Cannot set required property integer as None") + self._set_property("integer", value) + + @property + def float(self): + # type: () -> float + """float getter + + TBD + + Returns: float + """ + return self._get_property("float") + + @float.setter + def float(self, value): + """float setter + + TBD + + value: float + """ + if value is None: + raise TypeError("Cannot set required property float as None") + self._set_property("float", value) + + @property + def double(self): + # type: () -> float + """double getter + + TBD + + Returns: float + """ + return self._get_property("double") + + @double.setter + def double(self, value): + """double setter + + TBD + + value: float + """ + if value is None: + raise TypeError("Cannot set required property double as None") + self._set_property("double", value) + + @property + def mac(self): + # type: () -> str + """mac getter + + TBD + + Returns: str + """ + return self._get_property("mac") + + @mac.setter + def mac(self, value): + """mac setter + + TBD + + value: str + """ + if value is None: + raise TypeError("Cannot set required property mac as None") + self._set_property("mac", value) + + @property + def ipv4(self): + # type: () -> str + """ipv4 getter + + TBD + + Returns: str + """ + return self._get_property("ipv4") + + @ipv4.setter + def ipv4(self, value): + """ipv4 setter + + TBD + + value: str + """ + if value is None: + raise TypeError("Cannot set required property ipv4 as None") + self._set_property("ipv4", value) + + @property + def ipv6(self): + # type: () -> str + """ipv6 getter + + TBD + + Returns: str + """ + return self._get_property("ipv6") + + @ipv6.setter + def ipv6(self, value): + """ipv6 setter + + TBD + + value: str + """ + if value is None: + raise TypeError("Cannot set required property ipv6 as None") + self._set_property("ipv6", value) + + @property + def hex(self): + # type: () -> str + """hex getter + + TBD + + Returns: str + """ + return self._get_property("hex") + + @hex.setter + def hex(self, value): + """hex setter + + TBD + + value: str + """ + if value is None: + raise TypeError("Cannot set required property hex as None") + self._set_property("hex", value) + + +class PatternPrefixConfigHeaderChecksum(OpenApiObject): + __slots__ = ("_parent", "_choice") + + _TYPES = { + "choice": { + "type": str, + "enum": [ + "generated", + "custom", + ], + }, + "generated": { + "type": str, + "enum": [ + "good", + "bad", + ], + }, + "custom": { + "type": int, + "format": "uint32", + "maximum": 65535, + }, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = { + "choice": "generated", + "generated": "good", + } # type: Dict[str, Union(type)] + + GENERATED = "generated" # type: str + CUSTOM = "custom" # type: str + + GOOD = "good" # type: str + BAD = "bad" # type: str + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__( + self, parent=None, choice=None, generated="good", custom=None + ): + super(PatternPrefixConfigHeaderChecksum, self).__init__() + self._parent = parent + self._set_property("generated", generated) + self._set_property("custom", custom) + if ( + "choice" in self._DEFAULTS + and choice is None + and self._DEFAULTS["choice"] in self._TYPES + ): + getattr(self, self._DEFAULTS["choice"]) + else: + self._set_property("choice", choice) + + def set(self, generated=None, custom=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def choice(self): + # type: () -> Union[Literal["custom"], Literal["generated"]] + """choice getter + + The type of checksum + + Returns: Union[Literal["custom"], Literal["generated"]] + """ + return self._get_property("choice") + + @choice.setter + def choice(self, value): + """choice setter + + The type of checksum + + value: Union[Literal["custom"], Literal["generated"]] + """ + self._set_property("choice", value) + + @property + def generated(self): + # type: () -> Union[Literal["bad"], Literal["good"]] + """generated getter + + A system generated checksum value + + Returns: Union[Literal["bad"], Literal["good"]] + """ + return self._get_property("generated") + + @generated.setter + def generated(self, value): + """generated setter + + A system generated checksum value + + value: Union[Literal["bad"], Literal["good"]] + """ + self._set_property("generated", value, "generated") + + @property + def custom(self): + # type: () -> int + """custom getter + + A custom checksum value + + Returns: int + """ + return self._get_property("custom") + + @custom.setter + def custom(self, value): + """custom setter + + A custom checksum value + + value: int + """ + self._set_property("custom", value, "custom") + + +class PatternPrefixConfigAutoFieldTest(OpenApiObject): + __slots__ = ("_parent", "_choice") + + _TYPES = { + "choice": { + "type": str, + "enum": [ + "value", + "values", + "auto", + "increment", + "decrement", + ], + }, + "value": { + "type": int, + "format": "uint32", + "maximum": 255, + }, + "values": { + "type": list, + "itemtype": int, + "itemformat": "uint32", + "maximum": 255, + }, + "auto": { + "type": int, + "format": "uint32", + "maximum": 255, + }, + "increment": {"type": "PatternPrefixConfigAutoFieldTestCounter"}, + "decrement": {"type": "PatternPrefixConfigAutoFieldTestCounter"}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = { + "choice": "auto", + "value": 0, + "values": [0], + "auto": 0, + } # type: Dict[str, Union(type)] + + VALUE = "value" # type: str + VALUES = "values" # type: str + AUTO = "auto" # type: str + INCREMENT = "increment" # type: str + DECREMENT = "decrement" # type: str + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, choice=None, value=0, values=[0], auto=0): + super(PatternPrefixConfigAutoFieldTest, self).__init__() + self._parent = parent + self._set_property("value", value) + self._set_property("values", values) + self._set_property("auto", auto) + if ( + "choice" in self._DEFAULTS + and choice is None + and self._DEFAULTS["choice"] in self._TYPES + ): + getattr(self, self._DEFAULTS["choice"]) + else: + self._set_property("choice", choice) + + def set(self, value=None, values=None, auto=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def increment(self): + # type: () -> PatternPrefixConfigAutoFieldTestCounter + """Factory property that returns an instance of the PatternPrefixConfigAutoFieldTestCounter class + + integer counter pattern + + Returns: PatternPrefixConfigAutoFieldTestCounter + """ + return self._get_property( + "increment", + PatternPrefixConfigAutoFieldTestCounter, + self, + "increment", + ) + + @property + def decrement(self): + # type: () -> PatternPrefixConfigAutoFieldTestCounter + """Factory property that returns an instance of the PatternPrefixConfigAutoFieldTestCounter class + + integer counter pattern + + Returns: PatternPrefixConfigAutoFieldTestCounter + """ + return self._get_property( + "decrement", + PatternPrefixConfigAutoFieldTestCounter, + self, + "decrement", + ) + + @property + def choice(self): + # type: () -> Union[Literal["auto"], Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] + """choice getter + + TBD + + Returns: Union[Literal["auto"], Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] + """ + return self._get_property("choice") + + @choice.setter + def choice(self, value): + """choice setter + + TBD + + value: Union[Literal["auto"], Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] + """ + self._set_property("choice", value) + + @property + def value(self): + # type: () -> int + """value getter + + TBD + + Returns: int + """ + return self._get_property("value") + + @value.setter + def value(self, value): + """value setter + + TBD + + value: int + """ + self._set_property("value", value, "value") + + @property + def values(self): + # type: () -> List[int] + """values getter + + TBD + + Returns: List[int] + """ + return self._get_property("values") + + @values.setter + def values(self, value): + """values setter + + TBD + + value: List[int] + """ + self._set_property("values", value, "values") + + @property + def auto(self): + # type: () -> int + """auto getter + + The OTG implementation can provide system generated. value for this property. If the OTG is unable to generate value. the default value must be used. + + Returns: int + """ + return self._get_property("auto") + + +class PatternPrefixConfigAutoFieldTestCounter(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "start": { + "type": int, + "format": "uint32", + "maximum": 255, + }, + "step": { + "type": int, + "format": "uint32", + "maximum": 255, + }, + "count": { + "type": int, + "format": "uint32", + "maximum": 255, + }, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = { + "start": 0, + "step": 1, + "count": 1, + } # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, start=0, step=1, count=1): + super(PatternPrefixConfigAutoFieldTestCounter, self).__init__() + self._parent = parent + self._set_property("start", start) + self._set_property("step", step) + self._set_property("count", count) + + def set(self, start=None, step=None, count=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def start(self): + # type: () -> int + """start getter + + TBD + + Returns: int + """ + return self._get_property("start") + + @start.setter + def start(self, value): + """start setter + + TBD + + value: int + """ + self._set_property("start", value) + + @property + def step(self): + # type: () -> int + """step getter + + TBD + + Returns: int + """ + return self._get_property("step") + + @step.setter + def step(self, value): + """step setter + + TBD + + value: int + """ + self._set_property("step", value) + + @property + def count(self): + # type: () -> int + """count getter + + TBD + + Returns: int + """ + return self._get_property("count") + + @count.setter + def count(self, value): + """count setter + + TBD + + value: int + """ + self._set_property("count", value) + + +class WObject(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "w_name": {"type": str}, + } # type: Dict[str, str] + + _REQUIRED = ("w_name",) # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, w_name=None): + super(WObject, self).__init__() + self._parent = parent + self._set_property("w_name", w_name) + + def set(self, w_name=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def w_name(self): + # type: () -> str + """w_name getter + + TBD + + Returns: str + """ + return self._get_property("w_name") + + @w_name.setter + def w_name(self, value): + """w_name setter + + TBD + + value: str + """ + if value is None: + raise TypeError("Cannot set required property w_name as None") + self._set_property("w_name", value) + + +class WObjectIter(OpenApiIter): + __slots__ = ("_parent", "_choice") + + _GETITEM_RETURNS_CHOICE_OBJECT = False + + def __init__(self, parent=None, choice=None): + super(WObjectIter, self).__init__() + self._parent = parent + self._choice = choice + + def __getitem__(self, key): + # type: (str) -> Union[WObject] + return self._getitem(key) + + def __iter__(self): + # type: () -> WObjectIter + return self._iter() + + def __next__(self): + # type: () -> WObject + return self._next() + + def next(self): + # type: () -> WObject + return self._next() + + def _instanceOf(self, item): + if not isinstance(item, WObject): + raise Exception("Item is not an instance of WObject") + + def wobject(self, w_name=None): + # type: (str) -> WObjectIter + """Factory method that creates an instance of the WObject class + + TBD + + Returns: WObjectIter + """ + item = WObject(parent=self._parent, w_name=w_name) + self._add(item) + return self + + def add(self, w_name=None): + # type: (str) -> WObject + """Add method that creates and returns an instance of the WObject class + + TBD + + Returns: WObject + """ + item = WObject(parent=self._parent, w_name=w_name) + self._add(item) + return item + + +class ZObject(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "name": {"type": str}, + } # type: Dict[str, str] + + _REQUIRED = ("name",) # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, name=None): + super(ZObject, self).__init__() + self._parent = parent + self._set_property("name", name) + + def set(self, name=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def name(self): + # type: () -> str + """name getter + + TBD + + Returns: str + """ + return self._get_property("name") + + @name.setter + def name(self, value): + """name setter + + TBD + + value: str + """ + if value is None: + raise TypeError("Cannot set required property name as None") + self._set_property("name", value) + + +class ZObjectIter(OpenApiIter): + __slots__ = ("_parent", "_choice") + + _GETITEM_RETURNS_CHOICE_OBJECT = False + + def __init__(self, parent=None, choice=None): + super(ZObjectIter, self).__init__() + self._parent = parent + self._choice = choice + + def __getitem__(self, key): + # type: (str) -> Union[ZObject] + return self._getitem(key) + + def __iter__(self): + # type: () -> ZObjectIter + return self._iter() + + def __next__(self): + # type: () -> ZObject + return self._next() + + def next(self): + # type: () -> ZObject + return self._next() + + def _instanceOf(self, item): + if not isinstance(item, ZObject): + raise Exception("Item is not an instance of ZObject") + + def zobject(self, name=None): + # type: (str) -> ZObjectIter + """Factory method that creates an instance of the ZObject class + + TBD + + Returns: ZObjectIter + """ + item = ZObject(parent=self._parent, name=name) + self._add(item) + return self + + def add(self, name=None): + # type: (str) -> ZObject + """Add method that creates and returns an instance of the ZObject class + + TBD + + Returns: ZObject + """ + item = ZObject(parent=self._parent, name=name) + self._add(item) + return item + + +class YObject(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "y_name": {"type": str}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, y_name=None): + super(YObject, self).__init__() + self._parent = parent + self._set_property("y_name", y_name) + + def set(self, y_name=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def y_name(self): + # type: () -> str + """y_name getter + + TBD. x-constraint:. /components/schemas/ZObject/properties/name. /components/schemas/WObject/properties/w_name. + + Returns: str + """ + return self._get_property("y_name") + + @y_name.setter + def y_name(self, value): + """y_name setter + + TBD. x-constraint:. /components/schemas/ZObject/properties/name. /components/schemas/WObject/properties/w_name. + + value: str + """ + self._set_property("y_name", value) + + +class ChoiceObject(OpenApiObject): + __slots__ = ("_parent", "_choice") + + _TYPES = { + "choice": { + "type": str, + "enum": [ + "e_obj", + "f_obj", + "no_obj", + ], + }, + "e_obj": {"type": "EObject"}, + "f_obj": {"type": "FObject"}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = { + "choice": "no_obj", + } # type: Dict[str, Union(type)] + + E_OBJ = "e_obj" # type: str + F_OBJ = "f_obj" # type: str + NO_OBJ = "no_obj" # type: str + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, choice=None): + super(ChoiceObject, self).__init__() + self._parent = parent + if ( + "choice" in self._DEFAULTS + and choice is None + and self._DEFAULTS["choice"] in self._TYPES + ): + getattr(self, self._DEFAULTS["choice"]) + else: + self._set_property("choice", choice) + + @property + def e_obj(self): + # type: () -> EObject + """Factory property that returns an instance of the EObject class + + TBD + + Returns: EObject + """ + return self._get_property("e_obj", EObject, self, "e_obj") + + @property + def f_obj(self): + # type: () -> FObject + """Factory property that returns an instance of the FObject class + + TBD + + Returns: FObject + """ + return self._get_property("f_obj", FObject, self, "f_obj") + + @property + def choice(self): + # type: () -> Union[Literal["e_obj"], Literal["f_obj"], Literal["no_obj"]] + """choice getter + + TBD + + Returns: Union[Literal["e_obj"], Literal["f_obj"], Literal["no_obj"]] + """ + return self._get_property("choice") + + @choice.setter + def choice(self, value): + """choice setter + + TBD + + value: Union[Literal["e_obj"], Literal["f_obj"], Literal["no_obj"]] + """ + self._set_property("choice", value) + + +class ChoiceObjectIter(OpenApiIter): + __slots__ = ("_parent", "_choice") + + _GETITEM_RETURNS_CHOICE_OBJECT = True + + def __init__(self, parent=None, choice=None): + super(ChoiceObjectIter, self).__init__() + self._parent = parent + self._choice = choice + + def __getitem__(self, key): + # type: (str) -> Union[ChoiceObject, EObject, FObject] + return self._getitem(key) + + def __iter__(self): + # type: () -> ChoiceObjectIter + return self._iter() + + def __next__(self): + # type: () -> ChoiceObject + return self._next() + + def next(self): + # type: () -> ChoiceObject + return self._next() + + def _instanceOf(self, item): + if not isinstance(item, ChoiceObject): + raise Exception("Item is not an instance of ChoiceObject") + + def choiceobject(self): + # type: () -> ChoiceObjectIter + """Factory method that creates an instance of the ChoiceObject class + + TBD + + Returns: ChoiceObjectIter + """ + item = ChoiceObject(parent=self._parent, choice=self._choice) + self._add(item) + return self + + def add(self): + # type: () -> ChoiceObject + """Add method that creates and returns an instance of the ChoiceObject class + + TBD + + Returns: ChoiceObject + """ + item = ChoiceObject(parent=self._parent, choice=self._choice) + self._add(item) + return item + + def e_obj( + self, e_a=None, e_b=None, name=None, m_param1=None, m_param2=None + ): + # type: (float,float,str,str,str) -> ChoiceObjectIter + """Factory method that creates an instance of the EObject class + + TBD + + Returns: ChoiceObjectIter + """ + item = ChoiceObject() + item.e_obj + item.choice = "e_obj" + self._add(item) + return self + + def f_obj(self, f_a="some string", f_b=3.0): + # type: (str,float) -> ChoiceObjectIter + """Factory method that creates an instance of the FObject class + + TBD + + Returns: ChoiceObjectIter + """ + item = ChoiceObject() + item.f_obj + item.choice = "f_obj" + self._add(item) + return self + + +class RequiredChoiceParent(OpenApiObject): + __slots__ = ("_parent", "_choice") + + _TYPES = { + "choice": { + "type": str, + "enum": [ + "intermediate_obj", + "no_obj", + ], + }, + "intermediate_obj": {"type": "RequiredChoiceIntermediate"}, + } # type: Dict[str, str] + + _REQUIRED = ("choice",) # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + INTERMEDIATE_OBJ = "intermediate_obj" # type: str + NO_OBJ = "no_obj" # type: str + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, choice=None): + super(RequiredChoiceParent, self).__init__() + self._parent = parent + if ( + "choice" in self._DEFAULTS + and choice is None + and self._DEFAULTS["choice"] in self._TYPES + ): + getattr(self, self._DEFAULTS["choice"]) + else: + self._set_property("choice", choice) + + @property + def intermediate_obj(self): + # type: () -> RequiredChoiceIntermediate + """Factory property that returns an instance of the RequiredChoiceIntermediate class + + TBD + + Returns: RequiredChoiceIntermediate + """ + return self._get_property( + "intermediate_obj", + RequiredChoiceIntermediate, + self, + "intermediate_obj", + ) + + @property + def choice(self): + # type: () -> Union[Literal["intermediate_obj"], Literal["no_obj"]] + """choice getter + + TBD + + Returns: Union[Literal["intermediate_obj"], Literal["no_obj"]] + """ + return self._get_property("choice") + + @choice.setter + def choice(self, value): + """choice setter + + TBD + + value: Union[Literal["intermediate_obj"], Literal["no_obj"]] + """ + if value is None: + raise TypeError("Cannot set required property choice as None") + self._set_property("choice", value) + + +class RequiredChoiceIntermediate(OpenApiObject): + __slots__ = ("_parent", "_choice") + + _TYPES = { + "choice": { + "type": str, + "enum": [ + "f_a", + "leaf", + ], + }, + "f_a": {"type": str}, + "leaf": {"type": "RequiredChoiceIntermeLeaf"}, + } # type: Dict[str, str] + + _REQUIRED = ("choice",) # type: tuple(str) + + _DEFAULTS = { + "f_a": "some string", + } # type: Dict[str, Union(type)] + + F_A = "f_a" # type: str + LEAF = "leaf" # type: str + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, choice=None, f_a="some string"): + super(RequiredChoiceIntermediate, self).__init__() + self._parent = parent + self._set_property("f_a", f_a) + if ( + "choice" in self._DEFAULTS + and choice is None + and self._DEFAULTS["choice"] in self._TYPES + ): + getattr(self, self._DEFAULTS["choice"]) + else: + self._set_property("choice", choice) + + def set(self, f_a=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def leaf(self): + # type: () -> RequiredChoiceIntermeLeaf + """Factory property that returns an instance of the RequiredChoiceIntermeLeaf class + + TBD + + Returns: RequiredChoiceIntermeLeaf + """ + return self._get_property( + "leaf", RequiredChoiceIntermeLeaf, self, "leaf" + ) + + @property + def choice(self): + # type: () -> Union[Literal["f_a"], Literal["leaf"]] + """choice getter + + TBD + + Returns: Union[Literal["f_a"], Literal["leaf"]] + """ + return self._get_property("choice") + + @choice.setter + def choice(self, value): + """choice setter + + TBD + + value: Union[Literal["f_a"], Literal["leaf"]] + """ + if value is None: + raise TypeError("Cannot set required property choice as None") + self._set_property("choice", value) + + @property + def f_a(self): + # type: () -> str + """f_a getter + + TBD + + Returns: str + """ + return self._get_property("f_a") + + @f_a.setter + def f_a(self, value): + """f_a setter + + TBD + + value: str + """ + self._set_property("f_a", value, "f_a") + + +class RequiredChoiceIntermeLeaf(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "name": {"type": str}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, name=None): + super(RequiredChoiceIntermeLeaf, self).__init__() + self._parent = parent + self._set_property("name", name) + + def set(self, name=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def name(self): + # type: () -> str + """name getter + + TBD + + Returns: str + """ + return self._get_property("name") + + @name.setter + def name(self, value): + """name setter + + TBD + + value: str + """ + self._set_property("name", value) + + +class Error(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "code": { + "type": int, + "format": "int32", + }, + "kind": { + "type": str, + "enum": [ + "transport", + "validation", + "internal", + ], + }, + "errors": { + "type": list, + "itemtype": str, + }, + } # type: Dict[str, str] + + _REQUIRED = ("code", "errors") # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + TRANSPORT = "transport" # type: str + VALIDATION = "validation" # type: str + INTERNAL = "internal" # type: str + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, code=None, kind=None, errors=None): + super(Error, self).__init__() + self._parent = parent + self._set_property("code", code) + self._set_property("kind", kind) + self._set_property("errors", errors) + + def set(self, code=None, kind=None, errors=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def code(self): + # type: () -> int + """code getter + + Numeric status code based on underlying transport being used. + + Returns: int + """ + return self._get_property("code") + + @code.setter + def code(self, value): + """code setter + + Numeric status code based on underlying transport being used. + + value: int + """ + if value is None: + raise TypeError("Cannot set required property code as None") + self._set_property("code", value) + + @property + def kind(self): + # type: () -> Union[Literal["internal"], Literal["transport"], Literal["validation"]] + """kind getter + + Kind of error message. + + Returns: Union[Literal["internal"], Literal["transport"], Literal["validation"]] + """ + return self._get_property("kind") + + @kind.setter + def kind(self, value): + """kind setter + + Kind of error message. + + value: Union[Literal["internal"], Literal["transport"], Literal["validation"]] + """ + self._set_property("kind", value) + + @property + def errors(self): + # type: () -> List[str] + """errors getter + + List of error messages generated while serving API request. + + Returns: List[str] + """ + return self._get_property("errors") + + @errors.setter + def errors(self, value): + """errors setter + + List of error messages generated while serving API request. + + value: List[str] + """ + if value is None: + raise TypeError("Cannot set required property errors as None") + self._set_property("errors", value) + + +class UpdateConfig(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "g": {"type": "GObjectIter"}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = { + "self": "UpdateConfig is under_review, the whole schema is being reviewed", + } # type: Dict[str, Union(type)] + + def __init__(self, parent=None): + super(UpdateConfig, self).__init__() + self._parent = parent + + @property + def g(self): + # type: () -> GObjectIter + """g getter + + A list of objects with choice and properties + + Returns: GObjectIter + """ + return self._get_property("g", GObjectIter, self._parent, self._choice) + + +class MetricsRequest(OpenApiObject): + __slots__ = ("_parent", "_choice") + + _TYPES = { + "choice": { + "type": str, + "enum": [ + "port", + "flow", + ], + }, + "port": {"type": str}, + "flow": {"type": str}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = { + "choice": "port", + } # type: Dict[str, Union(type)] + + PORT = "port" # type: str + FLOW = "flow" # type: str + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, choice=None, port=None, flow=None): + super(MetricsRequest, self).__init__() + self._parent = parent + self._set_property("port", port) + self._set_property("flow", flow) + if ( + "choice" in self._DEFAULTS + and choice is None + and self._DEFAULTS["choice"] in self._TYPES + ): + getattr(self, self._DEFAULTS["choice"]) + else: + self._set_property("choice", choice) + + def set(self, port=None, flow=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def choice(self): + # type: () -> Union[Literal["flow"], Literal["port"]] + """choice getter + + TBD + + Returns: Union[Literal["flow"], Literal["port"]] + """ + return self._get_property("choice") + + @choice.setter + def choice(self, value): + """choice setter + + TBD + + value: Union[Literal["flow"], Literal["port"]] + """ + self._set_property("choice", value) + + @property + def port(self): + # type: () -> str + """port getter + + TBD + + Returns: str + """ + return self._get_property("port") + + @port.setter + def port(self, value): + """port setter + + TBD + + value: str + """ + self._set_property("port", value, "port") + + @property + def flow(self): + # type: () -> str + """flow getter + + TBD + + Returns: str + """ + return self._get_property("flow") + + @flow.setter + def flow(self, value): + """flow setter + + TBD + + value: str + """ + self._set_property("flow", value, "flow") + + +class Metrics(OpenApiObject): + __slots__ = ("_parent", "_choice") + + _TYPES = { + "choice": { + "type": str, + "enum": [ + "ports", + "flows", + ], + }, + "ports": {"type": "PortMetricIter"}, + "flows": {"type": "FlowMetricIter"}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = { + "choice": "ports", + } # type: Dict[str, Union(type)] + + PORTS = "ports" # type: str + FLOWS = "flows" # type: str + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, choice=None): + super(Metrics, self).__init__() + self._parent = parent + if ( + "choice" in self._DEFAULTS + and choice is None + and self._DEFAULTS["choice"] in self._TYPES + ): + getattr(self, self._DEFAULTS["choice"]) + else: + self._set_property("choice", choice) + + @property + def choice(self): + # type: () -> Union[Literal["flows"], Literal["ports"]] + """choice getter + + TBD + + Returns: Union[Literal["flows"], Literal["ports"]] + """ + return self._get_property("choice") + + @choice.setter + def choice(self, value): + """choice setter + + TBD + + value: Union[Literal["flows"], Literal["ports"]] + """ + self._set_property("choice", value) + + @property + def ports(self): + # type: () -> PortMetricIter + """ports getter + + TBD + + Returns: PortMetricIter + """ + return self._get_property( + "ports", PortMetricIter, self._parent, self._choice + ) + + @property + def flows(self): + # type: () -> FlowMetricIter + """flows getter + + TBD + + Returns: FlowMetricIter + """ + return self._get_property( + "flows", FlowMetricIter, self._parent, self._choice + ) + + +class PortMetric(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "name": {"type": str}, + "tx_frames": { + "type": float, + "format": "double", + }, + "rx_frames": { + "type": float, + "format": "double", + }, + } # type: Dict[str, str] + + _REQUIRED = ("name", "tx_frames", "rx_frames") # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, name=None, tx_frames=None, rx_frames=None): + super(PortMetric, self).__init__() + self._parent = parent + self._set_property("name", name) + self._set_property("tx_frames", tx_frames) + self._set_property("rx_frames", rx_frames) + + def set(self, name=None, tx_frames=None, rx_frames=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def name(self): + # type: () -> str + """name getter + + TBD + + Returns: str + """ + return self._get_property("name") + + @name.setter + def name(self, value): + """name setter + + TBD + + value: str + """ + if value is None: + raise TypeError("Cannot set required property name as None") + self._set_property("name", value) + + @property + def tx_frames(self): + # type: () -> float + """tx_frames getter + + TBD + + Returns: float + """ + return self._get_property("tx_frames") + + @tx_frames.setter + def tx_frames(self, value): + """tx_frames setter + + TBD + + value: float + """ + if value is None: + raise TypeError("Cannot set required property tx_frames as None") + self._set_property("tx_frames", value) + + @property + def rx_frames(self): + # type: () -> float + """rx_frames getter + + TBD + + Returns: float + """ + return self._get_property("rx_frames") + + @rx_frames.setter + def rx_frames(self, value): + """rx_frames setter + + TBD + + value: float + """ + if value is None: + raise TypeError("Cannot set required property rx_frames as None") + self._set_property("rx_frames", value) + + +class PortMetricIter(OpenApiIter): + __slots__ = ("_parent", "_choice") + + _GETITEM_RETURNS_CHOICE_OBJECT = False + + def __init__(self, parent=None, choice=None): + super(PortMetricIter, self).__init__() + self._parent = parent + self._choice = choice + + def __getitem__(self, key): + # type: (str) -> Union[PortMetric] + return self._getitem(key) + + def __iter__(self): + # type: () -> PortMetricIter + return self._iter() + + def __next__(self): + # type: () -> PortMetric + return self._next() + + def next(self): + # type: () -> PortMetric + return self._next() + + def _instanceOf(self, item): + if not isinstance(item, PortMetric): + raise Exception("Item is not an instance of PortMetric") + + def metric(self, name=None, tx_frames=None, rx_frames=None): + # type: (str,float,float) -> PortMetricIter + """Factory method that creates an instance of the PortMetric class + + TBD + + Returns: PortMetricIter + """ + item = PortMetric( + parent=self._parent, + name=name, + tx_frames=tx_frames, + rx_frames=rx_frames, + ) + self._add(item) + return self + + def add(self, name=None, tx_frames=None, rx_frames=None): + # type: (str,float,float) -> PortMetric + """Add method that creates and returns an instance of the PortMetric class + + TBD + + Returns: PortMetric + """ + item = PortMetric( + parent=self._parent, + name=name, + tx_frames=tx_frames, + rx_frames=rx_frames, + ) + self._add(item) + return item + + +class FlowMetric(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "name": {"type": str}, + "tx_frames": { + "type": float, + "format": "double", + }, + "rx_frames": { + "type": float, + "format": "double", + }, + } # type: Dict[str, str] + + _REQUIRED = ("name", "tx_frames", "rx_frames") # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, name=None, tx_frames=None, rx_frames=None): + super(FlowMetric, self).__init__() + self._parent = parent + self._set_property("name", name) + self._set_property("tx_frames", tx_frames) + self._set_property("rx_frames", rx_frames) + + def set(self, name=None, tx_frames=None, rx_frames=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def name(self): + # type: () -> str + """name getter + + TBD + + Returns: str + """ + return self._get_property("name") + + @name.setter + def name(self, value): + """name setter + + TBD + + value: str + """ + if value is None: + raise TypeError("Cannot set required property name as None") + self._set_property("name", value) + + @property + def tx_frames(self): + # type: () -> float + """tx_frames getter + + TBD + + Returns: float + """ + return self._get_property("tx_frames") + + @tx_frames.setter + def tx_frames(self, value): + """tx_frames setter + + TBD + + value: float + """ + if value is None: + raise TypeError("Cannot set required property tx_frames as None") + self._set_property("tx_frames", value) + + @property + def rx_frames(self): + # type: () -> float + """rx_frames getter + + TBD + + Returns: float + """ + return self._get_property("rx_frames") + + @rx_frames.setter + def rx_frames(self, value): + """rx_frames setter + + TBD + + value: float + """ + if value is None: + raise TypeError("Cannot set required property rx_frames as None") + self._set_property("rx_frames", value) + + +class FlowMetricIter(OpenApiIter): + __slots__ = ("_parent", "_choice") + + _GETITEM_RETURNS_CHOICE_OBJECT = False + + def __init__(self, parent=None, choice=None): + super(FlowMetricIter, self).__init__() + self._parent = parent + self._choice = choice + + def __getitem__(self, key): + # type: (str) -> Union[FlowMetric] + return self._getitem(key) + + def __iter__(self): + # type: () -> FlowMetricIter + return self._iter() + + def __next__(self): + # type: () -> FlowMetric + return self._next() + + def next(self): + # type: () -> FlowMetric + return self._next() + + def _instanceOf(self, item): + if not isinstance(item, FlowMetric): + raise Exception("Item is not an instance of FlowMetric") + + def metric(self, name=None, tx_frames=None, rx_frames=None): + # type: (str,float,float) -> FlowMetricIter + """Factory method that creates an instance of the FlowMetric class + + TBD + + Returns: FlowMetricIter + """ + item = FlowMetric( + parent=self._parent, + name=name, + tx_frames=tx_frames, + rx_frames=rx_frames, + ) + self._add(item) + return self + + def add(self, name=None, tx_frames=None, rx_frames=None): + # type: (str,float,float) -> FlowMetric + """Add method that creates and returns an instance of the FlowMetric class + + TBD + + Returns: FlowMetric + """ + item = FlowMetric( + parent=self._parent, + name=name, + tx_frames=tx_frames, + rx_frames=rx_frames, + ) + self._add(item) + return item + + +class WarningDetails(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "warnings": { + "type": list, + "itemtype": str, + }, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, warnings=None): + super(WarningDetails, self).__init__() + self._parent = parent + self._set_property("warnings", warnings) + + def set(self, warnings=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def warnings(self): + # type: () -> List[str] + """warnings getter + + TBD + + Returns: List[str] + """ + return self._get_property("warnings") + + @warnings.setter + def warnings(self, value): + """warnings setter + + TBD + + value: List[str] + """ + self._set_property("warnings", value) + + +class CommonResponseSuccess(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "message": {"type": str}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, message=None): + super(CommonResponseSuccess, self).__init__() + self._parent = parent + self._set_property("message", message) + + def set(self, message=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def message(self): + # type: () -> str + """message getter + + TBD + + Returns: str + """ + return self._get_property("message") + + @message.setter + def message(self, value): + """message setter + + TBD + + value: str + """ + self._set_property("message", value) + + +class ApiTestInputBody(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "some_string": {"type": str}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None, some_string=None): + super(ApiTestInputBody, self).__init__() + self._parent = parent + self._set_property("some_string", some_string) + + def set(self, some_string=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def some_string(self): + # type: () -> str + """some_string getter + + TBD + + Returns: str + """ + return self._get_property("some_string") + + @some_string.setter + def some_string(self, value): + """some_string setter + + TBD + + value: str + """ + self._set_property("some_string", value) + + +class ServiceAbcItemList(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "items": {"type": "ServiceAbcItemIter"}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__(self, parent=None): + super(ServiceAbcItemList, self).__init__() + self._parent = parent + + @property + def items(self): + # type: () -> ServiceAbcItemIter + """items getter + + TBD + + Returns: ServiceAbcItemIter + """ + return self._get_property( + "items", ServiceAbcItemIter, self._parent, self._choice + ) + + +class ServiceAbcItem(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "some_id": {"type": str}, + "some_string": {"type": str}, + "path_id": {"type": str}, + "level_2": {"type": str}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = {} # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__( + self, + parent=None, + some_id=None, + some_string=None, + path_id=None, + level_2=None, + ): + super(ServiceAbcItem, self).__init__() + self._parent = parent + self._set_property("some_id", some_id) + self._set_property("some_string", some_string) + self._set_property("path_id", path_id) + self._set_property("level_2", level_2) + + def set(self, some_id=None, some_string=None, path_id=None, level_2=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def some_id(self): + # type: () -> str + """some_id getter + + TBD + + Returns: str + """ + return self._get_property("some_id") + + @some_id.setter + def some_id(self, value): + """some_id setter + + TBD + + value: str + """ + self._set_property("some_id", value) + + @property + def some_string(self): + # type: () -> str + """some_string getter + + TBD + + Returns: str + """ + return self._get_property("some_string") + + @some_string.setter + def some_string(self, value): + """some_string setter + + TBD + + value: str + """ + self._set_property("some_string", value) + + @property + def path_id(self): + # type: () -> str + """path_id getter + + TBD + + Returns: str + """ + return self._get_property("path_id") + + @path_id.setter + def path_id(self, value): + """path_id setter + + TBD + + value: str + """ + self._set_property("path_id", value) + + @property + def level_2(self): + # type: () -> str + """level_2 getter + + TBD + + Returns: str + """ + return self._get_property("level_2") + + @level_2.setter + def level_2(self, value): + """level_2 setter + + TBD + + value: str + """ + self._set_property("level_2", value) + + +class ServiceAbcItemIter(OpenApiIter): + __slots__ = ("_parent", "_choice") + + _GETITEM_RETURNS_CHOICE_OBJECT = False + + def __init__(self, parent=None, choice=None): + super(ServiceAbcItemIter, self).__init__() + self._parent = parent + self._choice = choice + + def __getitem__(self, key): + # type: (str) -> Union[ServiceAbcItem] + return self._getitem(key) + + def __iter__(self): + # type: () -> ServiceAbcItemIter + return self._iter() + + def __next__(self): + # type: () -> ServiceAbcItem + return self._next() + + def next(self): + # type: () -> ServiceAbcItem + return self._next() + + def _instanceOf(self, item): + if not isinstance(item, ServiceAbcItem): + raise Exception("Item is not an instance of ServiceAbcItem") + + def item(self, some_id=None, some_string=None, path_id=None, level_2=None): + # type: (str,str,str,str) -> ServiceAbcItemIter + """Factory method that creates an instance of the ServiceAbcItem class + + TBD + + Returns: ServiceAbcItemIter + """ + item = ServiceAbcItem( + parent=self._parent, + some_id=some_id, + some_string=some_string, + path_id=path_id, + level_2=level_2, + ) + self._add(item) + return self + + def add(self, some_id=None, some_string=None, path_id=None, level_2=None): + # type: (str,str,str,str) -> ServiceAbcItem + """Add method that creates and returns an instance of the ServiceAbcItem class + + TBD + + Returns: ServiceAbcItem + """ + item = ServiceAbcItem( + parent=self._parent, + some_id=some_id, + some_string=some_string, + path_id=path_id, + level_2=level_2, + ) + self._add(item) + return item + + +class Version(OpenApiObject): + __slots__ = "_parent" + + _TYPES = { + "api_spec_version": {"type": str}, + "sdk_version": {"type": str}, + "app_version": {"type": str}, + } # type: Dict[str, str] + + _REQUIRED = () # type: tuple(str) + + _DEFAULTS = { + "api_spec_version": "", + "sdk_version": "", + "app_version": "", + } # type: Dict[str, Union(type)] + + _STATUS = {} # type: Dict[str, Union(type)] + + def __init__( + self, parent=None, api_spec_version="", sdk_version="", app_version="" + ): + super(Version, self).__init__() + self._parent = parent + self._set_property("api_spec_version", api_spec_version) + self._set_property("sdk_version", sdk_version) + self._set_property("app_version", app_version) + + def set(self, api_spec_version=None, sdk_version=None, app_version=None): + for property_name, property_value in locals().items(): + if property_name != "self" and property_value is not None: + self._set_property(property_name, property_value) + + @property + def api_spec_version(self): + # type: () -> str + """api_spec_version getter + + Version of API specification + + Returns: str + """ + return self._get_property("api_spec_version") + + @api_spec_version.setter + def api_spec_version(self, value): + """api_spec_version setter + + Version of API specification + + value: str + """ + self._set_property("api_spec_version", value) + + @property + def sdk_version(self): + # type: () -> str + """sdk_version getter + + Version of SDK generated from API specification + + Returns: str + """ + return self._get_property("sdk_version") + + @sdk_version.setter + def sdk_version(self, value): + """sdk_version setter + + Version of SDK generated from API specification + + value: str + """ + self._set_property("sdk_version", value) + + @property + def app_version(self): + # type: () -> str + """app_version getter + + Version of application consuming or serving the API + + Returns: str + """ + return self._get_property("app_version") + + @app_version.setter + def app_version(self, value): + """app_version setter + + Version of application consuming or serving the API + + value: str + """ + self._set_property("app_version", value) + + +class Api(object): + """OpenApi Abstract API""" + + __warnings__ = [] + + def __init__(self, **kwargs): + self._version_meta = self.version() + self._version_meta.api_spec_version = "0.0.1" + self._version_meta.sdk_version = "" + self._version_check = kwargs.get("version_check") + if self._version_check is None: + self._version_check = False + self._version_check_err = None + + def add_warnings(self, msg): + print("[WARNING]: %s" % msg) + self.__warnings__.append(msg) + + def _deserialize_error(self, err_string): + # type: (str) -> Union[Error, None] + err = self.error() + try: + err.deserialize(err_string) + except Exception: + err = None + return err + + def from_exception(self, error): + # type: (Exception) -> Union[Error, None] + if isinstance(error, Error): + return error + elif isinstance(error, grpc.RpcError): + err = self._deserialize_error(error.details()) + if err is not None: + return err + err = self.error() + err.code = error.code().value[0] + err.errors = [error.details()] + return err + elif isinstance(error, Exception): + if len(error.args) != 1: + return None + if isinstance(error.args[0], Error): + return error.args[0] + elif isinstance(error.args[0], str): + return self._deserialize_error(error.args[0]) + + def set_config(self, payload): + """POST /api/config + + Sets configuration resources. + + Return: None + """ + raise NotImplementedError("set_config") + + def update_configuration(self, payload): + """PATCH /api/config + + Deprecated: please use post instead. Sets configuration resources. + + Return: prefix_config + """ + raise NotImplementedError("update_configuration") + + def get_config(self): + """GET /api/config + + Gets the configuration resources. + + Return: prefix_config + """ + raise NotImplementedError("get_config") + + def get_metrics(self, payload): + """GET /api/metrics + + Gets metrics. + + Return: metrics + """ + raise NotImplementedError("get_metrics") + + def get_warnings(self): + """GET /api/warnings + + Gets warnings. + + Return: warning_details + """ + raise NotImplementedError("get_warnings") + + def clear_warnings(self): + """DELETE /api/warnings + + Clears warnings. + + Return: None + """ + raise NotImplementedError("clear_warnings") + + def getrootresponse(self): + """GET /api/apitest + + simple GET api with single return type + + Return: common_responsesuccess + """ + raise NotImplementedError("getrootresponse") + + def dummyresponsetest(self): + """DELETE /api/apitest + + TBD + + Return: None + """ + raise NotImplementedError("dummyresponsetest") + + def postrootresponse(self, payload): + """POST /api/apitest + + simple POST api with single return type + + Return: common_responsesuccess + """ + raise NotImplementedError("postrootresponse") + + def getallitems(self): + """GET /api/serviceb + + return list of some items + + Return: serviceabc_itemlist + """ + raise NotImplementedError("getallitems") + + def getsingleitem(self): + """GET /api/serviceb/{item_id} + + return single item + + Return: serviceabc_item + """ + raise NotImplementedError("getsingleitem") + + def getsingleitemlevel2(self): + """GET /api/serviceb/{item_id}/{level_2} + + return single item + + Return: serviceabc_item + """ + raise NotImplementedError("getsingleitemlevel2") + + def get_version(self): + """GET /api/capabilities/version + + TBD + + Return: version + """ + raise NotImplementedError("get_version") + + def prefix_config(self): + """Factory method that creates an instance of PrefixConfig + + Return: PrefixConfig + """ + return PrefixConfig() + + def error(self): + """Factory method that creates an instance of Error + + Return: Error + """ + return Error() + + def update_config(self): + """Factory method that creates an instance of UpdateConfig + + Return: UpdateConfig + """ + return UpdateConfig() + + def metrics_request(self): + """Factory method that creates an instance of MetricsRequest + + Return: MetricsRequest + """ + return MetricsRequest() + + def metrics(self): + """Factory method that creates an instance of Metrics + + Return: Metrics + """ + return Metrics() + + def warning_details(self): + """Factory method that creates an instance of WarningDetails + + Return: WarningDetails + """ + return WarningDetails() + + def common_responsesuccess(self): + """Factory method that creates an instance of CommonResponseSuccess + + Return: CommonResponseSuccess + """ + return CommonResponseSuccess() + + def apitest_inputbody(self): + """Factory method that creates an instance of ApiTestInputBody + + Return: ApiTestInputBody + """ + return ApiTestInputBody() + + def serviceabc_itemlist(self): + """Factory method that creates an instance of ServiceAbcItemList + + Return: ServiceAbcItemList + """ + return ServiceAbcItemList() + + def serviceabc_item(self): + """Factory method that creates an instance of ServiceAbcItem + + Return: ServiceAbcItem + """ + return ServiceAbcItem() + + def version(self): + """Factory method that creates an instance of Version + + Return: Version + """ + return Version() + + def close(self): + pass + + def _check_client_server_version_compatibility( + self, client_ver, server_ver, component_name + ): + try: + c = semantic_version.Version(client_ver) + except Exception as e: + raise AssertionError( + "Client {} version '{}' is not a valid semver: {}".format( + component_name, client_ver, e + ) + ) + + try: + s = semantic_version.SimpleSpec(server_ver) + except Exception as e: + raise AssertionError( + "Server {} version '{}' is not a valid semver: {}".format( + component_name, server_ver, e + ) + ) + + err = "Client {} version '{}' is not semver compatible with Server {} version '{}'".format( + component_name, client_ver, component_name, server_ver + ) + + if not s.match(c): + raise Exception(err) + + def get_local_version(self): + return self._version_meta + + def get_remote_version(self): + return self.get_version() + + def check_version_compatibility(self): + comp_err, api_err = self._do_version_check() + if comp_err is not None: + raise comp_err + if api_err is not None: + raise api_err + + def _do_version_check(self): + local = self.get_local_version() + try: + remote = self.get_remote_version() + except Exception as e: + return None, e + + try: + self._check_client_server_version_compatibility( + local.api_spec_version, remote.api_spec_version, "API spec" + ) + except Exception as e: + msg = "client SDK version '{}' is not compatible with server SDK version '{}'".format( + local.sdk_version, remote.sdk_version + ) + return Exception("{}: {}".format(msg, str(e))), None + + return None, None + + def _do_version_check_once(self): + if not self._version_check: + return + + if self._version_check_err is not None: + raise self._version_check_err + + comp_err, api_err = self._do_version_check() + if comp_err is not None: + self._version_check_err = comp_err + raise comp_err + if api_err is not None: + self._version_check_err = None + raise api_err + + self._version_check = False + self._version_check_err = None + + +class HttpApi(Api): + """OpenAPI HTTP Api""" + + def __init__(self, **kwargs): + super(HttpApi, self).__init__(**kwargs) + self._transport = HttpTransport(**kwargs) + + @property + def verify(self): + return self._transport.verify + + @verify.setter + def verify(self, value): + self._transport.set_verify(value) + + def set_config(self, payload): + """POST /api/config + + Sets configuration resources. + + Return: None + """ + self._do_version_check_once() + return self._transport.send_recv( + "post", + "/api/config", + payload=payload, + return_object=None, + request_class=PrefixConfig, + ) + + def update_configuration(self, payload): + """PATCH /api/config + + Deprecated: please use post instead. Sets configuration resources. + + Return: prefix_config + """ + self.add_warnings( + "update_configuration api is deprecated, please use post instead" + ) + self._do_version_check_once() + return self._transport.send_recv( + "patch", + "/api/config", + payload=payload, + return_object=self.prefix_config(), + request_class=UpdateConfig, + ) + + def get_config(self): + """GET /api/config + + Gets the configuration resources. + + Return: prefix_config + """ + self._do_version_check_once() + return self._transport.send_recv( + "get", + "/api/config", + payload=None, + return_object=self.prefix_config(), + ) + + def get_metrics(self, payload): + """GET /api/metrics + + Gets metrics. + + Return: metrics + """ + self._do_version_check_once() + return self._transport.send_recv( + "get", + "/api/metrics", + payload=payload, + return_object=self.metrics(), + request_class=MetricsRequest, + ) + + def get_warnings(self): + """GET /api/warnings + + Gets warnings. + + Return: warning_details + """ + self._do_version_check_once() + return self._transport.send_recv( + "get", + "/api/warnings", + payload=None, + return_object=self.warning_details(), + ) + + def clear_warnings(self): + """DELETE /api/warnings + + Clears warnings. + + Return: None + """ + self._do_version_check_once() + return self._transport.send_recv( + "delete", + "/api/warnings", + payload=None, + return_object=None, + ) + + def getrootresponse(self): + """GET /api/apitest + + simple GET api with single return type + + Return: common_responsesuccess + """ + self._do_version_check_once() + return self._transport.send_recv( + "get", + "/api/apitest", + payload=None, + return_object=self.common_responsesuccess(), + ) + + def dummyresponsetest(self): + """DELETE /api/apitest + + TBD + + Return: None + """ + self._do_version_check_once() + return self._transport.send_recv( + "delete", + "/api/apitest", + payload=None, + return_object=None, + ) + + def postrootresponse(self, payload): + """POST /api/apitest + + simple POST api with single return type + + Return: common_responsesuccess + """ + self._do_version_check_once() + return self._transport.send_recv( + "post", + "/api/apitest", + payload=payload, + return_object=self.common_responsesuccess(), + request_class=ApiTestInputBody, + ) + + def getallitems(self): + """GET /api/serviceb + + return list of some items + + Return: serviceabc_itemlist + """ + self._do_version_check_once() + return self._transport.send_recv( + "get", + "/api/serviceb", + payload=None, + return_object=self.serviceabc_itemlist(), + ) + + def getsingleitem(self): + """GET /api/serviceb/{item_id} + + return single item + + Return: serviceabc_item + """ + self._do_version_check_once() + return self._transport.send_recv( + "get", + "/api/serviceb/{item_id}", + payload=None, + return_object=self.serviceabc_item(), + ) + + def getsingleitemlevel2(self): + """GET /api/serviceb/{item_id}/{level_2} + + return single item + + Return: serviceabc_item + """ + self._do_version_check_once() + return self._transport.send_recv( + "get", + "/api/serviceb/{item_id}/{level_2}", + payload=None, + return_object=self.serviceabc_item(), + ) + + def get_version(self): + """GET /api/capabilities/version + + TBD + + Return: version + """ + return self._transport.send_recv( + "get", + "/api/capabilities/version", + payload=None, + return_object=self.version(), + ) + + +class GrpcApi(Api): + # OpenAPI gRPC Api + def __init__(self, **kwargs): + super(GrpcApi, self).__init__(**kwargs) + self._stub = None + self._channel = None + self._cert = None + self._cert_domain = None + self._request_timeout = 10 + self._keep_alive_timeout = 10 * 1000 + self._location = ( + kwargs["location"] + if "location" in kwargs and kwargs["location"] is not None + else "localhost:50051" + ) + self._transport = ( + kwargs["transport"] if "transport" in kwargs else None + ) + self._logger = kwargs["logger"] if "logger" in kwargs else None + self._loglevel = ( + kwargs["loglevel"] if "loglevel" in kwargs else logging.DEBUG + ) + if self._logger is None: + stdout_handler = logging.StreamHandler(sys.stdout) + formatter = logging.Formatter( + fmt="%(asctime)s [%(name)s] [%(levelname)s] %(message)s", + datefmt="%Y-%m-%d %H:%M:%S", + ) + formatter.converter = time.gmtime + stdout_handler.setFormatter(formatter) + self._logger = logging.Logger( + self.__module__, level=self._loglevel + ) + self._logger.addHandler(stdout_handler) + self._logger.debug( + "gRPCTransport args: {}".format( + ", ".join(["{}={!r}".format(k, v) for k, v in kwargs.items()]) + ) + ) + + def _use_secure_connection(self, cert_path, cert_domain=None): + """Accepts certificate and host_name for SSL Connection.""" + if cert_path is None: + raise Exception("path to certificate cannot be None") + self._cert = cert_path + self._cert_domain = cert_domain + + def _get_stub(self): + if self._stub is None: + CHANNEL_OPTIONS = [ + ("grpc.enable_retries", 0), + ("grpc.keepalive_timeout_ms", self._keep_alive_timeout), + ] + if self._cert is None: + self._channel = grpc.insecure_channel( + self._location, options=CHANNEL_OPTIONS + ) + else: + crt = open(self._cert, "rb").read() + creds = grpc.ssl_channel_credentials(crt) + if self._cert_domain is not None: + CHANNEL_OPTIONS.append( + ("grpc.ssl_target_name_override", self._cert_domain) + ) + self._channel = grpc.secure_channel( + self._location, credentials=creds, options=CHANNEL_OPTIONS + ) + self._stub = pb2_grpc.OpenapiStub(self._channel) + return self._stub + + def _serialize_payload(self, payload): + if not isinstance(payload, (str, dict, OpenApiBase)): + raise Exception( + "We are supporting [str, dict, OpenApiBase] object" + ) + if isinstance(payload, OpenApiBase): + payload = payload.serialize() + if isinstance(payload, dict): + payload = json.dumps(payload) + elif isinstance(payload, (str, unicode)): + payload = json.dumps(yaml.safe_load(payload)) + return payload + + def _raise_exception(self, grpc_error): + err = self.error() + try: + err.deserialize(grpc_error.details()) + except Exception as _: + err.code = grpc_error.code().value[0] + err.errors = [grpc_error.details()] + raise Exception(err) + + @property + def request_timeout(self): + """duration of time in seconds to allow for the RPC.""" + return self._request_timeout + + @request_timeout.setter + def request_timeout(self, timeout): + self._request_timeout = timeout + + @property + def keep_alive_timeout(self): + return self._keep_alive_timeout + + @keep_alive_timeout.setter + def keep_alive_timeout(self, timeout): + self._keep_alive_timeout = timeout * 1000 + + def close(self): + if self._channel is not None: + self._channel.close() + self._channel = None + self._stub = None + + def set_config(self, payload): + pb_obj = json_format.Parse( + self._serialize_payload(payload), pb2.PrefixConfig() + ) + self._do_version_check_once() + req_obj = pb2.SetConfigRequest(prefix_config=pb_obj) + stub = self._get_stub() + try: + res_obj = stub.SetConfig(req_obj, timeout=self._request_timeout) + except grpc.RpcError as grpc_error: + self._raise_exception(grpc_error) + response = json_format.MessageToDict( + res_obj, preserving_proto_field_name=True + ) + bytes = response.get("response_bytes") + if bytes is not None: + return io.BytesIO(res_obj.response_bytes) + + def update_configuration(self, payload): + self.add_warnings( + "update_configuration api is deprecated, please use post instead" + ) + pb_obj = json_format.Parse( + self._serialize_payload(payload), pb2.UpdateConfig() + ) + self._do_version_check_once() + req_obj = pb2.UpdateConfigurationRequest(update_config=pb_obj) + stub = self._get_stub() + try: + res_obj = stub.UpdateConfiguration( + req_obj, timeout=self._request_timeout + ) + except grpc.RpcError as grpc_error: + self._raise_exception(grpc_error) + response = json_format.MessageToDict( + res_obj, preserving_proto_field_name=True + ) + result = response.get("prefix_config") + if result is not None: + return self.prefix_config().deserialize(result) + + def get_config(self): + stub = self._get_stub() + empty = pb2_grpc.google_dot_protobuf_dot_empty__pb2.Empty() + res_obj = stub.GetConfig(empty, timeout=self._request_timeout) + response = json_format.MessageToDict( + res_obj, preserving_proto_field_name=True + ) + result = response.get("prefix_config") + if result is not None: + return self.prefix_config().deserialize(result) + + def get_metrics(self, payload): + pb_obj = json_format.Parse( + self._serialize_payload(payload), pb2.MetricsRequest() + ) + self._do_version_check_once() + req_obj = pb2.GetMetricsRequest(metrics_request=pb_obj) + stub = self._get_stub() + try: + res_obj = stub.GetMetrics(req_obj, timeout=self._request_timeout) + except grpc.RpcError as grpc_error: + self._raise_exception(grpc_error) + response = json_format.MessageToDict( + res_obj, preserving_proto_field_name=True + ) + result = response.get("metrics") + if result is not None: + return self.metrics().deserialize(result) + + def get_warnings(self): + stub = self._get_stub() + empty = pb2_grpc.google_dot_protobuf_dot_empty__pb2.Empty() + res_obj = stub.GetWarnings(empty, timeout=self._request_timeout) + response = json_format.MessageToDict( + res_obj, preserving_proto_field_name=True + ) + result = response.get("warning_details") + if result is not None: + return self.warning_details().deserialize(result) + + def clear_warnings(self): + stub = self._get_stub() + empty = pb2_grpc.google_dot_protobuf_dot_empty__pb2.Empty() + res_obj = stub.ClearWarnings(empty, timeout=self._request_timeout) + response = json_format.MessageToDict( + res_obj, preserving_proto_field_name=True + ) + resp_str = response.get("string") + if resp_str is not None: + return response.get("string") + + def getrootresponse(self): + stub = self._get_stub() + empty = pb2_grpc.google_dot_protobuf_dot_empty__pb2.Empty() + res_obj = stub.GetRootResponse(empty, timeout=self._request_timeout) + response = json_format.MessageToDict( + res_obj, preserving_proto_field_name=True + ) + result = response.get("common_response_success") + if result is not None: + return self.common_responsesuccess().deserialize(result) + + def dummyresponsetest(self): + stub = self._get_stub() + empty = pb2_grpc.google_dot_protobuf_dot_empty__pb2.Empty() + res_obj = stub.DummyResponseTest(empty, timeout=self._request_timeout) + response = json_format.MessageToDict( + res_obj, preserving_proto_field_name=True + ) + resp_str = response.get("string") + if resp_str is not None: + return response.get("string") + + def postrootresponse(self, payload): + pb_obj = json_format.Parse( + self._serialize_payload(payload), pb2.ApiTestInputBody() + ) + self._do_version_check_once() + req_obj = pb2.PostRootResponseRequest(apitest_inputbody=pb_obj) + stub = self._get_stub() + try: + res_obj = stub.PostRootResponse( + req_obj, timeout=self._request_timeout + ) + except grpc.RpcError as grpc_error: + self._raise_exception(grpc_error) + response = json_format.MessageToDict( + res_obj, preserving_proto_field_name=True + ) + result = response.get("common_response_success") + if result is not None: + return self.common_responsesuccess().deserialize(result) + + def getallitems(self): + stub = self._get_stub() + empty = pb2_grpc.google_dot_protobuf_dot_empty__pb2.Empty() + res_obj = stub.GetAllItems(empty, timeout=self._request_timeout) + response = json_format.MessageToDict( + res_obj, preserving_proto_field_name=True + ) + result = response.get("service_abc_item_list") + if result is not None: + return self.serviceabc_itemlist().deserialize(result) + + def getsingleitem(self): + stub = self._get_stub() + empty = pb2_grpc.google_dot_protobuf_dot_empty__pb2.Empty() + res_obj = stub.GetSingleItem(empty, timeout=self._request_timeout) + response = json_format.MessageToDict( + res_obj, preserving_proto_field_name=True + ) + result = response.get("service_abc_item") + if result is not None: + return self.serviceabc_item().deserialize(result) + + def getsingleitemlevel2(self): + stub = self._get_stub() + empty = pb2_grpc.google_dot_protobuf_dot_empty__pb2.Empty() + res_obj = stub.GetSingleItemLevel2( + empty, timeout=self._request_timeout + ) + response = json_format.MessageToDict( + res_obj, preserving_proto_field_name=True + ) + result = response.get("service_abc_item") + if result is not None: + return self.serviceabc_item().deserialize(result) + + def get_version(self): + stub = self._get_stub() + empty = pb2_grpc.google_dot_protobuf_dot_empty__pb2.Empty() + res_obj = stub.GetVersion(empty, timeout=self._request_timeout) + response = json_format.MessageToDict( + res_obj, preserving_proto_field_name=True + ) + result = response.get("version") + if result is not None: + return self.version().deserialize(result) diff --git a/artifacts/pyapi/requirements.txt b/artifacts/pyapi/requirements.txt new file mode 100644 index 00000000..03ab3378 --- /dev/null +++ b/artifacts/pyapi/requirements.txt @@ -0,0 +1,11 @@ +--prefer-binary +grpcio-tools~=1.35.0 ; python_version <= '3.6' +grpcio~=1.35.0 ; python_version <= '3.6' +grpcio-tools~=1.54.2 ; python_version > '3.6' +grpcio~=1.54.2 ; python_version > '3.6' +PyYAML +requests +protobuf~=4.23.3 ; python_version > '3.6' +protobuf~=3.15.0 ; python_version <= '3.6' +urllib3 +semantic_version From d011c0ae3b1ee6b70b94428ed1e2de15c4fc24ba Mon Sep 17 00:00:00 2001 From: Vibaswan Date: Thu, 21 Sep 2023 11:20:57 +0000 Subject: [PATCH 16/27] resolve merge conflict --- openapiart/tests/test_enum_validation.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openapiart/tests/test_enum_validation.py b/openapiart/tests/test_enum_validation.py index 5b9e7c4d..7e3d57d0 100644 --- a/openapiart/tests/test_enum_validation.py +++ b/openapiart/tests/test_enum_validation.py @@ -61,7 +61,7 @@ def test_error_for_enums(api): config.response = "status_123" # wrong enum value for simple enum should fail - expected_exception = "property response shall be one of these ['status_200', 'status_400', 'status_404', 'status_500'] enum, but got status_123 at " + expected_exception = "property response shall be one of these ['status_200', 'status_400', 'status_404', 'status_500'] enum, but got status_123 at " with pytest.raises(Exception) as execinfo: config.serialize() assert execinfo.value.args[0] == expected_exception @@ -69,7 +69,7 @@ def test_error_for_enums(api): # wrong enum for list of enums should fail config.response = "status_400" config.d_values = ["a", "error"] - expected_exception = "property d_values shall be one of these ['a', 'b', 'c'] enum, but got ['a', 'error'] at " + expected_exception = "property d_values shall be one of these ['a', 'b', 'c'] enum, but got ['a', 'error'] at " with pytest.raises(Exception) as execinfo: config.serialize() assert execinfo.value.args[0] == expected_exception From 218323b556516ff677aa6a5cbc599f667bcbdde6 Mon Sep 17 00:00:00 2001 From: Github Actions Bot Date: Thu, 21 Sep 2023 11:23:56 +0000 Subject: [PATCH 17/27] Update auto generated go code --- .../__pycache__/__init__.cpython-310.pyc | Bin 2490 -> 2490 bytes .../__pycache__/openapi_pb2.cpython-310.pyc | Bin 19087 -> 19087 bytes .../openapi_pb2_grpc.cpython-310.pyc | Bin 9104 -> 9104 bytes .../pyapi/__pycache__/pyapi.cpython-310.pyc | Bin 151546 -> 151698 bytes artifacts/pyapi/pyapi.py | 37 ++++++++++++------ artifacts/pyapi/requirements.txt | 6 +-- 6 files changed, 29 insertions(+), 14 deletions(-) diff --git a/artifacts/pyapi/__pycache__/__init__.cpython-310.pyc b/artifacts/pyapi/__pycache__/__init__.cpython-310.pyc index c37b3ea44585498b54a389f47c3079468ec34d02..8d1b55c8734935f7692c532406cba2f8293ff8e4 100644 GIT binary patch delta 20 acmdlbyi1rnpO=@50SI!`c{Xyd=L7&R$^=XR delta 20 acmdlbyi1rnpO=@50SN4!ST=I6=L7&R2?R0# diff --git a/artifacts/pyapi/__pycache__/openapi_pb2.cpython-310.pyc b/artifacts/pyapi/__pycache__/openapi_pb2.cpython-310.pyc index d1a28992014c59d750511b934ce17e9b03fdfefe..29e76700cff787867712b4c99c1cb471ebe6f069 100644 GIT binary patch delta 22 ccmeC5%Gf`ZkvpH4mx}=ia@2V?a<_N^06#7T5&!@I delta 22 ccmeC5%Gf`ZkvpH4mx}=i?44LPa<_N^06uL5_y7O^ diff --git a/artifacts/pyapi/__pycache__/openapi_pb2_grpc.cpython-310.pyc b/artifacts/pyapi/__pycache__/openapi_pb2_grpc.cpython-310.pyc index 682f002c6859d2952983da3c44f7c50321e11d48..521fd7a8a32d23f25f63a23a75531d993bfc4f0c 100644 GIT binary patch delta 20 acmbQ>KEa(kpO=@50SI!`c{XylDgyv8qy$g^ delta 20 acmbQ>KEa(kpO=@50SN4!ST=IEDgyv7;{-MU diff --git a/artifacts/pyapi/__pycache__/pyapi.cpython-310.pyc b/artifacts/pyapi/__pycache__/pyapi.cpython-310.pyc index 602ac609c3da65dfe8c93299b1ddc4257da25d0b..36cebe2c00bb3a14b8a313bf738b262086b9f7ca 100644 GIT binary patch delta 28102 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 IeYEHPA0P&%0{{R3 delta 28222 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 '3.6' grpcio~=1.54.2 ; python_version > '3.6' -PyYAML +grpcio~=1.35.0 ; python_version <= '3.6' +grpcio-tools~=1.35.0 ; python_version <= '3.6' requests protobuf~=4.23.3 ; python_version > '3.6' protobuf~=3.15.0 ; python_version <= '3.6' From 8d3f015e07073a7bfe24ead8655cbb1fb114d786 Mon Sep 17 00:00:00 2001 From: Vibaswan Date: Thu, 21 Sep 2023 13:03:32 +0000 Subject: [PATCH 18/27] changing name to previous --- openapiart/openapiart.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openapiart/openapiart.py b/openapiart/openapiart.py index 229cb689..a98cf286 100644 --- a/openapiart/openapiart.py +++ b/openapiart/openapiart.py @@ -48,7 +48,7 @@ def __init__( extension_prefix if extension_prefix is not None else "openapi" ) self._proto_service = ( - proto_service if proto_service is not None else "openapi" + proto_service if proto_service is not None else "Openapi" ) print( From 832c8acb60de60098ad1bd7c97ce275fdfe4a4d1 Mon Sep 17 00:00:00 2001 From: Github Actions Bot Date: Thu, 21 Sep 2023 13:08:34 +0000 Subject: [PATCH 19/27] Update auto generated go code --- .../__pycache__/__init__.cpython-310.pyc | Bin 2490 -> 2490 bytes .../__pycache__/openapi_pb2.cpython-310.pyc | Bin 19087 -> 19087 bytes .../openapi_pb2_grpc.cpython-310.pyc | Bin 9104 -> 9104 bytes .../pyapi/__pycache__/pyapi.cpython-310.pyc | Bin 151698 -> 151698 bytes artifacts/pyapi/requirements.txt | 4 ++-- 5 files changed, 2 insertions(+), 2 deletions(-) diff --git a/artifacts/pyapi/__pycache__/__init__.cpython-310.pyc b/artifacts/pyapi/__pycache__/__init__.cpython-310.pyc index 8d1b55c8734935f7692c532406cba2f8293ff8e4..3d130a8623a982154095d661c445028f3d9970cb 100644 GIT binary patch delta 19 Zcmdlbyi1rXpO=@50SKPhZ{*s*2>>tp1kV5f delta 19 Zcmdlbyi1rXpO=@50SI!`H*#&@1OP0u1U~=( diff --git a/artifacts/pyapi/__pycache__/openapi_pb2.cpython-310.pyc b/artifacts/pyapi/__pycache__/openapi_pb2.cpython-310.pyc index 29e76700cff787867712b4c99c1cb471ebe6f069..affc27db25f5ba552f4ae662a692bc8ac340ab8d 100644 GIT binary patch delta 21 bcmeC5%Gf`Zkt?5KEa(UpO=@50SKPjZ{%uI1^_U|1k?Zk delta 19 ZcmbQ>KEa(UpO=@50SI!`H*&Qp0{|^}1VaD- diff --git a/artifacts/pyapi/__pycache__/pyapi.cpython-310.pyc b/artifacts/pyapi/__pycache__/pyapi.cpython-310.pyc index 36cebe2c00bb3a14b8a313bf738b262086b9f7ca..59c86c5843b8f471c5b90f4ecf81bdf7b5a8d57b 100644 GIT binary patch delta 27 hcmbQVkaN;PPOf}jUM>b8cwyhj)yl=Vm5Zq(003q-2Jrv@ delta 27 hcmbQVkaN;PPOf}jUM>b8$X9RVYUN_w%Ei '3.6' grpcio~=1.54.2 ; python_version > '3.6' -grpcio~=1.35.0 ; python_version <= '3.6' grpcio-tools~=1.35.0 ; python_version <= '3.6' +grpcio~=1.35.0 ; python_version <= '3.6' requests +PyYAML protobuf~=4.23.3 ; python_version > '3.6' protobuf~=3.15.0 ; python_version <= '3.6' urllib3 From 8f009cb0fb824010bdc3bd8d98edaa8a2dd254bd Mon Sep 17 00:00:00 2001 From: Vibaswan Date: Mon, 16 Oct 2023 06:25:32 +0000 Subject: [PATCH 20/27] resolve merge conflicts --- pkg/unit_test.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkg/unit_test.go b/pkg/unit_test.go index 1cce76db..dab41dcf 100644 --- a/pkg/unit_test.go +++ b/pkg/unit_test.go @@ -9,7 +9,6 @@ import ( "testing" goapi "github.com/open-traffic-generator/goapi/pkg" - openapiart "github.com/open-traffic-generator/openapiart/pkg" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) @@ -677,7 +676,7 @@ func TestRequiredField(t *testing.T) { } func TestRequiredEnumField(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() rc := config.RequiredChoiceObject() err := rc.Validate() assert.NotNil(t, err) From 355e6337bd56e532c90723398f5aa067d59f8f8d Mon Sep 17 00:00:00 2001 From: Github Actions Bot Date: Mon, 16 Oct 2023 06:28:29 +0000 Subject: [PATCH 21/27] Update auto generated go code --- artifacts/goapi/go.mod | 2 +- artifacts/goapi/go.sum | 4 +- artifacts/goapi/goapi.go | 222 +- .../httpapi/controllers/apitest_controller.go | 6 +- .../httpapi/controllers/bundler_controller.go | 6 +- .../controllers/capabilities_controller.go | 2 +- .../httpapi/controllers/metrics_controller.go | 6 +- .../controllers/serviceabc_controller.go | 6 +- artifacts/goapi/openapi/openapi.pb.go | 1962 ++++++++--------- artifacts/openapi.proto | 142 +- .../__pycache__/__init__.cpython-310.pyc | Bin 2490 -> 2490 bytes .../__pycache__/openapi_pb2.cpython-310.pyc | Bin 19087 -> 18647 bytes .../openapi_pb2_grpc.cpython-310.pyc | Bin 9104 -> 9104 bytes .../pyapi/__pycache__/pyapi.cpython-310.pyc | Bin 151698 -> 151698 bytes artifacts/pyapi/openapi_pb2.py | 440 ++-- artifacts/pyapi/requirements.txt | 6 +- 16 files changed, 1426 insertions(+), 1378 deletions(-) diff --git a/artifacts/goapi/go.mod b/artifacts/goapi/go.mod index 95693cc0..cc390891 100644 --- a/artifacts/goapi/go.mod +++ b/artifacts/goapi/go.mod @@ -8,6 +8,6 @@ require ( github.com/golang/protobuf v1.5.3 github.com/gorilla/mux v1.8.0 github.com/stretchr/testify v1.8.4 - google.golang.org/grpc v1.58.1 + google.golang.org/grpc v1.58.3 google.golang.org/protobuf v1.31.0 ) diff --git a/artifacts/goapi/go.sum b/artifacts/goapi/go.sum index 182b2635..868ed5d4 100644 --- a/artifacts/goapi/go.sum +++ b/artifacts/goapi/go.sum @@ -1665,8 +1665,8 @@ google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwS 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.1 h1:OL+Vz23DTtrrldqHK49FUOPHyY75rvFqJfXC84NYW58= -google.golang.org/grpc v1.58.1/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0= +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= diff --git a/artifacts/goapi/goapi.go b/artifacts/goapi/goapi.go index 36e8cfb8..ac3be5e0 100644 --- a/artifacts/goapi/goapi.go +++ b/artifacts/goapi/goapi.go @@ -1804,7 +1804,8 @@ func (obj *prefixConfig) SetResponse(value PrefixConfigResponseEnum) PrefixConfi // A returns a string func (obj *prefixConfig) A() string { - return obj.obj.A + return *obj.obj.A + } // Under Review: Information TBD @@ -1813,7 +1814,7 @@ func (obj *prefixConfig) A() string { // SetA sets the string value in the PrefixConfig object func (obj *prefixConfig) SetA(value string) PrefixConfig { - obj.obj.A = value + obj.obj.A = &value return obj } @@ -1823,7 +1824,8 @@ func (obj *prefixConfig) SetA(value string) PrefixConfig { // B returns a float32 func (obj *prefixConfig) B() float32 { - return obj.obj.B + return *obj.obj.B + } // Longer multi-line description @@ -1832,7 +1834,7 @@ func (obj *prefixConfig) B() float32 { // SetB sets the float32 value in the PrefixConfig object func (obj *prefixConfig) SetB(value float32) PrefixConfig { - obj.obj.B = value + obj.obj.B = &value return obj } @@ -1840,14 +1842,15 @@ func (obj *prefixConfig) SetB(value float32) PrefixConfig { // C returns a int32 func (obj *prefixConfig) C() int32 { - return obj.obj.C + return *obj.obj.C + } // description is TBD // SetC sets the int32 value in the PrefixConfig object func (obj *prefixConfig) SetC(value int32) PrefixConfig { - obj.obj.C = value + obj.obj.C = &value return obj } @@ -3269,15 +3272,25 @@ func (obj *prefixConfig) validateObj(vObj *validation, set_default bool) { } // A is required - if obj.obj.A == "" { + if obj.obj.A == nil { vObj.validationErrors = append(vObj.validationErrors, "A is required field on interface PrefixConfig") } // A is under_review - if obj.obj.A != "" { + if obj.obj.A != nil { obj.addWarnings("A property in schema PrefixConfig is under review, Information TBD") } + // B is required + if obj.obj.B == nil { + vObj.validationErrors = append(vObj.validationErrors, "B is required field on interface PrefixConfig") + } + + // C is required + if obj.obj.C == nil { + vObj.validationErrors = append(vObj.validationErrors, "C is required field on interface PrefixConfig") + } + // DValues is deprecated if obj.obj.DValues != nil { obj.addWarnings("DValues property in schema PrefixConfig is deprecated, Information TBD") @@ -8378,14 +8391,15 @@ type EObject interface { // EA returns a float32 func (obj *eObject) EA() float32 { - return obj.obj.EA + return *obj.obj.EA + } // description is TBD // SetEA sets the float32 value in the EObject object func (obj *eObject) SetEA(value float32) EObject { - obj.obj.EA = value + obj.obj.EA = &value return obj } @@ -8393,14 +8407,15 @@ func (obj *eObject) SetEA(value float32) EObject { // EB returns a float64 func (obj *eObject) EB() float64 { - return obj.obj.EB + return *obj.obj.EB + } // description is TBD // SetEB sets the float64 value in the EObject object func (obj *eObject) SetEB(value float64) EObject { - obj.obj.EB = value + obj.obj.EB = &value return obj } @@ -8475,6 +8490,15 @@ func (obj *eObject) validateObj(vObj *validation, set_default bool) { obj.setDefault() } + // EA is required + if obj.obj.EA == nil { + vObj.validationErrors = append(vObj.validationErrors, "EA is required field on interface EObject") + } + + // EB is required + if obj.obj.EB == nil { + vObj.validationErrors = append(vObj.validationErrors, "EB is required field on interface EObject") + } } func (obj *eObject) setDefault() { @@ -11142,14 +11166,15 @@ type Mandate interface { // RequiredParam returns a string func (obj *mandate) RequiredParam() string { - return obj.obj.RequiredParam + return *obj.obj.RequiredParam + } // description is TBD // SetRequiredParam sets the string value in the Mandate object func (obj *mandate) SetRequiredParam(value string) Mandate { - obj.obj.RequiredParam = value + obj.obj.RequiredParam = &value return obj } @@ -11159,7 +11184,7 @@ func (obj *mandate) validateObj(vObj *validation, set_default bool) { } // RequiredParam is required - if obj.obj.RequiredParam == "" { + if obj.obj.RequiredParam == nil { vObj.validationErrors = append(vObj.validationErrors, "RequiredParam is required field on interface Mandate") } } @@ -13102,14 +13127,15 @@ type MObject interface { // StringParam returns a string func (obj *mObject) StringParam() string { - return obj.obj.StringParam + return *obj.obj.StringParam + } // description is TBD // SetStringParam sets the string value in the MObject object func (obj *mObject) SetStringParam(value string) MObject { - obj.obj.StringParam = value + obj.obj.StringParam = &value return obj } @@ -13117,14 +13143,15 @@ func (obj *mObject) SetStringParam(value string) MObject { // Integer returns a int32 func (obj *mObject) Integer() int32 { - return obj.obj.Integer + return *obj.obj.Integer + } // description is TBD // SetInteger sets the int32 value in the MObject object func (obj *mObject) SetInteger(value int32) MObject { - obj.obj.Integer = value + obj.obj.Integer = &value return obj } @@ -13132,14 +13159,15 @@ func (obj *mObject) SetInteger(value int32) MObject { // Float returns a float32 func (obj *mObject) Float() float32 { - return obj.obj.Float + return *obj.obj.Float + } // description is TBD // SetFloat sets the float32 value in the MObject object func (obj *mObject) SetFloat(value float32) MObject { - obj.obj.Float = value + obj.obj.Float = &value return obj } @@ -13147,14 +13175,15 @@ func (obj *mObject) SetFloat(value float32) MObject { // Double returns a float64 func (obj *mObject) Double() float64 { - return obj.obj.Double + return *obj.obj.Double + } // description is TBD // SetDouble sets the float64 value in the MObject object func (obj *mObject) SetDouble(value float64) MObject { - obj.obj.Double = value + obj.obj.Double = &value return obj } @@ -13162,14 +13191,15 @@ func (obj *mObject) SetDouble(value float64) MObject { // Mac returns a string func (obj *mObject) Mac() string { - return obj.obj.Mac + return *obj.obj.Mac + } // description is TBD // SetMac sets the string value in the MObject object func (obj *mObject) SetMac(value string) MObject { - obj.obj.Mac = value + obj.obj.Mac = &value return obj } @@ -13177,14 +13207,15 @@ func (obj *mObject) SetMac(value string) MObject { // Ipv4 returns a string func (obj *mObject) Ipv4() string { - return obj.obj.Ipv4 + return *obj.obj.Ipv4 + } // description is TBD // SetIpv4 sets the string value in the MObject object func (obj *mObject) SetIpv4(value string) MObject { - obj.obj.Ipv4 = value + obj.obj.Ipv4 = &value return obj } @@ -13192,14 +13223,15 @@ func (obj *mObject) SetIpv4(value string) MObject { // Ipv6 returns a string func (obj *mObject) Ipv6() string { - return obj.obj.Ipv6 + return *obj.obj.Ipv6 + } // description is TBD // SetIpv6 sets the string value in the MObject object func (obj *mObject) SetIpv6(value string) MObject { - obj.obj.Ipv6 = value + obj.obj.Ipv6 = &value return obj } @@ -13207,14 +13239,15 @@ func (obj *mObject) SetIpv6(value string) MObject { // Hex returns a string func (obj *mObject) Hex() string { - return obj.obj.Hex + return *obj.obj.Hex + } // description is TBD // SetHex sets the string value in the MObject object func (obj *mObject) SetHex(value string) MObject { - obj.obj.Hex = value + obj.obj.Hex = &value return obj } @@ -13224,25 +13257,39 @@ func (obj *mObject) validateObj(vObj *validation, set_default bool) { } // StringParam is required - if obj.obj.StringParam == "" { + if obj.obj.StringParam == nil { vObj.validationErrors = append(vObj.validationErrors, "StringParam is required field on interface MObject") } - if obj.obj.Integer != 0 { + // Integer is required + if obj.obj.Integer == nil { + vObj.validationErrors = append(vObj.validationErrors, "Integer is required field on interface MObject") + } + if obj.obj.Integer != nil { - if obj.obj.Integer < -10 || obj.obj.Integer > 90 { + if *obj.obj.Integer < -10 || *obj.obj.Integer > 90 { vObj.validationErrors = append( vObj.validationErrors, - fmt.Sprintf("-10 <= MObject.Integer <= 90 but Got %d", obj.obj.Integer)) + fmt.Sprintf("-10 <= MObject.Integer <= 90 but Got %d", *obj.obj.Integer)) } } + // Float is required + if obj.obj.Float == nil { + vObj.validationErrors = append(vObj.validationErrors, "Float is required field on interface MObject") + } + + // Double is required + if obj.obj.Double == nil { + vObj.validationErrors = append(vObj.validationErrors, "Double is required field on interface MObject") + } + // Mac is required - if obj.obj.Mac == "" { + if obj.obj.Mac == nil { vObj.validationErrors = append(vObj.validationErrors, "Mac is required field on interface MObject") } - if obj.obj.Mac != "" { + if obj.obj.Mac != nil { err := obj.validateMac(obj.Mac()) if err != nil { @@ -13252,10 +13299,10 @@ func (obj *mObject) validateObj(vObj *validation, set_default bool) { } // Ipv4 is required - if obj.obj.Ipv4 == "" { + if obj.obj.Ipv4 == nil { vObj.validationErrors = append(vObj.validationErrors, "Ipv4 is required field on interface MObject") } - if obj.obj.Ipv4 != "" { + if obj.obj.Ipv4 != nil { err := obj.validateIpv4(obj.Ipv4()) if err != nil { @@ -13265,10 +13312,10 @@ func (obj *mObject) validateObj(vObj *validation, set_default bool) { } // Ipv6 is required - if obj.obj.Ipv6 == "" { + if obj.obj.Ipv6 == nil { vObj.validationErrors = append(vObj.validationErrors, "Ipv6 is required field on interface MObject") } - if obj.obj.Ipv6 != "" { + if obj.obj.Ipv6 != nil { err := obj.validateIpv6(obj.Ipv6()) if err != nil { @@ -13278,10 +13325,10 @@ func (obj *mObject) validateObj(vObj *validation, set_default bool) { } // Hex is required - if obj.obj.Hex == "" { + if obj.obj.Hex == nil { vObj.validationErrors = append(vObj.validationErrors, "Hex is required field on interface MObject") } - if obj.obj.Hex != "" { + if obj.obj.Hex != nil { err := obj.validateHex(obj.Hex()) if err != nil { @@ -14412,14 +14459,15 @@ type WObject interface { // WName returns a string func (obj *wObject) WName() string { - return obj.obj.WName + return *obj.obj.WName + } // description is TBD // SetWName sets the string value in the WObject object func (obj *wObject) SetWName(value string) WObject { - obj.obj.WName = value + obj.obj.WName = &value return obj } @@ -14429,7 +14477,7 @@ func (obj *wObject) validateObj(vObj *validation, set_default bool) { } // WName is required - if obj.obj.WName == "" { + if obj.obj.WName == nil { vObj.validationErrors = append(vObj.validationErrors, "WName is required field on interface WObject") } } @@ -14668,14 +14716,15 @@ type ZObject interface { // Name returns a string func (obj *zObject) Name() string { - return obj.obj.Name + return *obj.obj.Name + } // description is TBD // SetName sets the string value in the ZObject object func (obj *zObject) SetName(value string) ZObject { - obj.obj.Name = value + obj.obj.Name = &value return obj } @@ -14685,7 +14734,7 @@ func (obj *zObject) validateObj(vObj *validation, set_default bool) { } // Name is required - if obj.obj.Name == "" { + if obj.obj.Name == nil { vObj.validationErrors = append(vObj.validationErrors, "Name is required field on interface ZObject") } } @@ -15619,7 +15668,8 @@ func (obj *requiredChoiceParent) SetChoice(value RequiredChoiceParentChoiceEnum) "%s is not a valid choice on RequiredChoiceParentChoiceEnum", string(value))) return obj } - obj.obj.Choice = openapi.RequiredChoiceParent_Choice_Enum(intValue) + enumValue := openapi.RequiredChoiceParent_Choice_Enum(intValue) + obj.obj.Choice = &enumValue obj.obj.IntermediateObj = nil obj.intermediateObjHolder = nil @@ -15664,7 +15714,7 @@ func (obj *requiredChoiceParent) validateObj(vObj *validation, set_default bool) } // Choice is required - if obj.obj.Choice.Number() == 0 { + if obj.obj.Choice == nil { vObj.validationErrors = append(vObj.validationErrors, "Choice is required field on interface RequiredChoiceParent") } @@ -15929,14 +15979,15 @@ func (obj *_error) Error() string { // Code returns a int32 func (obj *_error) Code() int32 { - return obj.obj.Code + return *obj.obj.Code + } // Numeric status code based on underlying transport being used. // SetCode sets the int32 value in the Error object func (obj *_error) SetCode(value int32) Error { - obj.obj.Code = value + obj.obj.Code = &value return obj } @@ -16002,9 +16053,9 @@ func (obj *_error) validateObj(vObj *validation, set_default bool) { obj.setDefault() } - // Errors is required - if obj.obj.Errors == nil { - vObj.validationErrors = append(vObj.validationErrors, "Errors is required field on interface Error") + // Code is required + if obj.obj.Code == nil { + vObj.validationErrors = append(vObj.validationErrors, "Code is required field on interface Error") } } @@ -21550,7 +21601,8 @@ func (obj *requiredChoiceIntermediate) SetChoice(value RequiredChoiceIntermediat "%s is not a valid choice on RequiredChoiceIntermediateChoiceEnum", string(value))) return obj } - obj.obj.Choice = openapi.RequiredChoiceIntermediate_Choice_Enum(intValue) + enumValue := openapi.RequiredChoiceIntermediate_Choice_Enum(intValue) + obj.obj.Choice = &enumValue obj.obj.Leaf = nil obj.leafHolder = nil obj.obj.FA = nil @@ -21627,7 +21679,7 @@ func (obj *requiredChoiceIntermediate) validateObj(vObj *validation, set_default } // Choice is required - if obj.obj.Choice.Number() == 0 { + if obj.obj.Choice == nil { vObj.validationErrors = append(vObj.validationErrors, "Choice is required field on interface RequiredChoiceIntermediate") } @@ -21883,14 +21935,15 @@ type PortMetric interface { // Name returns a string func (obj *portMetric) Name() string { - return obj.obj.Name + return *obj.obj.Name + } // description is TBD // SetName sets the string value in the PortMetric object func (obj *portMetric) SetName(value string) PortMetric { - obj.obj.Name = value + obj.obj.Name = &value return obj } @@ -21898,14 +21951,15 @@ func (obj *portMetric) SetName(value string) PortMetric { // TxFrames returns a float64 func (obj *portMetric) TxFrames() float64 { - return obj.obj.TxFrames + return *obj.obj.TxFrames + } // description is TBD // SetTxFrames sets the float64 value in the PortMetric object func (obj *portMetric) SetTxFrames(value float64) PortMetric { - obj.obj.TxFrames = value + obj.obj.TxFrames = &value return obj } @@ -21913,14 +21967,15 @@ func (obj *portMetric) SetTxFrames(value float64) PortMetric { // RxFrames returns a float64 func (obj *portMetric) RxFrames() float64 { - return obj.obj.RxFrames + return *obj.obj.RxFrames + } // description is TBD // SetRxFrames sets the float64 value in the PortMetric object func (obj *portMetric) SetRxFrames(value float64) PortMetric { - obj.obj.RxFrames = value + obj.obj.RxFrames = &value return obj } @@ -21930,9 +21985,19 @@ func (obj *portMetric) validateObj(vObj *validation, set_default bool) { } // Name is required - if obj.obj.Name == "" { + if obj.obj.Name == nil { vObj.validationErrors = append(vObj.validationErrors, "Name is required field on interface PortMetric") } + + // TxFrames is required + if obj.obj.TxFrames == nil { + vObj.validationErrors = append(vObj.validationErrors, "TxFrames is required field on interface PortMetric") + } + + // RxFrames is required + if obj.obj.RxFrames == nil { + vObj.validationErrors = append(vObj.validationErrors, "RxFrames is required field on interface PortMetric") + } } func (obj *portMetric) setDefault() { @@ -22177,14 +22242,15 @@ type FlowMetric interface { // Name returns a string func (obj *flowMetric) Name() string { - return obj.obj.Name + return *obj.obj.Name + } // description is TBD // SetName sets the string value in the FlowMetric object func (obj *flowMetric) SetName(value string) FlowMetric { - obj.obj.Name = value + obj.obj.Name = &value return obj } @@ -22192,14 +22258,15 @@ func (obj *flowMetric) SetName(value string) FlowMetric { // TxFrames returns a float64 func (obj *flowMetric) TxFrames() float64 { - return obj.obj.TxFrames + return *obj.obj.TxFrames + } // description is TBD // SetTxFrames sets the float64 value in the FlowMetric object func (obj *flowMetric) SetTxFrames(value float64) FlowMetric { - obj.obj.TxFrames = value + obj.obj.TxFrames = &value return obj } @@ -22207,14 +22274,15 @@ func (obj *flowMetric) SetTxFrames(value float64) FlowMetric { // RxFrames returns a float64 func (obj *flowMetric) RxFrames() float64 { - return obj.obj.RxFrames + return *obj.obj.RxFrames + } // description is TBD // SetRxFrames sets the float64 value in the FlowMetric object func (obj *flowMetric) SetRxFrames(value float64) FlowMetric { - obj.obj.RxFrames = value + obj.obj.RxFrames = &value return obj } @@ -22224,9 +22292,19 @@ func (obj *flowMetric) validateObj(vObj *validation, set_default bool) { } // Name is required - if obj.obj.Name == "" { + if obj.obj.Name == nil { vObj.validationErrors = append(vObj.validationErrors, "Name is required field on interface FlowMetric") } + + // TxFrames is required + if obj.obj.TxFrames == nil { + vObj.validationErrors = append(vObj.validationErrors, "TxFrames is required field on interface FlowMetric") + } + + // RxFrames is required + if obj.obj.RxFrames == nil { + vObj.validationErrors = append(vObj.validationErrors, "RxFrames is required field on interface FlowMetric") + } } func (obj *flowMetric) setDefault() { diff --git a/artifacts/goapi/httpapi/controllers/apitest_controller.go b/artifacts/goapi/httpapi/controllers/apitest_controller.go index 4d19ebc7..3b983225 100644 --- a/artifacts/goapi/httpapi/controllers/apitest_controller.go +++ b/artifacts/goapi/httpapi/controllers/apitest_controller.go @@ -63,7 +63,7 @@ func (ctrl *apiTestController) responseGetRootResponseError(w http.ResponseWrite result = openapi.NewError() err := result.FromJson(rsp_err.Error()) if err != nil { - result.Msg().Code = statusCode + result.Msg().Code = &statusCode err = result.SetKind(errorKind) if err != nil { log.Print(err.Error()) @@ -112,7 +112,7 @@ func (ctrl *apiTestController) responseDummyResponseTestError(w http.ResponseWri result = openapi.NewError() err := result.FromJson(rsp_err.Error()) if err != nil { - result.Msg().Code = statusCode + result.Msg().Code = &statusCode err = result.SetKind(errorKind) if err != nil { log.Print(err.Error()) @@ -180,7 +180,7 @@ func (ctrl *apiTestController) responsePostRootResponseError(w http.ResponseWrit result = openapi.NewError() err := result.FromJson(rsp_err.Error()) if err != nil { - result.Msg().Code = statusCode + result.Msg().Code = &statusCode err = result.SetKind(errorKind) if err != nil { log.Print(err.Error()) diff --git a/artifacts/goapi/httpapi/controllers/bundler_controller.go b/artifacts/goapi/httpapi/controllers/bundler_controller.go index f072deb5..bf330968 100644 --- a/artifacts/goapi/httpapi/controllers/bundler_controller.go +++ b/artifacts/goapi/httpapi/controllers/bundler_controller.go @@ -82,7 +82,7 @@ func (ctrl *bundlerController) responseSetConfigError(w http.ResponseWriter, err result = openapi.NewError() err := result.FromJson(rsp_err.Error()) if err != nil { - result.Msg().Code = statusCode + result.Msg().Code = &statusCode err = result.SetKind(errorKind) if err != nil { log.Print(err.Error()) @@ -152,7 +152,7 @@ func (ctrl *bundlerController) responseUpdateConfigurationError(w http.ResponseW result = openapi.NewError() err := result.FromJson(rsp_err.Error()) if err != nil { - result.Msg().Code = statusCode + result.Msg().Code = &statusCode err = result.SetKind(errorKind) if err != nil { log.Print(err.Error()) @@ -201,7 +201,7 @@ func (ctrl *bundlerController) responseGetConfigError(w http.ResponseWriter, err result = openapi.NewError() err := result.FromJson(rsp_err.Error()) if err != nil { - result.Msg().Code = statusCode + result.Msg().Code = &statusCode err = result.SetKind(errorKind) if err != nil { log.Print(err.Error()) diff --git a/artifacts/goapi/httpapi/controllers/capabilities_controller.go b/artifacts/goapi/httpapi/controllers/capabilities_controller.go index df342422..fc2a4c5c 100644 --- a/artifacts/goapi/httpapi/controllers/capabilities_controller.go +++ b/artifacts/goapi/httpapi/controllers/capabilities_controller.go @@ -60,7 +60,7 @@ func (ctrl *capabilitiesController) responseGetVersionError(w http.ResponseWrite result = openapi.NewError() err := result.FromJson(rsp_err.Error()) if err != nil { - result.Msg().Code = statusCode + result.Msg().Code = &statusCode err = result.SetKind(errorKind) if err != nil { log.Print(err.Error()) diff --git a/artifacts/goapi/httpapi/controllers/metrics_controller.go b/artifacts/goapi/httpapi/controllers/metrics_controller.go index 5d72a55a..8d32bae8 100644 --- a/artifacts/goapi/httpapi/controllers/metrics_controller.go +++ b/artifacts/goapi/httpapi/controllers/metrics_controller.go @@ -82,7 +82,7 @@ func (ctrl *metricsController) responseGetMetricsError(w http.ResponseWriter, er result = openapi.NewError() err := result.FromJson(rsp_err.Error()) if err != nil { - result.Msg().Code = statusCode + result.Msg().Code = &statusCode err = result.SetKind(errorKind) if err != nil { log.Print(err.Error()) @@ -131,7 +131,7 @@ func (ctrl *metricsController) responseGetWarningsError(w http.ResponseWriter, e result = openapi.NewError() err := result.FromJson(rsp_err.Error()) if err != nil { - result.Msg().Code = statusCode + result.Msg().Code = &statusCode err = result.SetKind(errorKind) if err != nil { log.Print(err.Error()) @@ -180,7 +180,7 @@ func (ctrl *metricsController) responseClearWarningsError(w http.ResponseWriter, result = openapi.NewError() err := result.FromJson(rsp_err.Error()) if err != nil { - result.Msg().Code = statusCode + result.Msg().Code = &statusCode err = result.SetKind(errorKind) if err != nil { log.Print(err.Error()) diff --git a/artifacts/goapi/httpapi/controllers/serviceabc_controller.go b/artifacts/goapi/httpapi/controllers/serviceabc_controller.go index 135379a7..9f828401 100644 --- a/artifacts/goapi/httpapi/controllers/serviceabc_controller.go +++ b/artifacts/goapi/httpapi/controllers/serviceabc_controller.go @@ -62,7 +62,7 @@ func (ctrl *serviceAbcController) responseGetAllItemsError(w http.ResponseWriter result = openapi.NewError() err := result.FromJson(rsp_err.Error()) if err != nil { - result.Msg().Code = statusCode + result.Msg().Code = &statusCode err = result.SetKind(errorKind) if err != nil { log.Print(err.Error()) @@ -111,7 +111,7 @@ func (ctrl *serviceAbcController) responseGetSingleItemError(w http.ResponseWrit result = openapi.NewError() err := result.FromJson(rsp_err.Error()) if err != nil { - result.Msg().Code = statusCode + result.Msg().Code = &statusCode err = result.SetKind(errorKind) if err != nil { log.Print(err.Error()) @@ -160,7 +160,7 @@ func (ctrl *serviceAbcController) responseGetSingleItemLevel2Error(w http.Respon result = openapi.NewError() err := result.FromJson(rsp_err.Error()) if err != nil { - result.Msg().Code = statusCode + result.Msg().Code = &statusCode err = result.SetKind(errorKind) if err != nil { log.Print(err.Error()) diff --git a/artifacts/goapi/openapi/openapi.pb.go b/artifacts/goapi/openapi/openapi.pb.go index 36b819fc..44abf508 100644 --- a/artifacts/goapi/openapi/openapi.pb.go +++ b/artifacts/goapi/openapi/openapi.pb.go @@ -1219,7 +1219,7 @@ type Error struct { // Numeric status code based on underlying transport being used. // required = true - Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` + Code *int32 `protobuf:"varint,1,opt,name=code,proto3,oneof" json:"code,omitempty"` // Kind of error message. Kind *Error_Kind_Enum `protobuf:"varint,2,opt,name=kind,proto3,enum=openapi.Error_Kind_Enum,oneof" json:"kind,omitempty"` // List of error messages generated while serving API request. @@ -1259,8 +1259,8 @@ func (*Error) Descriptor() ([]byte, []int) { } func (x *Error) GetCode() int32 { - if x != nil { - return x.Code + if x != nil && x.Code != nil { + return *x.Code } return 0 } @@ -1289,7 +1289,7 @@ type PrefixConfig struct { // required = true RequiredObject *EObject `protobuf:"bytes,1,opt,name=required_object,json=requiredObject,proto3" json:"required_object,omitempty"` // An optional object that MUST be generated as such. - OptionalObject *EObject `protobuf:"bytes,2,opt,name=optional_object,json=optionalObject,proto3,oneof" json:"optional_object,omitempty"` + OptionalObject *EObject `protobuf:"bytes,2,opt,name=optional_object,json=optionalObject,proto3" json:"optional_object,omitempty"` // Description missing in models Ieee_802_1Qbb *bool `protobuf:"varint,3,opt,name=ieee_802_1qbb,json=ieee8021qbb,proto3,oneof" json:"ieee_802_1qbb,omitempty"` // Deprecated: Information TBD @@ -1305,15 +1305,15 @@ type PrefixConfig struct { // // Small single line description // required = true - A string `protobuf:"bytes,7,opt,name=a,proto3" json:"a,omitempty"` + A *string `protobuf:"bytes,7,opt,name=a,proto3,oneof" json:"a,omitempty"` // Longer multi-line description // Second line is here // Third line // required = true - B float32 `protobuf:"fixed32,8,opt,name=b,proto3" json:"b,omitempty"` + B *float32 `protobuf:"fixed32,8,opt,name=b,proto3,oneof" json:"b,omitempty"` // Description missing in models // required = true - C int32 `protobuf:"varint,9,opt,name=c,proto3" json:"c,omitempty"` + C *int32 `protobuf:"varint,9,opt,name=c,proto3,oneof" json:"c,omitempty"` // Deprecated: Information TBD // // A list of enum values @@ -1321,9 +1321,9 @@ type PrefixConfig struct { // Deprecated: Information TBD // // A child object - E *EObject `protobuf:"bytes,11,opt,name=e,proto3,oneof" json:"e,omitempty"` + E *EObject `protobuf:"bytes,11,opt,name=e,proto3" json:"e,omitempty"` // An object with only choice(s) - F *FObject `protobuf:"bytes,12,opt,name=f,proto3,oneof" json:"f,omitempty"` + F *FObject `protobuf:"bytes,12,opt,name=f,proto3" json:"f,omitempty"` // A list of objects with choice and properties G []*GObject `protobuf:"bytes,13,rep,name=g,proto3" json:"g,omitempty"` // A boolean value @@ -1334,37 +1334,37 @@ type PrefixConfig struct { // A list of objects with only choice J []*JObject `protobuf:"bytes,16,rep,name=j,proto3" json:"j,omitempty"` // A nested object with only one property which is a choice object - K *KObject `protobuf:"bytes,17,opt,name=k,proto3,oneof" json:"k,omitempty"` + K *KObject `protobuf:"bytes,17,opt,name=k,proto3" json:"k,omitempty"` // Description missing in models - L *LObject `protobuf:"bytes,18,opt,name=l,proto3,oneof" json:"l,omitempty"` + L *LObject `protobuf:"bytes,18,opt,name=l,proto3" json:"l,omitempty"` // A list of string values ListOfStringValues []string `protobuf:"bytes,19,rep,name=list_of_string_values,json=listOfStringValues,proto3" json:"list_of_string_values,omitempty"` // A list of integer values ListOfIntegerValues []int32 `protobuf:"varint,20,rep,packed,name=list_of_integer_values,json=listOfIntegerValues,proto3" json:"list_of_integer_values,omitempty"` // Description missing in models - Level *LevelOne `protobuf:"bytes,21,opt,name=level,proto3,oneof" json:"level,omitempty"` + Level *LevelOne `protobuf:"bytes,21,opt,name=level,proto3" json:"level,omitempty"` // Description missing in models - Mandatory *Mandate `protobuf:"bytes,22,opt,name=mandatory,proto3,oneof" json:"mandatory,omitempty"` + Mandatory *Mandate `protobuf:"bytes,22,opt,name=mandatory,proto3" json:"mandatory,omitempty"` // Description missing in models - Ipv4Pattern *Ipv4Pattern `protobuf:"bytes,23,opt,name=ipv4_pattern,json=ipv4Pattern,proto3,oneof" json:"ipv4_pattern,omitempty"` + Ipv4Pattern *Ipv4Pattern `protobuf:"bytes,23,opt,name=ipv4_pattern,json=ipv4Pattern,proto3" json:"ipv4_pattern,omitempty"` // Description missing in models - Ipv6Pattern *Ipv6Pattern `protobuf:"bytes,24,opt,name=ipv6_pattern,json=ipv6Pattern,proto3,oneof" json:"ipv6_pattern,omitempty"` + Ipv6Pattern *Ipv6Pattern `protobuf:"bytes,24,opt,name=ipv6_pattern,json=ipv6Pattern,proto3" json:"ipv6_pattern,omitempty"` // Description missing in models - MacPattern *MacPattern `protobuf:"bytes,25,opt,name=mac_pattern,json=macPattern,proto3,oneof" json:"mac_pattern,omitempty"` + MacPattern *MacPattern `protobuf:"bytes,25,opt,name=mac_pattern,json=macPattern,proto3" json:"mac_pattern,omitempty"` // Description missing in models - IntegerPattern *IntegerPattern `protobuf:"bytes,26,opt,name=integer_pattern,json=integerPattern,proto3,oneof" json:"integer_pattern,omitempty"` + IntegerPattern *IntegerPattern `protobuf:"bytes,26,opt,name=integer_pattern,json=integerPattern,proto3" json:"integer_pattern,omitempty"` // Description missing in models - ChecksumPattern *ChecksumPattern `protobuf:"bytes,27,opt,name=checksum_pattern,json=checksumPattern,proto3,oneof" json:"checksum_pattern,omitempty"` + ChecksumPattern *ChecksumPattern `protobuf:"bytes,27,opt,name=checksum_pattern,json=checksumPattern,proto3" json:"checksum_pattern,omitempty"` // Description missing in models - Case *Layer1Ieee802X `protobuf:"bytes,28,opt,name=case,proto3,oneof" json:"case,omitempty"` + Case *Layer1Ieee802X `protobuf:"bytes,28,opt,name=case,proto3" json:"case,omitempty"` // Description missing in models - MObject *MObject `protobuf:"bytes,29,opt,name=m_object,json=mObject,proto3,oneof" json:"m_object,omitempty"` + MObject *MObject `protobuf:"bytes,29,opt,name=m_object,json=mObject,proto3" json:"m_object,omitempty"` // int64 type Integer64 *int64 `protobuf:"varint,30,opt,name=integer64,proto3,oneof" json:"integer64,omitempty"` // int64 type list Integer64List []int64 `protobuf:"varint,31,rep,packed,name=integer64_list,json=integer64List,proto3" json:"integer64_list,omitempty"` // Description missing in models - HeaderChecksum *PatternPrefixConfigHeaderChecksum `protobuf:"bytes,32,opt,name=header_checksum,json=headerChecksum,proto3,oneof" json:"header_checksum,omitempty"` + HeaderChecksum *PatternPrefixConfigHeaderChecksum `protobuf:"bytes,32,opt,name=header_checksum,json=headerChecksum,proto3" json:"header_checksum,omitempty"` // Under Review: Information TBD // // string minimum&maximum Length @@ -1374,7 +1374,7 @@ type PrefixConfig struct { // Array of Hex HexSlice []string `protobuf:"bytes,34,rep,name=hex_slice,json=hexSlice,proto3" json:"hex_slice,omitempty"` // Description missing in models - AutoFieldTest *PatternPrefixConfigAutoFieldTest `protobuf:"bytes,35,opt,name=auto_field_test,json=autoFieldTest,proto3,oneof" json:"auto_field_test,omitempty"` + AutoFieldTest *PatternPrefixConfigAutoFieldTest `protobuf:"bytes,35,opt,name=auto_field_test,json=autoFieldTest,proto3" json:"auto_field_test,omitempty"` // Description missing in models Name *string `protobuf:"bytes,36,opt,name=name,proto3,oneof" json:"name,omitempty"` // Description missing in models @@ -1382,13 +1382,13 @@ type PrefixConfig struct { // Description missing in models XList []*ZObject `protobuf:"bytes,38,rep,name=x_list,json=xList,proto3" json:"x_list,omitempty"` // Description missing in models - ZObject *ZObject `protobuf:"bytes,39,opt,name=z_object,json=zObject,proto3,oneof" json:"z_object,omitempty"` + ZObject *ZObject `protobuf:"bytes,39,opt,name=z_object,json=zObject,proto3" json:"z_object,omitempty"` // Description missing in models - YObject *YObject `protobuf:"bytes,40,opt,name=y_object,json=yObject,proto3,oneof" json:"y_object,omitempty"` + YObject *YObject `protobuf:"bytes,40,opt,name=y_object,json=yObject,proto3" json:"y_object,omitempty"` // A list of objects with choice with and without properties ChoiceObject []*ChoiceObject `protobuf:"bytes,41,rep,name=choice_object,json=choiceObject,proto3" json:"choice_object,omitempty"` // Description missing in models - RequiredChoiceObject *RequiredChoiceParent `protobuf:"bytes,42,opt,name=required_choice_object,json=requiredChoiceObject,proto3,oneof" json:"required_choice_object,omitempty"` + RequiredChoiceObject *RequiredChoiceParent `protobuf:"bytes,42,opt,name=required_choice_object,json=requiredChoiceObject,proto3" json:"required_choice_object,omitempty"` // A list of objects with choice and properties G1 []*GObject `protobuf:"bytes,43,rep,name=g1,proto3" json:"g1,omitempty"` // A list of objects with choice and properties @@ -1486,22 +1486,22 @@ func (x *PrefixConfig) GetResponse() PrefixConfig_Response_Enum { } func (x *PrefixConfig) GetA() string { - if x != nil { - return x.A + if x != nil && x.A != nil { + return *x.A } return "" } func (x *PrefixConfig) GetB() float32 { - if x != nil { - return x.B + if x != nil && x.B != nil { + return *x.B } return 0 } func (x *PrefixConfig) GetC() int32 { - if x != nil { - return x.C + if x != nil && x.C != nil { + return *x.C } return 0 } @@ -1815,7 +1815,7 @@ type WObject struct { // Description missing in models // required = true - WName string `protobuf:"bytes,1,opt,name=w_name,json=wName,proto3" json:"w_name,omitempty"` + WName *string `protobuf:"bytes,1,opt,name=w_name,json=wName,proto3,oneof" json:"w_name,omitempty"` } func (x *WObject) Reset() { @@ -1851,8 +1851,8 @@ func (*WObject) Descriptor() ([]byte, []int) { } func (x *WObject) GetWName() string { - if x != nil { - return x.WName + if x != nil && x.WName != nil { + return *x.WName } return "" } @@ -1865,7 +1865,7 @@ type ZObject struct { // Description missing in models // required = true - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Name *string `protobuf:"bytes,1,opt,name=name,proto3,oneof" json:"name,omitempty"` } func (x *ZObject) Reset() { @@ -1901,8 +1901,8 @@ func (*ZObject) Descriptor() ([]byte, []int) { } func (x *ZObject) GetName() string { - if x != nil { - return x.Name + if x != nil && x.Name != nil { + return *x.Name } return "" } @@ -2140,10 +2140,10 @@ type EObject struct { // Description missing in models // required = true - EA float32 `protobuf:"fixed32,1,opt,name=e_a,json=eA,proto3" json:"e_a,omitempty"` + EA *float32 `protobuf:"fixed32,1,opt,name=e_a,json=eA,proto3,oneof" json:"e_a,omitempty"` // Description missing in models // required = true - EB float64 `protobuf:"fixed64,2,opt,name=e_b,json=eB,proto3" json:"e_b,omitempty"` + EB *float64 `protobuf:"fixed64,2,opt,name=e_b,json=eB,proto3,oneof" json:"e_b,omitempty"` // Description missing in models Name *string `protobuf:"bytes,3,opt,name=name,proto3,oneof" json:"name,omitempty"` // Description missing in models @@ -2185,15 +2185,15 @@ func (*EObject) Descriptor() ([]byte, []int) { } func (x *EObject) GetEA() float32 { - if x != nil { - return x.EA + if x != nil && x.EA != nil { + return *x.EA } return 0 } func (x *EObject) GetEB() float64 { - if x != nil { - return x.EB + if x != nil && x.EB != nil { + return *x.EB } return 0 } @@ -2299,9 +2299,9 @@ type JObject struct { // default = Choice.Enum.j_a Choice *JObject_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=openapi.JObject_Choice_Enum,oneof" json:"choice,omitempty"` // Description missing in models - JA *EObject `protobuf:"bytes,2,opt,name=j_a,json=jA,proto3,oneof" json:"j_a,omitempty"` + JA *EObject `protobuf:"bytes,2,opt,name=j_a,json=jA,proto3" json:"j_a,omitempty"` // Description missing in models - JB *FObject `protobuf:"bytes,3,opt,name=j_b,json=jB,proto3,oneof" json:"j_b,omitempty"` + JB *FObject `protobuf:"bytes,3,opt,name=j_b,json=jB,proto3" json:"j_b,omitempty"` } func (x *JObject) Reset() { @@ -2367,9 +2367,9 @@ type ChoiceObject struct { // default = Choice.Enum.no_obj Choice *ChoiceObject_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=openapi.ChoiceObject_Choice_Enum,oneof" json:"choice,omitempty"` // Description missing in models - EObj *EObject `protobuf:"bytes,2,opt,name=e_obj,json=eObj,proto3,oneof" json:"e_obj,omitempty"` + EObj *EObject `protobuf:"bytes,2,opt,name=e_obj,json=eObj,proto3" json:"e_obj,omitempty"` // Description missing in models - FObj *FObject `protobuf:"bytes,3,opt,name=f_obj,json=fObj,proto3,oneof" json:"f_obj,omitempty"` + FObj *FObject `protobuf:"bytes,3,opt,name=f_obj,json=fObj,proto3" json:"f_obj,omitempty"` } func (x *ChoiceObject) Reset() { @@ -2432,9 +2432,9 @@ type KObject struct { unknownFields protoimpl.UnknownFields // Description missing in models - EObject *EObject `protobuf:"bytes,1,opt,name=e_object,json=eObject,proto3,oneof" json:"e_object,omitempty"` + EObject *EObject `protobuf:"bytes,1,opt,name=e_object,json=eObject,proto3" json:"e_object,omitempty"` // Description missing in models - FObject *FObject `protobuf:"bytes,2,opt,name=f_object,json=fObject,proto3,oneof" json:"f_object,omitempty"` + FObject *FObject `protobuf:"bytes,2,opt,name=f_object,json=fObject,proto3" json:"f_object,omitempty"` } func (x *KObject) Reset() { @@ -2603,28 +2603,28 @@ type MObject struct { // Description missing in models // required = true - StringParam string `protobuf:"bytes,1,opt,name=string_param,json=stringParam,proto3" json:"string_param,omitempty"` + StringParam *string `protobuf:"bytes,1,opt,name=string_param,json=stringParam,proto3,oneof" json:"string_param,omitempty"` // Description missing in models // required = true - Integer int32 `protobuf:"varint,2,opt,name=integer,proto3" json:"integer,omitempty"` + Integer *int32 `protobuf:"varint,2,opt,name=integer,proto3,oneof" json:"integer,omitempty"` // Description missing in models // required = true - Float float32 `protobuf:"fixed32,3,opt,name=float,proto3" json:"float,omitempty"` + Float *float32 `protobuf:"fixed32,3,opt,name=float,proto3,oneof" json:"float,omitempty"` // Description missing in models // required = true - Double float64 `protobuf:"fixed64,4,opt,name=double,proto3" json:"double,omitempty"` + Double *float64 `protobuf:"fixed64,4,opt,name=double,proto3,oneof" json:"double,omitempty"` // Description missing in models // required = true - Mac string `protobuf:"bytes,5,opt,name=mac,proto3" json:"mac,omitempty"` + Mac *string `protobuf:"bytes,5,opt,name=mac,proto3,oneof" json:"mac,omitempty"` // Description missing in models // required = true - Ipv4 string `protobuf:"bytes,6,opt,name=ipv4,proto3" json:"ipv4,omitempty"` + Ipv4 *string `protobuf:"bytes,6,opt,name=ipv4,proto3,oneof" json:"ipv4,omitempty"` // Description missing in models // required = true - Ipv6 string `protobuf:"bytes,7,opt,name=ipv6,proto3" json:"ipv6,omitempty"` + Ipv6 *string `protobuf:"bytes,7,opt,name=ipv6,proto3,oneof" json:"ipv6,omitempty"` // Description missing in models // required = true - Hex string `protobuf:"bytes,8,opt,name=hex,proto3" json:"hex,omitempty"` + Hex *string `protobuf:"bytes,8,opt,name=hex,proto3,oneof" json:"hex,omitempty"` } func (x *MObject) Reset() { @@ -2660,57 +2660,57 @@ func (*MObject) Descriptor() ([]byte, []int) { } func (x *MObject) GetStringParam() string { - if x != nil { - return x.StringParam + if x != nil && x.StringParam != nil { + return *x.StringParam } return "" } func (x *MObject) GetInteger() int32 { - if x != nil { - return x.Integer + if x != nil && x.Integer != nil { + return *x.Integer } return 0 } func (x *MObject) GetFloat() float32 { - if x != nil { - return x.Float + if x != nil && x.Float != nil { + return *x.Float } return 0 } func (x *MObject) GetDouble() float64 { - if x != nil { - return x.Double + if x != nil && x.Double != nil { + return *x.Double } return 0 } func (x *MObject) GetMac() string { - if x != nil { - return x.Mac + if x != nil && x.Mac != nil { + return *x.Mac } return "" } func (x *MObject) GetIpv4() string { - if x != nil { - return x.Ipv4 + if x != nil && x.Ipv4 != nil { + return *x.Ipv4 } return "" } func (x *MObject) GetIpv6() string { - if x != nil { - return x.Ipv6 + if x != nil && x.Ipv6 != nil { + return *x.Ipv6 } return "" } func (x *MObject) GetHex() string { - if x != nil { - return x.Hex + if x != nil && x.Hex != nil { + return *x.Hex } return "" } @@ -2723,7 +2723,7 @@ type Mandate struct { // Description missing in models // required = true - RequiredParam string `protobuf:"bytes,1,opt,name=required_param,json=requiredParam,proto3" json:"required_param,omitempty"` + RequiredParam *string `protobuf:"bytes,1,opt,name=required_param,json=requiredParam,proto3,oneof" json:"required_param,omitempty"` } func (x *Mandate) Reset() { @@ -2759,8 +2759,8 @@ func (*Mandate) Descriptor() ([]byte, []int) { } func (x *Mandate) GetRequiredParam() string { - if x != nil { - return x.RequiredParam + if x != nil && x.RequiredParam != nil { + return *x.RequiredParam } return "" } @@ -2960,13 +2960,13 @@ type PortMetric struct { // Description missing in models // required = true - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Name *string `protobuf:"bytes,1,opt,name=name,proto3,oneof" json:"name,omitempty"` // Description missing in models // required = true - TxFrames float64 `protobuf:"fixed64,2,opt,name=tx_frames,json=txFrames,proto3" json:"tx_frames,omitempty"` + TxFrames *float64 `protobuf:"fixed64,2,opt,name=tx_frames,json=txFrames,proto3,oneof" json:"tx_frames,omitempty"` // Description missing in models // required = true - RxFrames float64 `protobuf:"fixed64,3,opt,name=rx_frames,json=rxFrames,proto3" json:"rx_frames,omitempty"` + RxFrames *float64 `protobuf:"fixed64,3,opt,name=rx_frames,json=rxFrames,proto3,oneof" json:"rx_frames,omitempty"` } func (x *PortMetric) Reset() { @@ -3002,22 +3002,22 @@ func (*PortMetric) Descriptor() ([]byte, []int) { } func (x *PortMetric) GetName() string { - if x != nil { - return x.Name + if x != nil && x.Name != nil { + return *x.Name } return "" } func (x *PortMetric) GetTxFrames() float64 { - if x != nil { - return x.TxFrames + if x != nil && x.TxFrames != nil { + return *x.TxFrames } return 0 } func (x *PortMetric) GetRxFrames() float64 { - if x != nil { - return x.RxFrames + if x != nil && x.RxFrames != nil { + return *x.RxFrames } return 0 } @@ -3030,13 +3030,13 @@ type FlowMetric struct { // Description missing in models // required = true - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Name *string `protobuf:"bytes,1,opt,name=name,proto3,oneof" json:"name,omitempty"` // Description missing in models // required = true - TxFrames float64 `protobuf:"fixed64,2,opt,name=tx_frames,json=txFrames,proto3" json:"tx_frames,omitempty"` + TxFrames *float64 `protobuf:"fixed64,2,opt,name=tx_frames,json=txFrames,proto3,oneof" json:"tx_frames,omitempty"` // Description missing in models // required = true - RxFrames float64 `protobuf:"fixed64,3,opt,name=rx_frames,json=rxFrames,proto3" json:"rx_frames,omitempty"` + RxFrames *float64 `protobuf:"fixed64,3,opt,name=rx_frames,json=rxFrames,proto3,oneof" json:"rx_frames,omitempty"` } func (x *FlowMetric) Reset() { @@ -3072,22 +3072,22 @@ func (*FlowMetric) Descriptor() ([]byte, []int) { } func (x *FlowMetric) GetName() string { - if x != nil { - return x.Name + if x != nil && x.Name != nil { + return *x.Name } return "" } func (x *FlowMetric) GetTxFrames() float64 { - if x != nil { - return x.TxFrames + if x != nil && x.TxFrames != nil { + return *x.TxFrames } return 0 } func (x *FlowMetric) GetRxFrames() float64 { - if x != nil { - return x.RxFrames + if x != nil && x.RxFrames != nil { + return *x.RxFrames } return 0 } @@ -3100,9 +3100,9 @@ type RequiredChoiceParent struct { // Description missing in models // required = true - Choice RequiredChoiceParent_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=openapi.RequiredChoiceParent_Choice_Enum" json:"choice,omitempty"` + Choice *RequiredChoiceParent_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=openapi.RequiredChoiceParent_Choice_Enum,oneof" json:"choice,omitempty"` // Description missing in models - IntermediateObj *RequiredChoiceIntermediate `protobuf:"bytes,2,opt,name=intermediate_obj,json=intermediateObj,proto3,oneof" json:"intermediate_obj,omitempty"` + IntermediateObj *RequiredChoiceIntermediate `protobuf:"bytes,2,opt,name=intermediate_obj,json=intermediateObj,proto3" json:"intermediate_obj,omitempty"` } func (x *RequiredChoiceParent) Reset() { @@ -3138,8 +3138,8 @@ func (*RequiredChoiceParent) Descriptor() ([]byte, []int) { } func (x *RequiredChoiceParent) GetChoice() RequiredChoiceParent_Choice_Enum { - if x != nil { - return x.Choice + if x != nil && x.Choice != nil { + return *x.Choice } return RequiredChoiceParent_Choice_unspecified } @@ -3159,12 +3159,12 @@ type RequiredChoiceIntermediate struct { // Description missing in models // required = true - Choice RequiredChoiceIntermediate_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=openapi.RequiredChoiceIntermediate_Choice_Enum" json:"choice,omitempty"` + Choice *RequiredChoiceIntermediate_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=openapi.RequiredChoiceIntermediate_Choice_Enum,oneof" json:"choice,omitempty"` // Description missing in models // default = some string FA *string `protobuf:"bytes,2,opt,name=f_a,json=fA,proto3,oneof" json:"f_a,omitempty"` // Description missing in models - Leaf *RequiredChoiceIntermeLeaf `protobuf:"bytes,3,opt,name=leaf,proto3,oneof" json:"leaf,omitempty"` + Leaf *RequiredChoiceIntermeLeaf `protobuf:"bytes,3,opt,name=leaf,proto3" json:"leaf,omitempty"` } func (x *RequiredChoiceIntermediate) Reset() { @@ -3200,8 +3200,8 @@ func (*RequiredChoiceIntermediate) Descriptor() ([]byte, []int) { } func (x *RequiredChoiceIntermediate) GetChoice() RequiredChoiceIntermediate_Choice_Enum { - if x != nil { - return x.Choice + if x != nil && x.Choice != nil { + return *x.Choice } return RequiredChoiceIntermediate_Choice_unspecified } @@ -3276,9 +3276,9 @@ type LevelOne struct { unknownFields protoimpl.UnknownFields // Level one - L1P1 *LevelTwo `protobuf:"bytes,1,opt,name=l1_p1,json=l1P1,proto3,oneof" json:"l1_p1,omitempty"` + L1P1 *LevelTwo `protobuf:"bytes,1,opt,name=l1_p1,json=l1P1,proto3" json:"l1_p1,omitempty"` // Level one to four - L1P2 *LevelFour `protobuf:"bytes,2,opt,name=l1_p2,json=l1P2,proto3,oneof" json:"l1_p2,omitempty"` + L1P2 *LevelFour `protobuf:"bytes,2,opt,name=l1_p2,json=l1P2,proto3" json:"l1_p2,omitempty"` } func (x *LevelOne) Reset() { @@ -3334,7 +3334,7 @@ type LevelTwo struct { unknownFields protoimpl.UnknownFields // Level Two - L2P1 *LevelThree `protobuf:"bytes,1,opt,name=l2_p1,json=l2P1,proto3,oneof" json:"l2_p1,omitempty"` + L2P1 *LevelThree `protobuf:"bytes,1,opt,name=l2_p1,json=l2P1,proto3" json:"l2_p1,omitempty"` } func (x *LevelTwo) Reset() { @@ -3432,7 +3432,7 @@ type LevelFour struct { unknownFields protoimpl.UnknownFields // loop over level 1 - L4P1 *LevelOne `protobuf:"bytes,1,opt,name=l4_p1,json=l4P1,proto3,oneof" json:"l4_p1,omitempty"` + L4P1 *LevelOne `protobuf:"bytes,1,opt,name=l4_p1,json=l4P1,proto3" json:"l4_p1,omitempty"` } func (x *LevelFour) Reset() { @@ -3481,7 +3481,7 @@ type Ipv4Pattern struct { unknownFields protoimpl.UnknownFields // Description missing in models - Ipv4 *PatternIpv4PatternIpv4 `protobuf:"bytes,1,opt,name=ipv4,proto3,oneof" json:"ipv4,omitempty"` + Ipv4 *PatternIpv4PatternIpv4 `protobuf:"bytes,1,opt,name=ipv4,proto3" json:"ipv4,omitempty"` } func (x *Ipv4Pattern) Reset() { @@ -3530,7 +3530,7 @@ type Ipv6Pattern struct { unknownFields protoimpl.UnknownFields // Description missing in models - Ipv6 *PatternIpv6PatternIpv6 `protobuf:"bytes,1,opt,name=ipv6,proto3,oneof" json:"ipv6,omitempty"` + Ipv6 *PatternIpv6PatternIpv6 `protobuf:"bytes,1,opt,name=ipv6,proto3" json:"ipv6,omitempty"` } func (x *Ipv6Pattern) Reset() { @@ -3579,7 +3579,7 @@ type MacPattern struct { unknownFields protoimpl.UnknownFields // Description missing in models - Mac *PatternMacPatternMac `protobuf:"bytes,1,opt,name=mac,proto3,oneof" json:"mac,omitempty"` + Mac *PatternMacPatternMac `protobuf:"bytes,1,opt,name=mac,proto3" json:"mac,omitempty"` } func (x *MacPattern) Reset() { @@ -3628,7 +3628,7 @@ type IntegerPattern struct { unknownFields protoimpl.UnknownFields // Description missing in models - Integer *PatternIntegerPatternInteger `protobuf:"bytes,1,opt,name=integer,proto3,oneof" json:"integer,omitempty"` + Integer *PatternIntegerPatternInteger `protobuf:"bytes,1,opt,name=integer,proto3" json:"integer,omitempty"` } func (x *IntegerPattern) Reset() { @@ -3677,7 +3677,7 @@ type ChecksumPattern struct { unknownFields protoimpl.UnknownFields // Description missing in models - Checksum *PatternChecksumPatternChecksum `protobuf:"bytes,1,opt,name=checksum,proto3,oneof" json:"checksum,omitempty"` + Checksum *PatternChecksumPatternChecksum `protobuf:"bytes,1,opt,name=checksum,proto3" json:"checksum,omitempty"` } func (x *ChecksumPattern) Reset() { @@ -4102,9 +4102,9 @@ type PatternPrefixConfigAutoFieldTest struct { // default = 0 Auto *uint32 `protobuf:"varint,4,opt,name=auto,proto3,oneof" json:"auto,omitempty"` // Description missing in models - Increment *PatternPrefixConfigAutoFieldTestCounter `protobuf:"bytes,6,opt,name=increment,proto3,oneof" json:"increment,omitempty"` + Increment *PatternPrefixConfigAutoFieldTestCounter `protobuf:"bytes,6,opt,name=increment,proto3" json:"increment,omitempty"` // Description missing in models - Decrement *PatternPrefixConfigAutoFieldTestCounter `protobuf:"bytes,7,opt,name=decrement,proto3,oneof" json:"decrement,omitempty"` + Decrement *PatternPrefixConfigAutoFieldTestCounter `protobuf:"bytes,7,opt,name=decrement,proto3" json:"decrement,omitempty"` } func (x *PatternPrefixConfigAutoFieldTest) Reset() { @@ -4267,9 +4267,9 @@ type PatternIpv4PatternIpv4 struct { // default = ['0.0.0.0'] Values []string `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"` // Description missing in models - Increment *PatternIpv4PatternIpv4Counter `protobuf:"bytes,5,opt,name=increment,proto3,oneof" json:"increment,omitempty"` + Increment *PatternIpv4PatternIpv4Counter `protobuf:"bytes,5,opt,name=increment,proto3" json:"increment,omitempty"` // Description missing in models - Decrement *PatternIpv4PatternIpv4Counter `protobuf:"bytes,6,opt,name=decrement,proto3,oneof" json:"decrement,omitempty"` + Decrement *PatternIpv4PatternIpv4Counter `protobuf:"bytes,6,opt,name=decrement,proto3" json:"decrement,omitempty"` } func (x *PatternIpv4PatternIpv4) Reset() { @@ -4425,9 +4425,9 @@ type PatternIpv6PatternIpv6 struct { // default = ['::'] Values []string `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"` // Description missing in models - Increment *PatternIpv6PatternIpv6Counter `protobuf:"bytes,5,opt,name=increment,proto3,oneof" json:"increment,omitempty"` + Increment *PatternIpv6PatternIpv6Counter `protobuf:"bytes,5,opt,name=increment,proto3" json:"increment,omitempty"` // Description missing in models - Decrement *PatternIpv6PatternIpv6Counter `protobuf:"bytes,6,opt,name=decrement,proto3,oneof" json:"decrement,omitempty"` + Decrement *PatternIpv6PatternIpv6Counter `protobuf:"bytes,6,opt,name=decrement,proto3" json:"decrement,omitempty"` } func (x *PatternIpv6PatternIpv6) Reset() { @@ -4588,9 +4588,9 @@ type PatternMacPatternMac struct { // default = 00:00:00:00:00:00 Auto *string `protobuf:"bytes,4,opt,name=auto,proto3,oneof" json:"auto,omitempty"` // Description missing in models - Increment *PatternMacPatternMacCounter `protobuf:"bytes,6,opt,name=increment,proto3,oneof" json:"increment,omitempty"` + Increment *PatternMacPatternMacCounter `protobuf:"bytes,6,opt,name=increment,proto3" json:"increment,omitempty"` // Description missing in models - Decrement *PatternMacPatternMacCounter `protobuf:"bytes,7,opt,name=decrement,proto3,oneof" json:"decrement,omitempty"` + Decrement *PatternMacPatternMacCounter `protobuf:"bytes,7,opt,name=decrement,proto3" json:"decrement,omitempty"` } func (x *PatternMacPatternMac) Reset() { @@ -4753,9 +4753,9 @@ type PatternIntegerPatternInteger struct { // default = [0] Values []uint32 `protobuf:"varint,3,rep,packed,name=values,proto3" json:"values,omitempty"` // Description missing in models - Increment *PatternIntegerPatternIntegerCounter `protobuf:"bytes,5,opt,name=increment,proto3,oneof" json:"increment,omitempty"` + Increment *PatternIntegerPatternIntegerCounter `protobuf:"bytes,5,opt,name=increment,proto3" json:"increment,omitempty"` // Description missing in models - Decrement *PatternIntegerPatternIntegerCounter `protobuf:"bytes,6,opt,name=decrement,proto3,oneof" json:"decrement,omitempty"` + Decrement *PatternIntegerPatternIntegerCounter `protobuf:"bytes,6,opt,name=decrement,proto3" json:"decrement,omitempty"` } func (x *PatternIntegerPatternInteger) Reset() { @@ -6622,908 +6622,881 @@ var file_openapi_proto_rawDesc = []byte{ 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x2c, 0x0a, 0x0e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x22, 0xbd, 0x01, - 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x31, 0x0a, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6f, 0x70, 0x65, 0x6e, - 0x61, 0x70, 0x69, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x2e, 0x45, - 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x16, - 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x1a, 0x4c, 0x0a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x22, 0x44, - 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x70, 0x6f, 0x72, 0x74, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x6c, 0x10, 0x03, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xc4, 0x17, - 0x0a, 0x0c, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, - 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, - 0x69, 0x2e, 0x45, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3e, 0x0a, 0x0f, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0d, 0x69, 0x65, 0x65, - 0x65, 0x5f, 0x38, 0x30, 0x32, 0x5f, 0x31, 0x71, 0x62, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, - 0x48, 0x01, 0x52, 0x0b, 0x69, 0x65, 0x65, 0x65, 0x38, 0x30, 0x32, 0x31, 0x71, 0x62, 0x62, 0x88, - 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x31, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x06, 0x73, 0x70, 0x61, 0x63, 0x65, 0x31, 0x88, 0x01, 0x01, - 0x12, 0x30, 0x0a, 0x12, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x64, 0x75, 0x70, 0x6c, 0x65, 0x78, 0x5f, - 0x31, 0x30, 0x30, 0x5f, 0x6d, 0x62, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x0f, - 0x66, 0x75, 0x6c, 0x6c, 0x44, 0x75, 0x70, 0x6c, 0x65, 0x78, 0x31, 0x30, 0x30, 0x4d, 0x62, 0x88, - 0x01, 0x01, 0x12, 0x44, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, - 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x04, 0x52, 0x08, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x0c, 0x0a, 0x01, 0x61, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x01, 0x61, 0x12, 0x0c, 0x0a, 0x01, 0x62, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x01, 0x62, 0x12, 0x0c, 0x0a, 0x01, 0x63, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x01, 0x63, 0x12, 0x3d, 0x0a, 0x08, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x0a, - 0x20, 0x03, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, - 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x07, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x12, 0x23, 0x0a, 0x01, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, - 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x05, - 0x52, 0x01, 0x65, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x01, 0x66, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x48, 0x06, 0x52, 0x01, 0x66, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x01, 0x67, - 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, - 0x2e, 0x47, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x01, 0x67, 0x12, 0x11, 0x0a, 0x01, 0x68, - 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x48, 0x07, 0x52, 0x01, 0x68, 0x88, 0x01, 0x01, 0x12, 0x11, - 0x0a, 0x01, 0x69, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x08, 0x52, 0x01, 0x69, 0x88, 0x01, - 0x01, 0x12, 0x1e, 0x0a, 0x01, 0x6a, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, - 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x4a, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x01, - 0x6a, 0x12, 0x23, 0x0a, 0x01, 0x6b, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, - 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x4b, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x09, - 0x52, 0x01, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x01, 0x6c, 0x18, 0x12, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x48, 0x0a, 0x52, 0x01, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x15, 0x6c, - 0x69, 0x73, 0x74, 0x5f, 0x6f, 0x66, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x6c, 0x69, 0x73, 0x74, - 0x4f, 0x66, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x33, - 0x0a, 0x16, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x6f, 0x66, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, - 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x05, 0x52, 0x13, - 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x15, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x65, 0x76, - 0x65, 0x6c, 0x4f, 0x6e, 0x65, 0x48, 0x0b, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x88, 0x01, - 0x01, 0x12, 0x33, 0x0a, 0x09, 0x6d, 0x61, 0x6e, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x16, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x4d, - 0x61, 0x6e, 0x64, 0x61, 0x74, 0x65, 0x48, 0x0c, 0x52, 0x09, 0x6d, 0x61, 0x6e, 0x64, 0x61, 0x74, - 0x6f, 0x72, 0x79, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x0c, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x70, - 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6f, - 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x70, 0x76, 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, - 0x72, 0x6e, 0x48, 0x0d, 0x52, 0x0b, 0x69, 0x70, 0x76, 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x0c, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x70, 0x61, 0x74, - 0x74, 0x65, 0x72, 0x6e, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6f, 0x70, 0x65, - 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, - 0x48, 0x0e, 0x52, 0x0b, 0x69, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x88, - 0x01, 0x01, 0x12, 0x39, 0x0a, 0x0b, 0x6d, 0x61, 0x63, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, + 0x03, 0x28, 0x09, 0x52, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x22, 0xcb, 0x01, + 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x17, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x31, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, + 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x4b, + 0x69, 0x6e, 0x64, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x1a, 0x4c, 0x0a, 0x04, 0x4b, + 0x69, 0x6e, 0x64, 0x22, 0x44, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, + 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x10, 0x03, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x63, 0x6f, + 0x64, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xf4, 0x14, 0x0a, 0x0c, + 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x0f, + 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, + 0x45, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, + 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x39, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x27, 0x0a, 0x0d, 0x69, 0x65, 0x65, 0x65, 0x5f, 0x38, 0x30, 0x32, 0x5f, 0x31, + 0x71, 0x62, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0b, 0x69, 0x65, 0x65, + 0x65, 0x38, 0x30, 0x32, 0x31, 0x71, 0x62, 0x62, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x5f, 0x31, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x06, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x31, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x12, 0x66, 0x75, 0x6c, + 0x6c, 0x5f, 0x64, 0x75, 0x70, 0x6c, 0x65, 0x78, 0x5f, 0x31, 0x30, 0x30, 0x5f, 0x6d, 0x62, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x0f, 0x66, 0x75, 0x6c, 0x6c, 0x44, 0x75, 0x70, + 0x6c, 0x65, 0x78, 0x31, 0x30, 0x30, 0x4d, 0x62, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x08, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x6e, + 0x75, 0x6d, 0x48, 0x03, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x11, 0x0a, 0x01, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x01, + 0x61, 0x88, 0x01, 0x01, 0x12, 0x11, 0x0a, 0x01, 0x62, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x48, + 0x05, 0x52, 0x01, 0x62, 0x88, 0x01, 0x01, 0x12, 0x11, 0x0a, 0x01, 0x63, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x05, 0x48, 0x06, 0x52, 0x01, 0x63, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x08, 0x64, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x44, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x45, 0x6e, 0x75, 0x6d, + 0x52, 0x07, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x01, 0x65, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x45, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x01, 0x65, 0x12, 0x1e, 0x0a, 0x01, 0x66, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x46, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x01, 0x66, 0x12, 0x1e, 0x0a, 0x01, 0x67, 0x18, 0x0d, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x47, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x01, 0x67, 0x12, 0x11, 0x0a, 0x01, 0x68, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x07, 0x52, 0x01, 0x68, 0x88, 0x01, 0x01, 0x12, 0x11, 0x0a, 0x01, + 0x69, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x08, 0x52, 0x01, 0x69, 0x88, 0x01, 0x01, 0x12, + 0x1e, 0x0a, 0x01, 0x6a, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x4a, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x01, 0x6a, 0x12, + 0x1e, 0x0a, 0x01, 0x6b, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x4b, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x01, 0x6b, 0x12, + 0x1e, 0x0a, 0x01, 0x6c, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x01, 0x6c, 0x12, + 0x31, 0x0a, 0x15, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x6f, 0x66, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, + 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x12, 0x33, 0x0a, 0x16, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x6f, 0x66, 0x5f, 0x69, 0x6e, + 0x74, 0x65, 0x67, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x14, 0x20, 0x03, + 0x28, 0x05, 0x52, 0x13, 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, + 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, + 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, + 0x2e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4f, 0x6e, 0x65, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, + 0x12, 0x2e, 0x0a, 0x09, 0x6d, 0x61, 0x6e, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x16, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x61, + 0x6e, 0x64, 0x61, 0x74, 0x65, 0x52, 0x09, 0x6d, 0x61, 0x6e, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x79, + 0x12, 0x37, 0x0a, 0x0c, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, + 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, + 0x2e, 0x49, 0x70, 0x76, 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x0b, 0x69, 0x70, + 0x76, 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x37, 0x0a, 0x0c, 0x69, 0x70, 0x76, + 0x36, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x70, 0x76, 0x36, 0x50, 0x61, + 0x74, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x0b, 0x69, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, 0x65, + 0x72, 0x6e, 0x12, 0x34, 0x0a, 0x0b, 0x6d, 0x61, 0x63, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, - 0x69, 0x2e, 0x4d, 0x61, 0x63, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x48, 0x0f, 0x52, 0x0a, - 0x6d, 0x61, 0x63, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, - 0x0f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, - 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, - 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x48, - 0x10, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x48, 0x0a, 0x10, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, - 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, - 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, - 0x6d, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x48, 0x11, 0x52, 0x0f, 0x63, 0x68, 0x65, 0x63, - 0x6b, 0x73, 0x75, 0x6d, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x30, - 0x0a, 0x04, 0x63, 0x61, 0x73, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6f, - 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x31, 0x49, 0x65, 0x65, - 0x65, 0x38, 0x30, 0x32, 0x78, 0x48, 0x12, 0x52, 0x04, 0x63, 0x61, 0x73, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x30, 0x0a, 0x08, 0x6d, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x1d, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x48, 0x13, 0x52, 0x07, 0x6d, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x36, 0x34, 0x18, - 0x1e, 0x20, 0x01, 0x28, 0x03, 0x48, 0x14, 0x52, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, - 0x36, 0x34, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, - 0x36, 0x34, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0d, 0x69, - 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x36, 0x34, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x58, 0x0a, 0x0f, - 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, - 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, - 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, - 0x6d, 0x48, 0x15, 0x52, 0x0e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x43, 0x68, 0x65, 0x63, 0x6b, - 0x73, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x73, 0x74, 0x72, 0x5f, 0x6c, 0x65, - 0x6e, 0x18, 0x21, 0x20, 0x01, 0x28, 0x09, 0x48, 0x16, 0x52, 0x06, 0x73, 0x74, 0x72, 0x4c, 0x65, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x65, 0x78, 0x5f, 0x73, 0x6c, 0x69, 0x63, - 0x65, 0x18, 0x22, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x68, 0x65, 0x78, 0x53, 0x6c, 0x69, 0x63, - 0x65, 0x12, 0x56, 0x0a, 0x0f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, - 0x74, 0x65, 0x73, 0x74, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6f, 0x70, 0x65, - 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x41, 0x75, 0x74, 0x6f, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x54, 0x65, 0x73, 0x74, 0x48, 0x17, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x6f, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x54, 0x65, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x24, 0x20, 0x01, 0x28, 0x09, 0x48, 0x18, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x27, 0x0a, 0x06, 0x77, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x25, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x05, 0x77, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x78, - 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x26, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, - 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x5a, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x05, 0x78, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x08, 0x7a, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x27, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, - 0x2e, 0x5a, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x19, 0x52, 0x07, 0x7a, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x08, 0x79, 0x5f, 0x6f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, - 0x70, 0x69, 0x2e, 0x59, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x1a, 0x52, 0x07, 0x79, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x0d, 0x63, 0x68, 0x6f, 0x69, - 0x63, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x29, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x15, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, - 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x0c, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x58, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, - 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x2a, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x52, - 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x50, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x48, 0x1b, 0x52, 0x14, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x43, - 0x68, 0x6f, 0x69, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x20, - 0x0a, 0x02, 0x67, 0x31, 0x18, 0x2b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, - 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x02, 0x67, 0x31, - 0x12, 0x20, 0x0a, 0x02, 0x67, 0x32, 0x18, 0x2c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, - 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x02, - 0x67, 0x32, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x05, 0x48, 0x1c, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x33, 0x32, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x6e, 0x74, 0x33, - 0x32, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x2e, 0x20, 0x03, - 0x28, 0x05, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x12, 0x26, 0x0a, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x1d, 0x52, 0x0b, 0x75, 0x69, 0x6e, 0x74, - 0x33, 0x32, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x11, 0x75, 0x69, - 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, - 0x30, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x4c, 0x69, 0x73, - 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x26, 0x0a, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, - 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x31, 0x20, 0x01, 0x28, 0x04, 0x48, 0x1e, 0x52, 0x0b, - 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x2a, - 0x0a, 0x11, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x18, 0x32, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0f, 0x75, 0x69, 0x6e, 0x74, 0x36, - 0x34, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x2d, 0x0a, 0x10, 0x61, 0x75, - 0x74, 0x6f, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x33, - 0x20, 0x01, 0x28, 0x05, 0x48, 0x1f, 0x52, 0x0e, 0x61, 0x75, 0x74, 0x6f, 0x49, 0x6e, 0x74, 0x33, - 0x32, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x15, 0x61, 0x75, 0x74, - 0x6f, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x18, 0x34, 0x20, 0x03, 0x28, 0x05, 0x52, 0x12, 0x61, 0x75, 0x74, 0x6f, 0x49, 0x6e, - 0x74, 0x33, 0x32, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x63, 0x0a, 0x08, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x57, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, - 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, - 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x32, 0x30, 0x30, 0x10, - 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x34, 0x30, 0x30, 0x10, - 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x34, 0x30, 0x34, 0x10, - 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x35, 0x30, 0x30, 0x10, - 0x04, 0x1a, 0x37, 0x0a, 0x07, 0x44, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x2c, 0x0a, 0x04, - 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x05, 0x0a, 0x01, 0x61, 0x10, 0x01, 0x12, 0x05, 0x0a, 0x01, - 0x62, 0x10, 0x02, 0x12, 0x05, 0x0a, 0x01, 0x63, 0x10, 0x03, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x10, - 0x0a, 0x0e, 0x5f, 0x69, 0x65, 0x65, 0x65, 0x5f, 0x38, 0x30, 0x32, 0x5f, 0x31, 0x71, 0x62, 0x62, - 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x31, 0x42, 0x15, 0x0a, 0x13, - 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x64, 0x75, 0x70, 0x6c, 0x65, 0x78, 0x5f, 0x31, 0x30, 0x30, - 0x5f, 0x6d, 0x62, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x42, 0x04, 0x0a, 0x02, 0x5f, 0x65, 0x42, 0x04, 0x0a, 0x02, 0x5f, 0x66, 0x42, 0x04, 0x0a, 0x02, - 0x5f, 0x68, 0x42, 0x04, 0x0a, 0x02, 0x5f, 0x69, 0x42, 0x04, 0x0a, 0x02, 0x5f, 0x6b, 0x42, 0x04, - 0x0a, 0x02, 0x5f, 0x6c, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x0c, - 0x0a, 0x0a, 0x5f, 0x6d, 0x61, 0x6e, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x0f, 0x0a, 0x0d, - 0x5f, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x42, 0x0f, 0x0a, - 0x0d, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x42, 0x0e, - 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x63, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x42, 0x12, - 0x0a, 0x10, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, - 0x72, 0x6e, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x5f, - 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x63, 0x61, 0x73, 0x65, - 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x0c, 0x0a, - 0x0a, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x36, 0x34, 0x42, 0x12, 0x0a, 0x10, 0x5f, - 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x42, - 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x74, 0x72, 0x5f, 0x6c, 0x65, 0x6e, 0x42, 0x12, 0x0a, 0x10, 0x5f, - 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x42, - 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x7a, 0x5f, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x79, 0x5f, 0x6f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, - 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x0e, 0x0a, - 0x0c, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x42, 0x0f, 0x0a, - 0x0d, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x42, 0x0f, - 0x0a, 0x0d, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x42, - 0x13, 0x0a, 0x11, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x22, 0x20, 0x0a, 0x07, 0x57, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x15, 0x0a, 0x06, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x1d, 0x0a, 0x07, 0x5a, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x30, 0x0a, 0x07, 0x59, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x1a, 0x0a, 0x06, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x05, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, - 0x5f, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x49, 0x0a, 0x0e, 0x4c, 0x61, 0x79, 0x65, 0x72, - 0x31, 0x49, 0x65, 0x65, 0x65, 0x38, 0x30, 0x32, 0x78, 0x12, 0x26, 0x0a, 0x0c, 0x66, 0x6c, 0x6f, - 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, - 0x00, 0x52, 0x0b, 0x66, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x88, 0x01, - 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x6f, 0x6c, 0x22, 0xa8, 0x03, 0x0a, 0x07, 0x47, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x14, - 0x0a, 0x03, 0x67, 0x5f, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x67, - 0x41, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x03, 0x67, 0x5f, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x48, 0x01, 0x52, 0x02, 0x67, 0x42, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x03, 0x67, 0x5f, - 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x48, 0x02, 0x52, 0x02, 0x67, 0x43, 0x88, 0x01, 0x01, - 0x12, 0x39, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x03, - 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x03, 0x67, - 0x5f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x02, 0x67, 0x44, 0x88, 0x01, - 0x01, 0x12, 0x14, 0x0a, 0x03, 0x67, 0x5f, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x48, 0x05, - 0x52, 0x02, 0x67, 0x45, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x03, 0x67, 0x5f, 0x66, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x47, - 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x47, 0x46, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x06, - 0x52, 0x02, 0x67, 0x46, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, - 0x1a, 0x33, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x29, 0x0a, 0x04, 0x45, 0x6e, + 0x69, 0x2e, 0x4d, 0x61, 0x63, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x0a, 0x6d, 0x61, + 0x63, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x40, 0x0a, 0x0f, 0x69, 0x6e, 0x74, 0x65, + 0x67, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x6e, 0x74, 0x65, + 0x67, 0x65, 0x72, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x65, + 0x67, 0x65, 0x72, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x43, 0x0a, 0x10, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x1b, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x0f, + 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, + 0x2b, 0x0a, 0x04, 0x63, 0x61, 0x73, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x31, 0x49, 0x65, + 0x65, 0x65, 0x38, 0x30, 0x32, 0x78, 0x52, 0x04, 0x63, 0x61, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x08, + 0x6d, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, + 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x07, 0x6d, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x21, 0x0a, 0x09, 0x69, 0x6e, 0x74, + 0x65, 0x67, 0x65, 0x72, 0x36, 0x34, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x03, 0x48, 0x09, 0x52, 0x09, + 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x36, 0x34, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0e, + 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x36, 0x34, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x1f, + 0x20, 0x03, 0x28, 0x03, 0x52, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x36, 0x34, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x53, 0x0a, 0x0f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x52, 0x0e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x07, 0x73, 0x74, 0x72, 0x5f, + 0x6c, 0x65, 0x6e, 0x18, 0x21, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x06, 0x73, 0x74, 0x72, + 0x4c, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x65, 0x78, 0x5f, 0x73, 0x6c, + 0x69, 0x63, 0x65, 0x18, 0x22, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x68, 0x65, 0x78, 0x53, 0x6c, + 0x69, 0x63, 0x65, 0x12, 0x51, 0x0a, 0x0f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x66, 0x69, 0x65, 0x6c, + 0x64, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x41, 0x75, 0x74, 0x6f, 0x46, 0x69, + 0x65, 0x6c, 0x64, 0x54, 0x65, 0x73, 0x74, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x6f, 0x46, 0x69, 0x65, + 0x6c, 0x64, 0x54, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x24, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x27, 0x0a, 0x06, 0x77, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x25, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x05, 0x77, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x78, 0x5f, 0x6c, 0x69, + 0x73, 0x74, 0x18, 0x26, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, + 0x70, 0x69, 0x2e, 0x5a, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x05, 0x78, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x2b, 0x0a, 0x08, 0x7a, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x27, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x5a, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x7a, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2b, + 0x0a, 0x08, 0x79, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x59, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x07, 0x79, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3a, 0x0a, 0x0d, 0x63, + 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x29, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x6f, + 0x69, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x0c, 0x63, 0x68, 0x6f, 0x69, 0x63, + 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x53, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, + 0x69, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, + 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x14, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, + 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x02, + 0x67, 0x31, 0x18, 0x2b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, + 0x70, 0x69, 0x2e, 0x47, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x02, 0x67, 0x31, 0x12, 0x20, + 0x0a, 0x02, 0x67, 0x32, 0x18, 0x2c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x02, 0x67, 0x32, + 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, + 0x2d, 0x20, 0x01, 0x28, 0x05, 0x48, 0x0c, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, + 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x2e, 0x20, 0x03, 0x28, 0x05, + 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x12, 0x26, 0x0a, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x0d, 0x52, 0x0b, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x11, 0x75, 0x69, 0x6e, 0x74, + 0x33, 0x32, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x30, 0x20, + 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x4c, 0x69, 0x73, 0x74, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x12, 0x26, 0x0a, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x18, 0x31, 0x20, 0x01, 0x28, 0x04, 0x48, 0x0e, 0x52, 0x0b, 0x75, 0x69, + 0x6e, 0x74, 0x36, 0x34, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x11, + 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x18, 0x32, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x4c, + 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x2d, 0x0a, 0x10, 0x61, 0x75, 0x74, 0x6f, + 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x33, 0x20, 0x01, + 0x28, 0x05, 0x48, 0x0f, 0x52, 0x0e, 0x61, 0x75, 0x74, 0x6f, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x15, 0x61, 0x75, 0x74, 0x6f, 0x5f, + 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x18, 0x34, 0x20, 0x03, 0x28, 0x05, 0x52, 0x12, 0x61, 0x75, 0x74, 0x6f, 0x49, 0x6e, 0x74, 0x33, + 0x32, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x63, 0x0a, 0x08, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x57, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, + 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, + 0x0e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x32, 0x30, 0x30, 0x10, 0x01, 0x12, + 0x0e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x34, 0x30, 0x30, 0x10, 0x02, 0x12, + 0x0e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x34, 0x30, 0x34, 0x10, 0x03, 0x12, + 0x0e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x35, 0x30, 0x30, 0x10, 0x04, 0x1a, + 0x37, 0x0a, 0x07, 0x44, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x2c, 0x0a, 0x04, 0x45, 0x6e, + 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, + 0x64, 0x10, 0x00, 0x12, 0x05, 0x0a, 0x01, 0x61, 0x10, 0x01, 0x12, 0x05, 0x0a, 0x01, 0x62, 0x10, + 0x02, 0x12, 0x05, 0x0a, 0x01, 0x63, 0x10, 0x03, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x69, 0x65, 0x65, + 0x65, 0x5f, 0x38, 0x30, 0x32, 0x5f, 0x31, 0x71, 0x62, 0x62, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x5f, 0x31, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x5f, + 0x64, 0x75, 0x70, 0x6c, 0x65, 0x78, 0x5f, 0x31, 0x30, 0x30, 0x5f, 0x6d, 0x62, 0x42, 0x0b, 0x0a, + 0x09, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x04, 0x0a, 0x02, 0x5f, 0x61, + 0x42, 0x04, 0x0a, 0x02, 0x5f, 0x62, 0x42, 0x04, 0x0a, 0x02, 0x5f, 0x63, 0x42, 0x04, 0x0a, 0x02, + 0x5f, 0x68, 0x42, 0x04, 0x0a, 0x02, 0x5f, 0x69, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x69, 0x6e, 0x74, + 0x65, 0x67, 0x65, 0x72, 0x36, 0x34, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x74, 0x72, 0x5f, 0x6c, + 0x65, 0x6e, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, + 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, + 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x42, 0x0f, 0x0a, 0x0d, + 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x42, 0x13, 0x0a, + 0x11, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x22, 0x30, 0x0a, 0x07, 0x57, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, + 0x06, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x05, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x77, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x2b, 0x0a, 0x07, 0x5a, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0x30, 0x0a, 0x07, 0x59, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x06, + 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, + 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x79, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0x49, 0x0a, 0x0e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x31, 0x49, 0x65, 0x65, + 0x65, 0x38, 0x30, 0x32, 0x78, 0x12, 0x26, 0x0a, 0x0c, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0b, 0x66, + 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, + 0x0d, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x22, 0xa8, + 0x03, 0x0a, 0x07, 0x47, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x03, 0x67, 0x5f, + 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x67, 0x41, 0x88, 0x01, 0x01, + 0x12, 0x14, 0x0a, 0x03, 0x67, 0x5f, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, + 0x02, 0x67, 0x42, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x03, 0x67, 0x5f, 0x63, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x02, 0x48, 0x02, 0x52, 0x02, 0x67, 0x43, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x06, + 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x43, + 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x03, 0x52, 0x06, 0x63, 0x68, + 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x03, 0x67, 0x5f, 0x64, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x02, 0x67, 0x44, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, + 0x03, 0x67, 0x5f, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x48, 0x05, 0x52, 0x02, 0x67, 0x45, + 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x03, 0x67, 0x5f, 0x66, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x18, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x2e, 0x47, 0x46, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x06, 0x52, 0x02, 0x67, 0x46, + 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x07, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x1a, 0x33, 0x0a, 0x06, + 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x29, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, + 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, + 0x07, 0x0a, 0x03, 0x67, 0x5f, 0x64, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x67, 0x5f, 0x65, 0x10, + 0x02, 0x1a, 0x32, 0x0a, 0x02, 0x47, 0x46, 0x22, 0x2c, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, + 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, + 0x12, 0x05, 0x0a, 0x01, 0x61, 0x10, 0x01, 0x12, 0x05, 0x0a, 0x01, 0x62, 0x10, 0x02, 0x12, 0x05, + 0x0a, 0x01, 0x63, 0x10, 0x03, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x67, 0x5f, 0x61, 0x42, 0x06, 0x0a, + 0x04, 0x5f, 0x67, 0x5f, 0x62, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x67, 0x5f, 0x63, 0x42, 0x09, 0x0a, + 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x67, 0x5f, 0x64, + 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x67, 0x5f, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x67, 0x5f, 0x66, + 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xc1, 0x01, 0x0a, 0x07, 0x45, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x03, 0x65, 0x5f, 0x61, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x02, 0x48, 0x00, 0x52, 0x02, 0x65, 0x41, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x03, 0x65, + 0x5f, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x02, 0x65, 0x42, 0x88, 0x01, + 0x01, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x6d, 0x5f, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, + 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x6d, 0x5f, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x07, + 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x65, + 0x5f, 0x61, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x65, 0x5f, 0x62, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, + 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x22, 0xc9, 0x01, + 0x0a, 0x07, 0x46, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x39, 0x0a, 0x06, 0x63, 0x68, 0x6f, + 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, + 0x61, 0x70, 0x69, 0x2e, 0x46, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x43, 0x68, 0x6f, 0x69, + 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x03, 0x66, 0x5f, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x01, 0x52, 0x02, 0x66, 0x41, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x03, 0x66, 0x5f, + 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x02, 0x52, 0x02, 0x66, 0x42, 0x88, 0x01, 0x01, + 0x1a, 0x3c, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x32, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x67, 0x5f, 0x64, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, - 0x67, 0x5f, 0x65, 0x10, 0x02, 0x1a, 0x32, 0x0a, 0x02, 0x47, 0x46, 0x22, 0x2c, 0x0a, 0x04, 0x45, + 0x64, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x66, 0x5f, 0x61, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, + 0x66, 0x5f, 0x62, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x66, 0x5f, 0x63, 0x10, 0x03, 0x42, 0x09, + 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x66, 0x5f, + 0x61, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x66, 0x5f, 0x62, 0x22, 0xca, 0x01, 0x0a, 0x07, 0x4a, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x39, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, + 0x4a, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, + 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x21, 0x0a, 0x03, 0x6a, 0x5f, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x02, 0x6a, 0x41, 0x12, 0x21, 0x0a, 0x03, 0x6a, 0x5f, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x02, 0x6a, 0x42, 0x1a, 0x33, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, + 0x22, 0x29, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, + 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x6a, 0x5f, 0x61, + 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x6a, 0x5f, 0x62, 0x10, 0x02, 0x42, 0x09, 0x0a, 0x07, 0x5f, + 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0xec, 0x01, 0x0a, 0x0c, 0x43, 0x68, 0x6f, 0x69, 0x63, + 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3e, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, + 0x69, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x43, + 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, + 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x05, 0x65, 0x5f, 0x6f, 0x62, 0x6a, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, + 0x2e, 0x45, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x04, 0x65, 0x4f, 0x62, 0x6a, 0x12, 0x25, + 0x0a, 0x05, 0x66, 0x5f, 0x6f, 0x62, 0x6a, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x04, 0x66, 0x4f, 0x62, 0x6a, 0x1a, 0x43, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, + 0x39, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, + 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x65, 0x5f, 0x6f, 0x62, + 0x6a, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x66, 0x5f, 0x6f, 0x62, 0x6a, 0x10, 0x02, 0x12, 0x0a, + 0x0a, 0x06, 0x6e, 0x6f, 0x5f, 0x6f, 0x62, 0x6a, 0x10, 0x03, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, + 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x63, 0x0a, 0x07, 0x4b, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x2b, 0x0a, 0x08, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2b, 0x0a, + 0x08, 0x66, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x07, 0x66, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0xbc, 0x02, 0x0a, 0x07, 0x4c, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x26, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x1d, + 0x0a, 0x07, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, + 0x01, 0x52, 0x07, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, + 0x05, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x48, 0x02, 0x52, 0x05, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x64, 0x6f, 0x75, 0x62, + 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x48, 0x03, 0x52, 0x06, 0x64, 0x6f, 0x75, 0x62, + 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x6d, 0x61, 0x63, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x04, 0x52, 0x03, 0x6d, 0x61, 0x63, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, + 0x69, 0x70, 0x76, 0x34, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x69, 0x70, + 0x76, 0x34, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x69, 0x70, 0x76, 0x36, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x04, 0x69, 0x70, 0x76, 0x36, 0x88, 0x01, 0x01, 0x12, 0x15, + 0x0a, 0x03, 0x68, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x03, 0x68, + 0x65, 0x78, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, + 0x65, 0x72, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x42, 0x09, 0x0a, 0x07, + 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6d, 0x61, 0x63, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x69, 0x70, 0x76, + 0x36, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x68, 0x65, 0x78, 0x22, 0xbc, 0x02, 0x0a, 0x07, 0x4d, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x26, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, + 0x07, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, + 0x52, 0x07, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x48, 0x02, 0x52, 0x05, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x64, 0x6f, 0x75, 0x62, 0x6c, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x48, 0x03, 0x52, 0x06, 0x64, 0x6f, 0x75, 0x62, 0x6c, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x6d, 0x61, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x04, 0x52, 0x03, 0x6d, 0x61, 0x63, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x69, + 0x70, 0x76, 0x34, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x69, 0x70, 0x76, + 0x34, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x69, 0x70, 0x76, 0x36, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x06, 0x52, 0x04, 0x69, 0x70, 0x76, 0x36, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, + 0x03, 0x68, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x03, 0x68, 0x65, + 0x78, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, + 0x72, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, + 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6d, 0x61, 0x63, 0x42, 0x07, + 0x0a, 0x05, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x69, 0x70, 0x76, 0x36, + 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x68, 0x65, 0x78, 0x22, 0x48, 0x0a, 0x07, 0x4d, 0x61, 0x6e, 0x64, + 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x72, + 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x88, 0x01, 0x01, 0x42, + 0x11, 0x0a, 0x0f, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x22, 0x2e, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x1e, 0x0a, 0x01, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x01, 0x67, 0x22, 0xd8, 0x01, 0x0a, 0x0e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, + 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, + 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, + 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x88, 0x01, 0x01, + 0x12, 0x17, 0x0a, 0x04, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, + 0x52, 0x04, 0x66, 0x6c, 0x6f, 0x77, 0x88, 0x01, 0x01, 0x1a, 0x35, 0x0a, 0x06, 0x43, 0x68, 0x6f, + 0x69, 0x63, 0x65, 0x22, 0x2b, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, + 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, + 0x70, 0x6f, 0x72, 0x74, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x66, 0x6c, 0x6f, 0x77, 0x10, 0x02, + 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, + 0x70, 0x6f, 0x72, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x22, 0xde, 0x01, + 0x0a, 0x07, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x39, 0x0a, 0x06, 0x63, 0x68, 0x6f, + 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, + 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x43, 0x68, 0x6f, 0x69, + 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, + 0x72, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, + 0x29, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, + 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x52, 0x05, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x1a, 0x37, 0x0a, 0x06, 0x43, 0x68, + 0x6f, 0x69, 0x63, 0x65, 0x22, 0x2d, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, + 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x09, 0x0a, + 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x77, + 0x73, 0x10, 0x02, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x8e, + 0x01, 0x0a, 0x0a, 0x50, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x17, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x74, 0x78, 0x5f, 0x66, 0x72, 0x61, + 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x08, 0x74, 0x78, 0x46, + 0x72, 0x61, 0x6d, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x72, 0x78, 0x5f, 0x66, + 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x02, 0x52, 0x08, 0x72, + 0x78, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x74, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, + 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x22, + 0x8e, 0x01, 0x0a, 0x0a, 0x46, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x17, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x74, 0x78, 0x5f, 0x66, 0x72, + 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x08, 0x74, 0x78, + 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x72, 0x78, 0x5f, + 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x02, 0x52, 0x08, + 0x72, 0x78, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x74, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, + 0x65, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, + 0x22, 0xfe, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x43, 0x68, 0x6f, + 0x69, 0x63, 0x65, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x46, 0x0a, 0x06, 0x63, 0x68, 0x6f, + 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x6f, 0x70, 0x65, 0x6e, + 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x43, 0x68, 0x6f, 0x69, + 0x63, 0x65, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, + 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x4e, 0x0a, 0x10, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, + 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6f, 0x70, + 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x43, 0x68, + 0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, + 0x52, 0x0f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x4f, 0x62, + 0x6a, 0x1a, 0x43, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x39, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x10, 0x00, 0x12, 0x05, 0x0a, 0x01, 0x61, 0x10, 0x01, 0x12, 0x05, 0x0a, 0x01, 0x62, - 0x10, 0x02, 0x12, 0x05, 0x0a, 0x01, 0x63, 0x10, 0x03, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x67, 0x5f, - 0x61, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x67, 0x5f, 0x62, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x67, 0x5f, - 0x63, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x06, 0x0a, 0x04, - 0x5f, 0x67, 0x5f, 0x64, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x67, 0x5f, 0x65, 0x42, 0x06, 0x0a, 0x04, - 0x5f, 0x67, 0x5f, 0x66, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa7, 0x01, - 0x0a, 0x07, 0x45, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x0f, 0x0a, 0x03, 0x65, 0x5f, 0x61, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x02, 0x65, 0x41, 0x12, 0x0f, 0x0a, 0x03, 0x65, 0x5f, - 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x02, 0x65, 0x42, 0x12, 0x17, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x6d, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x31, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x6d, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x32, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0b, 0x0a, - 0x09, 0x5f, 0x6d, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, - 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x22, 0xc9, 0x01, 0x0a, 0x07, 0x46, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x39, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, + 0x65, 0x64, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, + 0x69, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x6e, 0x6f, + 0x5f, 0x6f, 0x62, 0x6a, 0x10, 0x02, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, + 0x65, 0x22, 0x81, 0x02, 0x0a, 0x1a, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x43, 0x68, + 0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, + 0x12, 0x4c, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x64, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, + 0x64, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x03, 0x66, 0x5f, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x02, 0x66, - 0x41, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x03, 0x66, 0x5f, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x01, 0x48, 0x02, 0x52, 0x02, 0x66, 0x42, 0x88, 0x01, 0x01, 0x1a, 0x3c, 0x0a, 0x06, 0x43, 0x68, - 0x6f, 0x69, 0x63, 0x65, 0x22, 0x32, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, - 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x07, 0x0a, - 0x03, 0x66, 0x5f, 0x61, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x66, 0x5f, 0x62, 0x10, 0x02, 0x12, - 0x07, 0x0a, 0x03, 0x66, 0x5f, 0x63, 0x10, 0x03, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, - 0x69, 0x63, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x66, 0x5f, 0x61, 0x42, 0x06, 0x0a, 0x04, 0x5f, - 0x66, 0x5f, 0x62, 0x22, 0xe4, 0x01, 0x0a, 0x07, 0x4a, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x39, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x4a, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, - 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x03, 0x6a, 0x5f, - 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, - 0x69, 0x2e, 0x45, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x01, 0x52, 0x02, 0x6a, 0x41, 0x88, - 0x01, 0x01, 0x12, 0x26, 0x0a, 0x03, 0x6a, 0x5f, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x48, 0x02, 0x52, 0x02, 0x6a, 0x42, 0x88, 0x01, 0x01, 0x1a, 0x33, 0x0a, 0x06, 0x43, 0x68, - 0x6f, 0x69, 0x63, 0x65, 0x22, 0x29, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, - 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x07, 0x0a, - 0x03, 0x6a, 0x5f, 0x61, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x6a, 0x5f, 0x62, 0x10, 0x02, 0x42, - 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6a, - 0x5f, 0x61, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6a, 0x5f, 0x62, 0x22, 0x8a, 0x02, 0x0a, 0x0c, 0x43, - 0x68, 0x6f, 0x69, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3e, 0x0a, 0x06, 0x63, - 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x6f, 0x70, - 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, - 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x05, 0x65, - 0x5f, 0x6f, 0x62, 0x6a, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, - 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x01, 0x52, 0x04, - 0x65, 0x4f, 0x62, 0x6a, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x05, 0x66, 0x5f, 0x6f, 0x62, 0x6a, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, - 0x2e, 0x46, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x02, 0x52, 0x04, 0x66, 0x4f, 0x62, 0x6a, - 0x88, 0x01, 0x01, 0x1a, 0x43, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x39, 0x0a, - 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x10, - 0x01, 0x12, 0x09, 0x0a, 0x05, 0x66, 0x5f, 0x6f, 0x62, 0x6a, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, - 0x6e, 0x6f, 0x5f, 0x6f, 0x62, 0x6a, 0x10, 0x03, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, - 0x69, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x42, 0x08, 0x0a, - 0x06, 0x5f, 0x66, 0x5f, 0x6f, 0x62, 0x6a, 0x22, 0x87, 0x01, 0x0a, 0x07, 0x4b, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x30, 0x0a, 0x08, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, - 0x45, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, 0x65, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x08, 0x66, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, - 0x69, 0x2e, 0x46, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x01, 0x52, 0x07, 0x66, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x65, 0x5f, 0x6f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x66, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x22, 0xbc, 0x02, 0x0a, 0x07, 0x4c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x26, 0x0a, - 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x07, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, - 0x72, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x02, 0x48, 0x02, 0x52, 0x05, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, - 0x1b, 0x0a, 0x06, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x48, - 0x03, 0x52, 0x06, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, - 0x6d, 0x61, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x03, 0x6d, 0x61, 0x63, - 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x69, 0x70, 0x76, 0x34, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x05, 0x52, 0x04, 0x69, 0x70, 0x76, 0x34, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, - 0x69, 0x70, 0x76, 0x36, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x04, 0x69, 0x70, - 0x76, 0x36, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x68, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x07, 0x52, 0x03, 0x68, 0x65, 0x78, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, - 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x42, 0x0a, 0x0a, - 0x08, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x42, 0x06, - 0x0a, 0x04, 0x5f, 0x6d, 0x61, 0x63, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x42, - 0x07, 0x0a, 0x05, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x68, 0x65, 0x78, - 0x22, 0xc0, 0x01, 0x0a, 0x07, 0x4d, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x21, 0x0a, 0x0c, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, - 0x18, 0x0a, 0x07, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x07, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x12, - 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, - 0x06, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x63, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x61, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x70, 0x76, - 0x34, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x70, 0x76, 0x34, 0x12, 0x12, 0x0a, - 0x04, 0x69, 0x70, 0x76, 0x36, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x70, 0x76, - 0x36, 0x12, 0x10, 0x0a, 0x03, 0x68, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x68, 0x65, 0x78, 0x22, 0x30, 0x0a, 0x07, 0x4d, 0x61, 0x6e, 0x64, 0x61, 0x74, 0x65, 0x12, 0x25, - 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x2e, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1e, 0x0a, 0x01, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x01, 0x67, 0x22, 0xd8, 0x01, 0x0a, 0x0e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, - 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, - 0x70, 0x69, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, - 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x70, 0x6f, - 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, - 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x02, 0x52, 0x04, 0x66, 0x6c, 0x6f, 0x77, 0x88, 0x01, 0x01, 0x1a, 0x35, 0x0a, 0x06, - 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x2b, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, + 0x41, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x04, 0x6c, 0x65, 0x61, 0x66, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x71, + 0x75, 0x69, 0x72, 0x65, 0x64, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, + 0x6d, 0x65, 0x4c, 0x65, 0x61, 0x66, 0x52, 0x04, 0x6c, 0x65, 0x61, 0x66, 0x1a, 0x34, 0x0a, 0x06, + 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x2a, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, - 0x08, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x66, 0x6c, 0x6f, - 0x77, 0x10, 0x02, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x07, - 0x0a, 0x05, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x66, 0x6c, 0x6f, 0x77, - 0x22, 0xde, 0x01, 0x0a, 0x07, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x39, 0x0a, 0x06, - 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6f, - 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x43, - 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, - 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, - 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x05, 0x70, 0x6f, 0x72, - 0x74, 0x73, 0x12, 0x29, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x13, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x6c, 0x6f, 0x77, - 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x05, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x1a, 0x37, 0x0a, - 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x2d, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, - 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, - 0x12, 0x09, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x66, - 0x6c, 0x6f, 0x77, 0x73, 0x10, 0x02, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, - 0x65, 0x22, 0x5a, 0x0a, 0x0a, 0x50, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x74, 0x78, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, - 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x01, 0x52, 0x08, 0x72, 0x78, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x5a, 0x0a, - 0x0a, 0x46, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x1b, 0x0a, 0x09, 0x74, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x01, 0x52, 0x08, 0x74, 0x78, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, - 0x72, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, - 0x08, 0x72, 0x78, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x88, 0x02, 0x0a, 0x14, 0x52, 0x65, - 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x50, 0x61, 0x72, 0x65, - 0x6e, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x71, - 0x75, 0x69, 0x72, 0x65, 0x64, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x50, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x06, 0x63, - 0x68, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x53, 0x0a, 0x10, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, - 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, - 0x65, 0x64, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, - 0x69, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, - 0x69, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x88, 0x01, 0x01, 0x1a, 0x43, 0x0a, 0x06, 0x43, 0x68, - 0x6f, 0x69, 0x63, 0x65, 0x22, 0x39, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, - 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x14, 0x0a, - 0x10, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x62, - 0x6a, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x6e, 0x6f, 0x5f, 0x6f, 0x62, 0x6a, 0x10, 0x02, 0x42, - 0x13, 0x0a, 0x11, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, - 0x5f, 0x6f, 0x62, 0x6a, 0x22, 0xff, 0x01, 0x0a, 0x1a, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x64, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, - 0x61, 0x74, 0x65, 0x12, 0x47, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, - 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x65, - 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, - 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x03, - 0x66, 0x5f, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x66, 0x41, 0x88, - 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x04, 0x6c, 0x65, 0x61, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x64, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, - 0x4c, 0x65, 0x61, 0x66, 0x48, 0x01, 0x52, 0x04, 0x6c, 0x65, 0x61, 0x66, 0x88, 0x01, 0x01, 0x1a, - 0x34, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x2a, 0x0a, 0x04, 0x45, 0x6e, 0x75, - 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x66, 0x5f, 0x61, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x6c, - 0x65, 0x61, 0x66, 0x10, 0x02, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x66, 0x5f, 0x61, 0x42, 0x07, 0x0a, - 0x05, 0x5f, 0x6c, 0x65, 0x61, 0x66, 0x22, 0x3d, 0x0a, 0x19, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, - 0x65, 0x64, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x4c, - 0x65, 0x61, 0x66, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x79, 0x0a, 0x08, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4f, 0x6e, - 0x65, 0x12, 0x2b, 0x0a, 0x05, 0x6c, 0x31, 0x5f, 0x70, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x11, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x65, 0x76, 0x65, 0x6c, - 0x54, 0x77, 0x6f, 0x48, 0x00, 0x52, 0x04, 0x6c, 0x31, 0x50, 0x31, 0x88, 0x01, 0x01, 0x12, 0x2c, - 0x0a, 0x05, 0x6c, 0x31, 0x5f, 0x70, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, - 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x46, 0x6f, 0x75, - 0x72, 0x48, 0x01, 0x52, 0x04, 0x6c, 0x31, 0x50, 0x32, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, - 0x5f, 0x6c, 0x31, 0x5f, 0x70, 0x31, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x31, 0x5f, 0x70, 0x32, - 0x22, 0x43, 0x0a, 0x08, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x54, 0x77, 0x6f, 0x12, 0x2d, 0x0a, 0x05, - 0x6c, 0x32, 0x5f, 0x70, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6f, 0x70, - 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x54, 0x68, 0x72, 0x65, 0x65, - 0x48, 0x00, 0x52, 0x04, 0x6c, 0x32, 0x50, 0x31, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, - 0x6c, 0x32, 0x5f, 0x70, 0x31, 0x22, 0x30, 0x0a, 0x0a, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x54, 0x68, - 0x72, 0x65, 0x65, 0x12, 0x18, 0x0a, 0x05, 0x6c, 0x33, 0x5f, 0x70, 0x31, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6c, 0x33, 0x50, 0x31, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, - 0x06, 0x5f, 0x6c, 0x33, 0x5f, 0x70, 0x31, 0x22, 0x42, 0x0a, 0x09, 0x4c, 0x65, 0x76, 0x65, 0x6c, - 0x46, 0x6f, 0x75, 0x72, 0x12, 0x2b, 0x0a, 0x05, 0x6c, 0x34, 0x5f, 0x70, 0x31, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x65, - 0x76, 0x65, 0x6c, 0x4f, 0x6e, 0x65, 0x48, 0x00, 0x52, 0x04, 0x6c, 0x34, 0x50, 0x31, 0x88, 0x01, - 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x34, 0x5f, 0x70, 0x31, 0x22, 0x50, 0x0a, 0x0b, 0x49, - 0x70, 0x76, 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x38, 0x0a, 0x04, 0x69, 0x70, - 0x76, 0x34, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, - 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x34, 0x50, 0x61, - 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x34, 0x48, 0x00, 0x52, 0x04, 0x69, 0x70, 0x76, - 0x34, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x22, 0x50, 0x0a, - 0x0b, 0x49, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x38, 0x0a, 0x04, - 0x69, 0x70, 0x76, 0x36, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x70, 0x65, - 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, - 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, 0x48, 0x00, 0x52, 0x04, 0x69, - 0x70, 0x76, 0x36, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x22, - 0x4a, 0x0a, 0x0a, 0x4d, 0x61, 0x63, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x34, 0x0a, - 0x03, 0x6d, 0x61, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x70, 0x65, - 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x50, - 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x48, 0x00, 0x52, 0x03, 0x6d, 0x61, 0x63, - 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6d, 0x61, 0x63, 0x22, 0x62, 0x0a, 0x0e, 0x49, - 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x44, 0x0a, - 0x07, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, - 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, - 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, - 0x74, 0x65, 0x67, 0x65, 0x72, 0x48, 0x00, 0x52, 0x07, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, - 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x22, - 0x68, 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x50, 0x61, 0x74, 0x74, 0x65, - 0x72, 0x6e, 0x12, 0x48, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, - 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x50, 0x61, - 0x74, 0x74, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x48, 0x00, 0x52, - 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, - 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22, 0x42, 0x0a, 0x15, 0x43, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, - 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x48, 0x0a, - 0x10, 0x41, 0x70, 0x69, 0x54, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x42, 0x6f, 0x64, - 0x79, 0x12, 0x24, 0x0a, 0x0b, 0x73, 0x6f, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x6f, 0x6d, 0x65, 0x53, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x6f, 0x6d, 0x65, - 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0xc4, 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x41, 0x62, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1c, 0x0a, 0x07, 0x73, 0x6f, - 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x73, - 0x6f, 0x6d, 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x73, 0x6f, 0x6d, 0x65, - 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, - 0x0a, 0x73, 0x6f, 0x6d, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x1c, - 0x0a, 0x07, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x02, 0x52, 0x06, 0x70, 0x61, 0x74, 0x68, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, - 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, - 0x06, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x32, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, - 0x6f, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x6f, 0x6d, 0x65, 0x5f, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, - 0x69, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x32, 0x22, 0x43, - 0x0a, 0x12, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x62, 0x63, 0x49, 0x74, 0x65, 0x6d, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x62, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, - 0x65, 0x6d, 0x73, 0x22, 0x8e, 0x03, 0x0a, 0x21, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x50, - 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x53, 0x0a, 0x06, 0x63, 0x68, 0x6f, - 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x6f, 0x70, 0x65, 0x6e, - 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, - 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x43, 0x68, 0x65, - 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, - 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x5c, - 0x0a, 0x09, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x39, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, - 0x65, 0x72, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x2e, 0x47, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x01, 0x52, 0x09, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x06, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x88, 0x01, 0x01, 0x1a, 0x3c, 0x0a, 0x06, 0x43, 0x68, 0x6f, - 0x69, 0x63, 0x65, 0x22, 0x32, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, - 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x63, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x10, 0x02, 0x1a, 0x37, 0x0a, 0x09, 0x47, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x64, 0x22, 0x2a, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, - 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x08, 0x0a, - 0x04, 0x67, 0x6f, 0x6f, 0x64, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x62, 0x61, 0x64, 0x10, 0x02, - 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x22, 0x95, 0x01, 0x0a, 0x27, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, - 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x41, 0x75, 0x74, 0x6f, - 0x46, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x12, 0x19, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, - 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x73, - 0x74, 0x65, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x04, 0x73, 0x74, 0x65, - 0x70, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, - 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x73, 0x74, - 0x65, 0x70, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x88, 0x04, 0x0a, - 0x20, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x41, 0x75, 0x74, 0x6f, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x65, 0x73, - 0x74, 0x12, 0x52, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x35, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, - 0x65, 0x72, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x41, - 0x75, 0x74, 0x6f, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x68, 0x6f, - 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, - 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, - 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x61, 0x75, 0x74, 0x6f, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x04, 0x61, 0x75, 0x74, 0x6f, 0x88, 0x01, - 0x01, 0x12, 0x53, 0x0a, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, + 0x07, 0x0a, 0x03, 0x66, 0x5f, 0x61, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x6c, 0x65, 0x61, 0x66, + 0x10, 0x02, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x06, 0x0a, + 0x04, 0x5f, 0x66, 0x5f, 0x61, 0x22, 0x3d, 0x0a, 0x19, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, + 0x64, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x4c, 0x65, + 0x61, 0x66, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x5b, 0x0a, 0x08, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4f, 0x6e, 0x65, + 0x12, 0x26, 0x0a, 0x05, 0x6c, 0x31, 0x5f, 0x70, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x11, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x54, + 0x77, 0x6f, 0x52, 0x04, 0x6c, 0x31, 0x50, 0x31, 0x12, 0x27, 0x0a, 0x05, 0x6c, 0x31, 0x5f, 0x70, + 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, + 0x69, 0x2e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x46, 0x6f, 0x75, 0x72, 0x52, 0x04, 0x6c, 0x31, 0x50, + 0x32, 0x22, 0x34, 0x0a, 0x08, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x54, 0x77, 0x6f, 0x12, 0x28, 0x0a, + 0x05, 0x6c, 0x32, 0x5f, 0x70, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x54, 0x68, 0x72, 0x65, + 0x65, 0x52, 0x04, 0x6c, 0x32, 0x50, 0x31, 0x22, 0x30, 0x0a, 0x0a, 0x4c, 0x65, 0x76, 0x65, 0x6c, + 0x54, 0x68, 0x72, 0x65, 0x65, 0x12, 0x18, 0x0a, 0x05, 0x6c, 0x33, 0x5f, 0x70, 0x31, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6c, 0x33, 0x50, 0x31, 0x88, 0x01, 0x01, 0x42, + 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x33, 0x5f, 0x70, 0x31, 0x22, 0x33, 0x0a, 0x09, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x46, 0x6f, 0x75, 0x72, 0x12, 0x26, 0x0a, 0x05, 0x6c, 0x34, 0x5f, 0x70, 0x31, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4f, 0x6e, 0x65, 0x52, 0x04, 0x6c, 0x34, 0x50, 0x31, 0x22, 0x42, + 0x0a, 0x0b, 0x49, 0x70, 0x76, 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x33, 0x0a, + 0x04, 0x69, 0x70, 0x76, 0x34, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x70, + 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, + 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x34, 0x52, 0x04, 0x69, 0x70, + 0x76, 0x34, 0x22, 0x42, 0x0a, 0x0b, 0x49, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, + 0x6e, 0x12, 0x33, 0x0a, 0x04, 0x69, 0x70, 0x76, 0x36, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, + 0x6e, 0x49, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, + 0x52, 0x04, 0x69, 0x70, 0x76, 0x36, 0x22, 0x3d, 0x0a, 0x0a, 0x4d, 0x61, 0x63, 0x50, 0x61, 0x74, + 0x74, 0x65, 0x72, 0x6e, 0x12, 0x2f, 0x0a, 0x03, 0x6d, 0x61, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, + 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, + 0x52, 0x03, 0x6d, 0x61, 0x63, 0x22, 0x51, 0x0a, 0x0e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, + 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x3f, 0x0a, 0x07, 0x69, 0x6e, 0x74, 0x65, 0x67, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, + 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, + 0x72, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x52, + 0x07, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x22, 0x56, 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x73, 0x75, 0x6d, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x43, 0x0a, 0x08, 0x63, + 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, + 0x22, 0x42, 0x0a, 0x15, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x22, 0x48, 0x0a, 0x10, 0x41, 0x70, 0x69, 0x54, 0x65, 0x73, 0x74, 0x49, + 0x6e, 0x70, 0x75, 0x74, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x24, 0x0a, 0x0b, 0x73, 0x6f, 0x6d, 0x65, + 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x0a, 0x73, 0x6f, 0x6d, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0e, + 0x0a, 0x0c, 0x5f, 0x73, 0x6f, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0xc4, + 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x62, 0x63, 0x49, 0x74, 0x65, + 0x6d, 0x12, 0x1c, 0x0a, 0x07, 0x73, 0x6f, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x73, 0x6f, 0x6d, 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x24, 0x0a, 0x0b, 0x73, 0x6f, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0a, 0x73, 0x6f, 0x6d, 0x65, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x06, 0x70, 0x61, 0x74, 0x68, 0x49, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x32, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x06, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x32, 0x88, 0x01, + 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x6f, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x42, 0x0e, 0x0a, + 0x0c, 0x5f, 0x73, 0x6f, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x0a, 0x0a, + 0x08, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6c, 0x65, + 0x76, 0x65, 0x6c, 0x5f, 0x32, 0x22, 0x43, 0x0a, 0x12, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x41, 0x62, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x05, 0x69, + 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x62, 0x63, 0x49, + 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x8e, 0x03, 0x0a, 0x21, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x41, 0x75, 0x74, 0x6f, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x65, 0x73, 0x74, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x03, 0x52, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x53, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6f, 0x70, 0x65, 0x6e, - 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, - 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x41, 0x75, 0x74, 0x6f, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x54, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x04, 0x52, 0x09, 0x64, - 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x1a, 0x60, 0x0a, 0x06, 0x43, - 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x56, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, - 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x09, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x61, 0x75, 0x74, 0x6f, 0x10, 0x01, 0x12, - 0x0d, 0x0a, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x04, 0x12, 0x0d, - 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x05, 0x42, 0x09, 0x0a, - 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, - 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x64, 0x65, - 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x8b, 0x01, 0x0a, 0x1d, 0x50, 0x61, 0x74, 0x74, + 0x69, 0x67, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, + 0x12, 0x53, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x36, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, + 0x72, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x2e, 0x43, 0x68, 0x6f, + 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, + 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x5c, 0x0a, 0x09, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, + 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x73, 0x75, 0x6d, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x45, + 0x6e, 0x75, 0x6d, 0x48, 0x01, 0x52, 0x09, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x88, 0x01, 0x01, + 0x1a, 0x3c, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x32, 0x0a, 0x04, 0x45, 0x6e, + 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, + 0x64, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, + 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x10, 0x02, 0x1a, 0x37, + 0x0a, 0x09, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2a, 0x0a, 0x04, 0x45, + 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, + 0x65, 0x64, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x67, 0x6f, 0x6f, 0x64, 0x10, 0x01, 0x12, 0x07, + 0x0a, 0x03, 0x62, 0x61, 0x64, 0x10, 0x02, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, + 0x63, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, + 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x22, 0x95, 0x01, 0x0a, 0x27, + 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x41, 0x75, 0x74, 0x6f, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x65, 0x73, 0x74, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x88, + 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x48, 0x01, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x22, 0xe2, 0x03, 0x0a, 0x20, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x50, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x41, 0x75, 0x74, 0x6f, 0x46, + 0x69, 0x65, 0x6c, 0x64, 0x54, 0x65, 0x73, 0x74, 0x12, 0x52, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, + 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, + 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x41, 0x75, 0x74, 0x6f, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x54, + 0x65, 0x73, 0x74, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, + 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, + 0x17, 0x0a, 0x04, 0x61, 0x75, 0x74, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, + 0x04, 0x61, 0x75, 0x74, 0x6f, 0x88, 0x01, 0x01, 0x12, 0x4e, 0x0a, 0x09, 0x69, 0x6e, 0x63, 0x72, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6f, 0x70, + 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x41, 0x75, 0x74, 0x6f, 0x46, 0x69, 0x65, + 0x6c, 0x64, 0x54, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x09, 0x69, + 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x4e, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6f, 0x70, + 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x41, 0x75, 0x74, 0x6f, 0x46, 0x69, 0x65, + 0x6c, 0x64, 0x54, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x09, 0x64, + 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x60, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, + 0x63, 0x65, 0x22, 0x56, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, + 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x61, 0x75, 0x74, 0x6f, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, + 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x64, + 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x05, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, + 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x22, 0x8b, 0x01, 0x0a, 0x1d, 0x50, 0x61, 0x74, + 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, + 0x70, 0x76, 0x34, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x05, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x88, 0x01, 0x01, 0x12, 0x19, + 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, + 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x42, 0x08, 0x0a, 0x06, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x8e, 0x03, 0x0a, 0x16, 0x50, 0x61, 0x74, 0x74, 0x65, + 0x72, 0x6e, 0x49, 0x70, 0x76, 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, + 0x34, 0x12, 0x48, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x2b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, - 0x76, 0x34, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x05, 0x73, 0x74, 0x61, + 0x76, 0x34, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, + 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x44, + 0x0a, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, + 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, + 0x76, 0x34, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x44, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, + 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x34, 0x50, 0x61, 0x74, + 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x34, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, + 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x56, 0x0a, 0x06, 0x43, 0x68, + 0x6f, 0x69, 0x63, 0x65, 0x22, 0x4c, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, + 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x09, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x10, 0x05, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x08, 0x0a, + 0x06, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x8b, 0x01, 0x0a, 0x1d, 0x50, 0x61, 0x74, 0x74, + 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, + 0x76, 0x36, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x42, 0x08, 0x0a, 0x06, 0x5f, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xb4, 0x03, 0x0a, 0x16, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, - 0x6e, 0x49, 0x70, 0x76, 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x34, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x8e, 0x03, 0x0a, 0x16, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, + 0x6e, 0x49, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, 0x12, 0x48, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, - 0x72, 0x6e, 0x49, 0x70, 0x76, 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, - 0x34, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, + 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, + 0x36, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x49, 0x0a, + 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, - 0x72, 0x6e, 0x49, 0x70, 0x76, 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, - 0x34, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x02, 0x52, 0x09, 0x69, 0x6e, 0x63, 0x72, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x49, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x70, - 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, - 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x34, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x48, 0x03, 0x52, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x88, 0x01, 0x01, 0x1a, 0x56, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x4c, 0x0a, - 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x10, - 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x10, 0x03, 0x12, 0x0d, 0x0a, - 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, - 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x05, 0x42, 0x09, 0x0a, 0x07, 0x5f, - 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x0c, - 0x0a, 0x0a, 0x5f, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x8b, 0x01, 0x0a, - 0x1d, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, - 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x19, - 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x73, 0x74, 0x65, - 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x88, - 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0d, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, - 0x06, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x73, 0x74, 0x65, 0x70, - 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xb4, 0x03, 0x0a, 0x16, 0x50, - 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, - 0x6e, 0x49, 0x70, 0x76, 0x36, 0x12, 0x48, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, - 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, 0x65, - 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, - 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x12, 0x49, 0x0a, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, - 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, 0x65, - 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x02, 0x52, - 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x49, 0x0a, - 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x26, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, - 0x36, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x03, 0x52, 0x09, 0x64, 0x65, 0x63, 0x72, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x1a, 0x56, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, - 0x63, 0x65, 0x22, 0x4c, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, - 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x05, - 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x22, 0x89, 0x01, 0x0a, 0x1b, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, - 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, - 0x72, 0x12, 0x19, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, - 0x73, 0x74, 0x65, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x73, 0x74, - 0x65, 0x70, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, - 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x73, - 0x74, 0x65, 0x70, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xd8, 0x03, - 0x0a, 0x14, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x50, 0x61, 0x74, 0x74, - 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x12, 0x46, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, - 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x50, 0x61, 0x74, 0x74, 0x65, - 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, - 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x12, 0x17, 0x0a, 0x04, 0x61, 0x75, 0x74, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x02, 0x52, 0x04, 0x61, 0x75, 0x74, 0x6f, 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, 0x09, 0x69, 0x6e, - 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, - 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, - 0x61, 0x63, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x48, 0x03, 0x52, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x36, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x12, 0x44, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, + 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, + 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x09, + 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x56, 0x0a, 0x06, 0x43, 0x68, 0x6f, + 0x69, 0x63, 0x65, 0x22, 0x4c, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, + 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, + 0x05, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x89, 0x01, 0x0a, 0x1b, 0x50, 0x61, 0x74, 0x74, 0x65, + 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x88, 0x01, + 0x01, 0x12, 0x17, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x01, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x22, 0xb2, 0x03, 0x0a, 0x14, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, + 0x63, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x12, 0x46, 0x0a, 0x06, 0x63, + 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x6f, 0x70, + 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, + 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, + 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, 0x16, + 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x61, 0x75, 0x74, 0x6f, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x04, 0x61, 0x75, 0x74, 0x6f, 0x88, 0x01, 0x01, 0x12, + 0x42, 0x0a, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, + 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, + 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x50, 0x61, 0x74, 0x74, 0x65, - 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x04, 0x52, 0x09, - 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x1a, 0x60, 0x0a, 0x06, - 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x56, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, - 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, - 0x09, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x61, 0x75, 0x74, 0x6f, 0x10, 0x01, - 0x12, 0x0d, 0x0a, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x04, 0x12, - 0x0d, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x05, 0x42, 0x09, - 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x42, 0x0c, 0x0a, 0x0a, - 0x5f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x64, - 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x91, 0x01, 0x0a, 0x23, 0x50, 0x61, 0x74, + 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x09, 0x64, 0x65, + 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x60, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, + 0x65, 0x22, 0x56, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, + 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x10, + 0x03, 0x12, 0x08, 0x0a, 0x04, 0x61, 0x75, 0x74, 0x6f, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x69, + 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x64, 0x65, + 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x05, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, + 0x6f, 0x69, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, + 0x0a, 0x05, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x22, 0x91, 0x01, 0x0a, 0x23, 0x50, 0x61, 0x74, 0x74, + 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, + 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, + 0x19, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, + 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x73, 0x74, + 0x65, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, + 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x08, + 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x73, 0x74, 0x65, + 0x70, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xa6, 0x03, 0x0a, 0x1c, + 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x50, 0x61, + 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x06, + 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, + 0x74, 0x65, 0x67, 0x65, 0x72, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, + 0x67, 0x65, 0x72, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, + 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, + 0x4a, 0x0a, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x12, 0x19, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, - 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x73, - 0x74, 0x65, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x04, 0x73, 0x74, 0x65, - 0x70, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, - 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x73, 0x74, - 0x65, 0x70, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xcc, 0x03, 0x0a, - 0x1c, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x50, - 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x12, 0x4e, 0x0a, - 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, - 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, - 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, - 0x65, 0x67, 0x65, 0x72, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, - 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x12, 0x4f, 0x0a, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, - 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x50, 0x61, 0x74, 0x74, - 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, - 0x72, 0x48, 0x02, 0x52, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x88, 0x01, - 0x01, 0x12, 0x4f, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, - 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x50, 0x61, 0x74, - 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x65, 0x72, 0x48, 0x03, 0x52, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x88, - 0x01, 0x01, 0x1a, 0x56, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x4c, 0x0a, 0x04, - 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x10, 0x02, - 0x12, 0x0a, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, - 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x64, - 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x05, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, - 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, - 0x0c, 0x0a, 0x0a, 0x5f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x0c, 0x0a, - 0x0a, 0x5f, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x85, 0x03, 0x0a, 0x1e, - 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x50, - 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x50, - 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, + 0x52, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x4a, 0x0a, 0x09, 0x64, + 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, + 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, + 0x74, 0x65, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x09, 0x64, 0x65, + 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x56, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, + 0x65, 0x22, 0x4c, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, + 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x10, + 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x04, + 0x12, 0x0d, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x05, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x22, 0x85, 0x03, 0x0a, 0x1e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, - 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x59, 0x0a, 0x09, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, - 0x74, 0x74, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x50, 0x61, 0x74, - 0x74, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x2e, 0x47, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x01, 0x52, 0x09, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x63, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x06, 0x63, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x88, 0x01, 0x01, 0x1a, 0x3c, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, - 0x63, 0x65, 0x22, 0x32, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x63, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x10, 0x02, 0x1a, 0x37, 0x0a, 0x09, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x64, 0x22, 0x2a, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, - 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, - 0x67, 0x6f, 0x6f, 0x64, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x62, 0x61, 0x64, 0x10, 0x02, 0x42, - 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x22, 0xb9, 0x01, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x2d, 0x0a, 0x10, 0x61, 0x70, 0x69, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x61, 0x70, 0x69, - 0x53, 0x70, 0x65, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, - 0x0a, 0x0b, 0x73, 0x64, 0x6b, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0a, 0x73, 0x64, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0a, 0x61, 0x70, 0x70, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x61, - 0x70, 0x69, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, - 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x64, 0x6b, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, - 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, - 0x4c, 0x0a, 0x08, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x40, 0x0a, 0x0f, 0x77, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x57, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0e, 0x77, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x4e, 0x0a, - 0x10, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x3a, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, - 0x70, 0x69, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, - 0x0c, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x58, 0x0a, - 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x0d, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x3a, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x79, - 0x74, 0x65, 0x73, 0x22, 0x59, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6f, 0x70, 0x65, 0x6e, - 0x61, 0x70, 0x69, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x52, 0x0c, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x4f, - 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6f, 0x70, 0x65, - 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, - 0x55, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, - 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x40, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x07, - 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, - 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, - 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0x57, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x57, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x40, 0x0a, 0x0f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, - 0x70, 0x69, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x52, 0x0e, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x22, 0x2f, 0x0a, 0x15, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x22, 0x63, 0x0a, 0x17, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, - 0x13, 0x61, 0x70, 0x69, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, - 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6f, 0x70, 0x65, - 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x70, 0x69, 0x54, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x70, 0x75, - 0x74, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x10, 0x61, 0x70, 0x69, 0x54, 0x65, 0x73, 0x74, 0x49, 0x6e, - 0x70, 0x75, 0x74, 0x42, 0x6f, 0x64, 0x79, 0x22, 0x71, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x52, 0x6f, - 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x56, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x33, 0x0a, 0x19, 0x44, 0x75, - 0x6d, 0x6d, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x65, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, - 0x72, 0x0a, 0x18, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x50, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, + 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, + 0x6d, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, + 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, + 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x59, 0x0a, 0x09, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x65, + 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, + 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x01, 0x52, 0x09, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x88, 0x01, + 0x01, 0x1a, 0x3c, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x32, 0x0a, 0x04, 0x45, + 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, + 0x65, 0x64, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x64, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x10, 0x02, 0x1a, + 0x37, 0x0a, 0x09, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2a, 0x0a, 0x04, + 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, + 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x67, 0x6f, 0x6f, 0x64, 0x10, 0x01, 0x12, + 0x07, 0x0a, 0x03, 0x62, 0x61, 0x64, 0x10, 0x02, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, + 0x69, 0x63, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x22, 0xb9, 0x01, 0x0a, + 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x10, 0x61, 0x70, 0x69, 0x5f, + 0x73, 0x70, 0x65, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x61, 0x70, 0x69, 0x53, 0x70, 0x65, 0x63, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x73, 0x64, 0x6b, 0x5f, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0a, + 0x73, 0x64, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, + 0x0b, 0x61, 0x70, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x02, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x88, 0x01, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x73, 0x70, 0x65, 0x63, + 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x64, 0x6b, + 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x70, 0x70, + 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x4c, 0x0a, 0x08, 0x57, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x73, 0x12, 0x40, 0x0a, 0x0f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, + 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0e, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x4e, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x0d, 0x70, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x15, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x72, 0x65, 0x66, + 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x58, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6f, 0x70, + 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x22, 0x3a, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x59, 0x0a, 0x1b, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0d, 0x70, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x4f, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0d, + 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x66, + 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x55, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, + 0x0f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, + 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, + 0x0e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, + 0x40, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, + 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x73, 0x22, 0x57, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x0f, 0x77, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0e, 0x77, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x2f, 0x0a, 0x15, 0x43, 0x6c, + 0x65, 0x61, 0x72, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x63, 0x0a, 0x17, 0x50, + 0x6f, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x13, 0x61, 0x70, 0x69, 0x5f, 0x74, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x70, + 0x69, 0x54, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x10, + 0x61, 0x70, 0x69, 0x54, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x42, 0x6f, 0x64, 0x79, + 0x22, 0x71, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x22, 0x65, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x49, 0x74, 0x65, - 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x15, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x62, 0x63, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, - 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, - 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x62, 0x63, 0x49, 0x74, - 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, - 0x62, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x5a, 0x0a, 0x15, 0x47, 0x65, - 0x74, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x10, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, - 0x62, 0x63, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, - 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, - 0x62, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, - 0x62, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x60, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x53, 0x69, 0x6e, - 0x67, 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x32, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x10, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x61, 0x62, 0x63, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x41, 0x62, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x41, 0x62, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x40, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, - 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0xe2, 0x07, 0x0a, 0x07, 0x4f, - 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x12, 0x42, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x19, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, - 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, - 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x13, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x23, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x09, - 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x1a, 0x1a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, - 0x0a, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x1a, 0x2e, 0x6f, 0x70, - 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, - 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x57, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1c, 0x2e, 0x6f, 0x70, - 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0d, 0x43, 0x6c, 0x65, - 0x61, 0x72, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x1a, 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x6c, 0x65, - 0x61, 0x72, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x20, 0x2e, - 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x4f, 0x0a, 0x11, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x54, 0x65, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x22, 0x2e, 0x6f, - 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x65, 0x73, 0x73, 0x22, 0x33, 0x0a, 0x19, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x57, 0x0a, 0x10, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, - 0x6f, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, - 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0b, 0x47, 0x65, 0x74, - 0x41, 0x6c, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x1a, 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, - 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, - 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x12, - 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, - 0x69, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x53, 0x69, - 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x32, 0x12, 0x16, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x72, 0x0a, 0x18, 0x50, 0x6f, 0x73, 0x74, + 0x52, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, + 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x65, 0x0a, 0x13, + 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, + 0x62, 0x63, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x41, 0x62, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x62, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x4c, + 0x69, 0x73, 0x74, 0x22, 0x5a, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, + 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x10, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x62, 0x63, 0x5f, 0x69, 0x74, 0x65, 0x6d, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, + 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x62, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, + 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x62, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x22, + 0x60, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, + 0x0a, 0x10, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x62, 0x63, 0x5f, 0x69, 0x74, + 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, + 0x70, 0x69, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x62, 0x63, 0x49, 0x74, 0x65, + 0x6d, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x62, 0x63, 0x49, 0x74, 0x65, + 0x6d, 0x22, 0x40, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, + 0x70, 0x69, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x32, 0xe2, 0x07, 0x0a, 0x07, 0x4f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x12, + 0x42, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x19, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, + 0x69, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1a, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x73, 0x12, 0x1a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x47, + 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, + 0x0b, 0x47, 0x65, 0x74, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x47, + 0x65, 0x74, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0d, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x57, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1e, 0x2e, 0x6f, 0x70, + 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x57, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0f, 0x47, + 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, - 0x2e, 0x47, 0x65, 0x74, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x65, - 0x76, 0x65, 0x6c, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0a, - 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x1a, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, - 0x13, 0x5a, 0x11, 0x2e, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x3b, 0x6f, 0x70, 0x65, - 0x6e, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x20, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, + 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x11, 0x44, 0x75, 0x6d, 0x6d, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x65, 0x73, 0x74, 0x12, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, + 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x65, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x10, 0x50, 0x6f, 0x73, + 0x74, 0x52, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x6f, + 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x49, 0x74, 0x65, 0x6d, + 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, + 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x53, 0x69, + 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x1a, 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x69, + 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x53, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x74, 0x65, + 0x6d, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x32, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, + 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x69, 0x6e, + 0x67, 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x32, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1b, 0x2e, 0x6f, 0x70, + 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x13, 0x5a, 0x11, 0x2e, 0x2f, 0x6f, 0x70, + 0x65, 0x6e, 0x61, 0x70, 0x69, 0x3b, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -8871,6 +8844,8 @@ func file_openapi_proto_init() { } file_openapi_proto_msgTypes[2].OneofWrappers = []interface{}{} file_openapi_proto_msgTypes[3].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[4].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[5].OneofWrappers = []interface{}{} file_openapi_proto_msgTypes[6].OneofWrappers = []interface{}{} file_openapi_proto_msgTypes[7].OneofWrappers = []interface{}{} file_openapi_proto_msgTypes[8].OneofWrappers = []interface{}{} @@ -8878,22 +8853,17 @@ func file_openapi_proto_init() { file_openapi_proto_msgTypes[10].OneofWrappers = []interface{}{} file_openapi_proto_msgTypes[11].OneofWrappers = []interface{}{} file_openapi_proto_msgTypes[12].OneofWrappers = []interface{}{} - file_openapi_proto_msgTypes[13].OneofWrappers = []interface{}{} file_openapi_proto_msgTypes[14].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[15].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[16].OneofWrappers = []interface{}{} file_openapi_proto_msgTypes[18].OneofWrappers = []interface{}{} file_openapi_proto_msgTypes[19].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[20].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[21].OneofWrappers = []interface{}{} file_openapi_proto_msgTypes[22].OneofWrappers = []interface{}{} file_openapi_proto_msgTypes[23].OneofWrappers = []interface{}{} file_openapi_proto_msgTypes[24].OneofWrappers = []interface{}{} - file_openapi_proto_msgTypes[25].OneofWrappers = []interface{}{} - file_openapi_proto_msgTypes[26].OneofWrappers = []interface{}{} file_openapi_proto_msgTypes[27].OneofWrappers = []interface{}{} - file_openapi_proto_msgTypes[28].OneofWrappers = []interface{}{} - file_openapi_proto_msgTypes[29].OneofWrappers = []interface{}{} - file_openapi_proto_msgTypes[30].OneofWrappers = []interface{}{} - file_openapi_proto_msgTypes[31].OneofWrappers = []interface{}{} - file_openapi_proto_msgTypes[32].OneofWrappers = []interface{}{} - file_openapi_proto_msgTypes[33].OneofWrappers = []interface{}{} file_openapi_proto_msgTypes[34].OneofWrappers = []interface{}{} file_openapi_proto_msgTypes[35].OneofWrappers = []interface{}{} file_openapi_proto_msgTypes[36].OneofWrappers = []interface{}{} diff --git a/artifacts/openapi.proto b/artifacts/openapi.proto index 95504015..67b03853 100644 --- a/artifacts/openapi.proto +++ b/artifacts/openapi.proto @@ -30,7 +30,7 @@ message Error { // Numeric status code based on underlying transport being used. // required = true - int32 code = 1; + optional int32 code = 1; message Kind { enum Enum { @@ -55,7 +55,7 @@ message PrefixConfig { EObject required_object = 1; // An optional object that MUST be generated as such. - optional EObject optional_object = 2; + EObject optional_object = 2; // Description missing in models optional bool ieee_802_1qbb = 3; @@ -85,17 +85,17 @@ message PrefixConfig { // // Small single line description // required = true - string a = 7; + optional string a = 7; // Longer multi-line description // Second line is here // Third line // required = true - float b = 8; + optional float b = 8; // Description missing in models // required = true - int32 c = 9; + optional int32 c = 9; message DValues { enum Enum { @@ -113,10 +113,10 @@ message PrefixConfig { // Deprecated: Information TBD // // A child object - optional EObject e = 11; + EObject e = 11; // An object with only choice(s) - optional FObject f = 12; + FObject f = 12; // A list of objects with choice and properties repeated GObject g = 13; @@ -132,10 +132,10 @@ message PrefixConfig { repeated JObject j = 16; // A nested object with only one property which is a choice object - optional KObject k = 17; + KObject k = 17; // Description missing in models - optional LObject l = 18; + LObject l = 18; // A list of string values repeated string list_of_string_values = 19; @@ -144,31 +144,31 @@ message PrefixConfig { repeated int32 list_of_integer_values = 20; // Description missing in models - optional LevelOne level = 21; + LevelOne level = 21; // Description missing in models - optional Mandate mandatory = 22; + Mandate mandatory = 22; // Description missing in models - optional Ipv4Pattern ipv4_pattern = 23; + Ipv4Pattern ipv4_pattern = 23; // Description missing in models - optional Ipv6Pattern ipv6_pattern = 24; + Ipv6Pattern ipv6_pattern = 24; // Description missing in models - optional MacPattern mac_pattern = 25; + MacPattern mac_pattern = 25; // Description missing in models - optional IntegerPattern integer_pattern = 26; + IntegerPattern integer_pattern = 26; // Description missing in models - optional ChecksumPattern checksum_pattern = 27; + ChecksumPattern checksum_pattern = 27; // Description missing in models - optional Layer1Ieee802x case = 28; + Layer1Ieee802x case = 28; // Description missing in models - optional MObject m_object = 29; + MObject m_object = 29; // int64 type optional int64 integer64 = 30; @@ -177,7 +177,7 @@ message PrefixConfig { repeated int64 integer64_list = 31; // Description missing in models - optional PatternPrefixConfigHeaderChecksum header_checksum = 32; + PatternPrefixConfigHeaderChecksum header_checksum = 32; // Under Review: Information TBD // @@ -190,7 +190,7 @@ message PrefixConfig { repeated string hex_slice = 34; // Description missing in models - optional PatternPrefixConfigAutoFieldTest auto_field_test = 35; + PatternPrefixConfigAutoFieldTest auto_field_test = 35; // Description missing in models optional string name = 36; @@ -202,16 +202,16 @@ message PrefixConfig { repeated ZObject x_list = 38; // Description missing in models - optional ZObject z_object = 39; + ZObject z_object = 39; // Description missing in models - optional YObject y_object = 40; + YObject y_object = 40; // A list of objects with choice with and without properties repeated ChoiceObject choice_object = 41; // Description missing in models - optional RequiredChoiceParent required_choice_object = 42; + RequiredChoiceParent required_choice_object = 42; // A list of objects with choice and properties repeated GObject g1 = 43; @@ -249,7 +249,7 @@ message WObject { // Description missing in models // required = true - string w_name = 1; + optional string w_name = 1; } // Description missing in models @@ -257,7 +257,7 @@ message ZObject { // Description missing in models // required = true - string name = 1; + optional string name = 1; } // Description missing in models @@ -338,11 +338,11 @@ message EObject { // Description missing in models // required = true - float e_a = 1; + optional float e_a = 1; // Description missing in models // required = true - double e_b = 2; + optional double e_b = 2; // Description missing in models optional string name = 3; @@ -393,10 +393,10 @@ message JObject { optional Choice.Enum choice = 1; // Description missing in models - optional EObject j_a = 2; + EObject j_a = 2; // Description missing in models - optional FObject j_b = 3; + FObject j_b = 3; } // Description missing in models @@ -415,20 +415,20 @@ message ChoiceObject { optional Choice.Enum choice = 1; // Description missing in models - optional EObject e_obj = 2; + EObject e_obj = 2; // Description missing in models - optional FObject f_obj = 3; + FObject f_obj = 3; } // Description missing in models message KObject { // Description missing in models - optional EObject e_object = 1; + EObject e_object = 1; // Description missing in models - optional FObject f_object = 2; + FObject f_object = 2; } // Format validation object @@ -464,35 +464,35 @@ message MObject { // Description missing in models // required = true - string string_param = 1; + optional string string_param = 1; // Description missing in models // required = true - int32 integer = 2; + optional int32 integer = 2; // Description missing in models // required = true - float float = 3; + optional float float = 3; // Description missing in models // required = true - double double = 4; + optional double double = 4; // Description missing in models // required = true - string mac = 5; + optional string mac = 5; // Description missing in models // required = true - string ipv4 = 6; + optional string ipv4 = 6; // Description missing in models // required = true - string ipv6 = 7; + optional string ipv6 = 7; // Description missing in models // required = true - string hex = 8; + optional string hex = 8; } // Object to Test required Parameter @@ -500,7 +500,7 @@ message Mandate { // Description missing in models // required = true - string required_param = 1; + optional string required_param = 1; } // Under Review: the whole schema is being reviewed @@ -559,15 +559,15 @@ message PortMetric { // Description missing in models // required = true - string name = 1; + optional string name = 1; // Description missing in models // required = true - double tx_frames = 2; + optional double tx_frames = 2; // Description missing in models // required = true - double rx_frames = 3; + optional double rx_frames = 3; } // Description missing in models @@ -575,15 +575,15 @@ message FlowMetric { // Description missing in models // required = true - string name = 1; + optional string name = 1; // Description missing in models // required = true - double tx_frames = 2; + optional double tx_frames = 2; // Description missing in models // required = true - double rx_frames = 3; + optional double rx_frames = 3; } // Description missing in models @@ -598,10 +598,10 @@ message RequiredChoiceParent { } // Description missing in models // required = true - Choice.Enum choice = 1; + optional Choice.Enum choice = 1; // Description missing in models - optional RequiredChoiceIntermediate intermediate_obj = 2; + RequiredChoiceIntermediate intermediate_obj = 2; } // Description missing in models @@ -616,14 +616,14 @@ message RequiredChoiceIntermediate { } // Description missing in models // required = true - Choice.Enum choice = 1; + optional Choice.Enum choice = 1; // Description missing in models // default = some string optional string f_a = 2; // Description missing in models - optional RequiredChoiceIntermeLeaf leaf = 3; + RequiredChoiceIntermeLeaf leaf = 3; } // Description missing in models @@ -637,17 +637,17 @@ message RequiredChoiceIntermeLeaf { message LevelOne { // Level one - optional LevelTwo l1_p1 = 1; + LevelTwo l1_p1 = 1; // Level one to four - optional LevelFour l1_p2 = 2; + LevelFour l1_p2 = 2; } // Test Level 2 message LevelTwo { // Level Two - optional LevelThree l2_p1 = 1; + LevelThree l2_p1 = 1; } // Test Level3 @@ -661,42 +661,42 @@ message LevelThree { message LevelFour { // loop over level 1 - optional LevelOne l4_p1 = 1; + LevelOne l4_p1 = 1; } // Test ipv4 pattern message Ipv4Pattern { // Description missing in models - optional PatternIpv4PatternIpv4 ipv4 = 1; + PatternIpv4PatternIpv4 ipv4 = 1; } // Test ipv6 pattern message Ipv6Pattern { // Description missing in models - optional PatternIpv6PatternIpv6 ipv6 = 1; + PatternIpv6PatternIpv6 ipv6 = 1; } // Test mac pattern message MacPattern { // Description missing in models - optional PatternMacPatternMac mac = 1; + PatternMacPatternMac mac = 1; } // Test integer pattern message IntegerPattern { // Description missing in models - optional PatternIntegerPatternInteger integer = 1; + PatternIntegerPatternInteger integer = 1; } // Test checksum pattern message ChecksumPattern { // Description missing in models - optional PatternChecksumPatternChecksum checksum = 1; + PatternChecksumPatternChecksum checksum = 1; } // Description missing in models @@ -813,10 +813,10 @@ message PatternPrefixConfigAutoFieldTest { optional uint32 auto = 4; // Description missing in models - optional PatternPrefixConfigAutoFieldTestCounter increment = 6; + PatternPrefixConfigAutoFieldTestCounter increment = 6; // Description missing in models - optional PatternPrefixConfigAutoFieldTestCounter decrement = 7; + PatternPrefixConfigAutoFieldTestCounter decrement = 7; } // ipv4 counter pattern @@ -860,10 +860,10 @@ message PatternIpv4PatternIpv4 { repeated string values = 3; // Description missing in models - optional PatternIpv4PatternIpv4Counter increment = 5; + PatternIpv4PatternIpv4Counter increment = 5; // Description missing in models - optional PatternIpv4PatternIpv4Counter decrement = 6; + PatternIpv4PatternIpv4Counter decrement = 6; } // ipv6 counter pattern @@ -907,10 +907,10 @@ message PatternIpv6PatternIpv6 { repeated string values = 3; // Description missing in models - optional PatternIpv6PatternIpv6Counter increment = 5; + PatternIpv6PatternIpv6Counter increment = 5; // Description missing in models - optional PatternIpv6PatternIpv6Counter decrement = 6; + PatternIpv6PatternIpv6Counter decrement = 6; } // mac counter pattern @@ -961,10 +961,10 @@ message PatternMacPatternMac { optional string auto = 4; // Description missing in models - optional PatternMacPatternMacCounter increment = 6; + PatternMacPatternMacCounter increment = 6; // Description missing in models - optional PatternMacPatternMacCounter decrement = 7; + PatternMacPatternMacCounter decrement = 7; } // integer counter pattern @@ -1008,10 +1008,10 @@ message PatternIntegerPatternInteger { repeated uint32 values = 3; // Description missing in models - optional PatternIntegerPatternIntegerCounter increment = 5; + PatternIntegerPatternIntegerCounter increment = 5; // Description missing in models - optional PatternIntegerPatternIntegerCounter decrement = 6; + PatternIntegerPatternIntegerCounter decrement = 6; } // TBD diff --git a/artifacts/pyapi/__pycache__/__init__.cpython-310.pyc b/artifacts/pyapi/__pycache__/__init__.cpython-310.pyc index 3d130a8623a982154095d661c445028f3d9970cb..1078b810290fdf9b91f4c3cc8c06c2167fb146fe 100644 GIT binary patch delta 20 acmdlbyi1rnpO=@50SMM!*V)Luo)Z8zQ3YK9 delta 20 acmdlbyi1rnpO=@50SKPh^K9f^&j|oCq6FLk diff --git a/artifacts/pyapi/__pycache__/openapi_pb2.cpython-310.pyc b/artifacts/pyapi/__pycache__/openapi_pb2.cpython-310.pyc index affc27db25f5ba552f4ae662a692bc8ac340ab8d..a40d2ca12594b95ca869a8193c5547bc5ca2248a 100644 GIT binary patch delta 2682 zcmciDeN0>B9tUuqLrdGIFO;*k97bEp0Y-tcF)mU&ht*cGDmdm#e2uk~!zhCmOUIV! zO`Y*QW>bHeI-MG$PNOkK(ag;0T;l6LzGTs<$-RP$#+R76cyq5hCqCcP!qoWp<&RIl z=XrilpPr|`9(L?xhwo;NoZZeV#NV@rL)!6e&pU3dl73u8_f z=S)+qwA$?P$s&&`HZgDQcCO4#Y1!0NW@Z1n;c+cppc%`R5mB&FsrgI6`K1D^o>1h! zOb(P+yZ9MAz>O2yj5eXTX|=yrlAGvy-XzKGw1>CjBFE?vTg-`XCYzenlxDryO8>Pbm`YK*iXF%7D($eZVtsVL z-bc)FA+yoNjvi*G+a0Gc2OV%kST+6ZI7shR_peRG3|vYM>!x+bbTcs<=gFl{9pl`b zoGyJv{cFemw6-R(zKxqMEuZHyUbQ)?e=xL+MQ@pyg`1M4QMHAet|*r--oYOV(M(u8 zySL^jD?ZA&>Fjc`lUHiVl-`Gu{-&}%GOS2q8Ym9Z3~5(Ws8RcI~E2UK=UhkbV~B1FqrK$v@A|&MU98VuACaT)r@< z74n(%Qp=n?aCBv1OLA14k2d|sqZH%$rE%O3OW-`0zIMGcmR9OlOZBSQwSOYFc~C3< zU$^~|ao2_ABZ`mZ#4pA?l*((_f_yqf>m#O8+w{@a`aarU-(QWcOzU;(QO1|kqh2?4 zd8^o26!u0b<5E}`-Qn$`1KzObWUbyDqsf#S=5=C89X0uU_I2DmfQQ7otR@F&&=-*8 zMk@Fk9qP*R%*C5?;&-{Kb2O>s$%Q=~ag+nR46 zU&~g*yu>}!*y5q*TQ;x=d4nq`x?-6mN9d|jqz8hN6lg71zTfJh7h6k}ky2GeuV`x9 zA}vVtP}_DErcirWlEXCK9>zWf^`E?nPIP$by^x7A9hVz^mbh0R_@ZNyMQJD$mEb$m1uf#=Wu_IR!6^9JD(C}K;2e;*7KM)^eh2Qf33h;lU2qJk6X`h8`A9~G z;BBN|z=yz$u{m%L_z3I>HNMtTN33mRR5W?*p(UP1Z|ya{X=I}Tn1Ul-wP-~{OL2ztTI;8ySw*bC;t z5#X#9$lwAn1nvae!CT-R;8X-MxEfpoc7X@MVWpy2k@*a9Yn|YF@G^J>tgIL8TrT(! zJOT~@j)^&>)krUZm%xZm@Re84kMsl5DAK>c95}N<@UdSILMqN7#u4{{SAoA#5CA*D z{h+oyMWvxaD(Cs!Hr;9E5^Wja1kJ|6MPQlfh{O-1dGDU5w8Th!NcGP_!4;A z1b(1_4PZOC3(SKfps!sJ1>;}>ybaz3%R2;KFbc-N%K|yG5AhiI5BPZ1taEMA@jG*5 BiSPgb delta 3273 zcmbW3YiwI*8OL*c$+2JGl4Cn@V#je#?8Hf0a-mH~*EPdk+tX%cr7EQx69>mRX}tQ9 zI!@bdnp~!I9fNh7o?TRpvVIw&bkcwbAt6*cjhi+qRMY`tlNb^RwE}IR4z{rhp8snn z8(*f0eE8*m-sf`O^E~hSB)@%JdGtxeU-tP#6aV~a%4-EqeAj=n*>--Eo^Jj|`#D88 zw^b_TisluLTzS@tClD7c zWm)E@M#jw1!!t7xI|sT91-6h-7ZTJE|H^1SBZ$jyjEI*0k*Y0^8nz&0V+MfK9*_5w|EQxQq?+WRmL}%h5TYQ(w(rU?V3S$@756`3?I~`S}_Y& zDbj;)H`=h;D%|tdF>|qy&shV`A>$RoEM`ly*=o6RPbMII zW`5zw26G`>ty-1R>caTif?s&qKezUb9W-jTwic|3Rx>wm7LcMbclAdVjW(}SFBmiT;?vVn(#r?(h{Oz%kU>Vg!=j0Wf?WUXg(_Q%G>1D+l6{( z!^GE2b`#gky+SQ-DjQEKLfzIddxYIGvog%4$%mPUja_j{>VddsZlj4_)Y_u*vW0~U zg{owWV-cq`+R%Di@D1k`&b*6;f<5F4bu{b3ez%#Ww?YxMeob}ybg0Y5m-BM#Ae{(x zXqjf=FxjW^dq)2!oeddElCFlj8!<@|;cmXrc*Q_?Pf{KSSrDn_P#S$nsMC!P>K87H zJT4BGQ=^~09o9SL>t&VKN{PmD@XF7_LaCkLeeZ502njEDFkd=Y|HgVnwSZ6?otNct zYChqdE0nWUIfiWLz-)PGreMhdq@a|1^6K@$sKY^xG^1LLr}4%#V#oQgbxaNTZkol|%do9mQp?9y8~-8`k1l=iHUGCA3e`Im7ls z`RMK#G8NT^YzXwBxcRat5MZ;I%o z*Q1>_ZHiusPKC4>bO|;-lu#3Da1uHv8PsBF)io$gp zX29(wOH0vfF&?)vxQ}kcdiv}Am4jl`To|p73|3?M&5gKyN6S38)^+It8CUlhV_*7A z*LrQUaLer5%S#n4C7gu~^oLkSFTdG@?%uHK`iiwZPrXLku6o|Lc_0*T@S@BTnt7q-w+66z9dGh0CT@q1xJsqRp z4ftqXa@zKsokr8Al+AQ8J<<5)&Gc@1;^ThvcLt6-p0$e@Jra-6p24DWD_t0zYV7P* z`p@9h2Rr-7>aCm~(mk~uN>kI-fAIfG`7KcILG5CdzsCPT<(FNIzW|Q`SAm3^aUJTf zaB+GVDi8+}z)oNqI0-xqczuklm+=H}2zbg{WBvj%0P|D8X<)CP@o%UJC@1haU?9MF z4ayJoXQ*{hdJE$slpX42s3g>B;OoGdR>oN%r7`*$wY&kj3s?e<0h@!2Yf#-#*P*7M z)DYvRQ11i30^C^J2}}cD1x^9?hZ!kg9vB9W1I0E*8n~+ljsa!ho4~h#a66+N*az$f zjsp(>7l4a^h%mgse&7Ib26z^D2Y3%S(80J9AmB;haz|6GDSrjB+Q~Qqd=L0Okd84P zjWS*VP6L+!2MoW58iINrcmY_BGp=p37AMTHUX~ymjL$w!vjnMyMd>H)4)%FpAF#rwGJ|Z zz&>C<@CKEa(kpO=@50SMM!*V)M3stf=(D+OTy delta 20 acmbQ>KEa(kpO=@50SKPj^K9g9RR#bwg9PCK diff --git a/artifacts/pyapi/__pycache__/pyapi.cpython-310.pyc b/artifacts/pyapi/__pycache__/pyapi.cpython-310.pyc index 59c86c5843b8f471c5b90f4ecf81bdf7b5a8d57b..af986f1b45b399ce756ca53cef7661011cfdfd26 100644 GIT binary patch delta 28 icmbQVkaN;PPVRhOUM>b8*mzy1k-L?faVs}ddjJ4%)CYk8 delta 28 icmbQVkaN;PPVRhOUM>b8cwx`e$lc1#xRsl!Jpce}9|r&c diff --git a/artifacts/pyapi/openapi_pb2.py b/artifacts/pyapi/openapi_pb2.py index 5f0e2e02..5289c603 100644 --- a/artifacts/pyapi/openapi_pb2.py +++ b/artifacts/pyapi/openapi_pb2.py @@ -15,7 +15,7 @@ from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\ropenapi.proto\x12\x07openapi\x1a google/protobuf/descriptor.proto\x1a\x1bgoogle/protobuf/empty.proto\"\x1e\n\x0c\x45rrorDetails\x12\x0e\n\x06\x65rrors\x18\x01 \x03(\t\"\"\n\x0eWarningDetails\x12\x10\n\x08warnings\x18\x01 \x03(\t\"\xa9\x01\n\x05\x45rror\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12+\n\x04kind\x18\x02 \x01(\x0e\x32\x18.openapi.Error.Kind.EnumH\x00\x88\x01\x01\x12\x0e\n\x06\x65rrors\x18\x03 \x03(\t\x1aL\n\x04Kind\"D\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\r\n\ttransport\x10\x01\x12\x0e\n\nvalidation\x10\x02\x12\x0c\n\x08internal\x10\x03\x42\x07\n\x05_kind\"\xa0\x13\n\x0cPrefixConfig\x12)\n\x0frequired_object\x18\x01 \x01(\x0b\x32\x10.openapi.EObject\x12.\n\x0foptional_object\x18\x02 \x01(\x0b\x32\x10.openapi.EObjectH\x00\x88\x01\x01\x12\x1a\n\rieee_802_1qbb\x18\x03 \x01(\x08H\x01\x88\x01\x01\x12\x14\n\x07space_1\x18\x04 \x01(\x05H\x02\x88\x01\x01\x12\x1f\n\x12\x66ull_duplex_100_mb\x18\x05 \x01(\x03H\x03\x88\x01\x01\x12:\n\x08response\x18\x06 \x01(\x0e\x32#.openapi.PrefixConfig.Response.EnumH\x04\x88\x01\x01\x12\t\n\x01\x61\x18\x07 \x01(\t\x12\t\n\x01\x62\x18\x08 \x01(\x02\x12\t\n\x01\x63\x18\t \x01(\x05\x12\x34\n\x08\x64_values\x18\n \x03(\x0e\x32\".openapi.PrefixConfig.DValues.Enum\x12 \n\x01\x65\x18\x0b \x01(\x0b\x32\x10.openapi.EObjectH\x05\x88\x01\x01\x12 \n\x01\x66\x18\x0c \x01(\x0b\x32\x10.openapi.FObjectH\x06\x88\x01\x01\x12\x1b\n\x01g\x18\r \x03(\x0b\x32\x10.openapi.GObject\x12\x0e\n\x01h\x18\x0e \x01(\x08H\x07\x88\x01\x01\x12\x0e\n\x01i\x18\x0f \x01(\x0cH\x08\x88\x01\x01\x12\x1b\n\x01j\x18\x10 \x03(\x0b\x32\x10.openapi.JObject\x12 \n\x01k\x18\x11 \x01(\x0b\x32\x10.openapi.KObjectH\t\x88\x01\x01\x12 \n\x01l\x18\x12 \x01(\x0b\x32\x10.openapi.LObjectH\n\x88\x01\x01\x12\x1d\n\x15list_of_string_values\x18\x13 \x03(\t\x12\x1e\n\x16list_of_integer_values\x18\x14 \x03(\x05\x12%\n\x05level\x18\x15 \x01(\x0b\x32\x11.openapi.LevelOneH\x0b\x88\x01\x01\x12(\n\tmandatory\x18\x16 \x01(\x0b\x32\x10.openapi.MandateH\x0c\x88\x01\x01\x12/\n\x0cipv4_pattern\x18\x17 \x01(\x0b\x32\x14.openapi.Ipv4PatternH\r\x88\x01\x01\x12/\n\x0cipv6_pattern\x18\x18 \x01(\x0b\x32\x14.openapi.Ipv6PatternH\x0e\x88\x01\x01\x12-\n\x0bmac_pattern\x18\x19 \x01(\x0b\x32\x13.openapi.MacPatternH\x0f\x88\x01\x01\x12\x35\n\x0finteger_pattern\x18\x1a \x01(\x0b\x32\x17.openapi.IntegerPatternH\x10\x88\x01\x01\x12\x37\n\x10\x63hecksum_pattern\x18\x1b \x01(\x0b\x32\x18.openapi.ChecksumPatternH\x11\x88\x01\x01\x12*\n\x04\x63\x61se\x18\x1c \x01(\x0b\x32\x17.openapi.Layer1Ieee802xH\x12\x88\x01\x01\x12\'\n\x08m_object\x18\x1d \x01(\x0b\x32\x10.openapi.MObjectH\x13\x88\x01\x01\x12\x16\n\tinteger64\x18\x1e \x01(\x03H\x14\x88\x01\x01\x12\x16\n\x0einteger64_list\x18\x1f \x03(\x03\x12H\n\x0fheader_checksum\x18 \x01(\x0b\x32*.openapi.PatternPrefixConfigHeaderChecksumH\x15\x88\x01\x01\x12\x14\n\x07str_len\x18! \x01(\tH\x16\x88\x01\x01\x12\x11\n\thex_slice\x18\" \x03(\t\x12G\n\x0f\x61uto_field_test\x18# \x01(\x0b\x32).openapi.PatternPrefixConfigAutoFieldTestH\x17\x88\x01\x01\x12\x11\n\x04name\x18$ \x01(\tH\x18\x88\x01\x01\x12 \n\x06w_list\x18% \x03(\x0b\x32\x10.openapi.WObject\x12 \n\x06x_list\x18& \x03(\x0b\x32\x10.openapi.ZObject\x12\'\n\x08z_object\x18\' \x01(\x0b\x32\x10.openapi.ZObjectH\x19\x88\x01\x01\x12\'\n\x08y_object\x18( \x01(\x0b\x32\x10.openapi.YObjectH\x1a\x88\x01\x01\x12,\n\rchoice_object\x18) \x03(\x0b\x32\x15.openapi.ChoiceObject\x12\x42\n\x16required_choice_object\x18* \x01(\x0b\x32\x1d.openapi.RequiredChoiceParentH\x1b\x88\x01\x01\x12\x1c\n\x02g1\x18+ \x03(\x0b\x32\x10.openapi.GObject\x12\x1c\n\x02g2\x18, \x03(\x0b\x32\x10.openapi.GObject\x12\x18\n\x0bint32_param\x18- \x01(\x05H\x1c\x88\x01\x01\x12\x18\n\x10int32_list_param\x18. \x03(\x05\x12\x19\n\x0cuint32_param\x18/ \x01(\rH\x1d\x88\x01\x01\x12\x19\n\x11uint32_list_param\x18\x30 \x03(\r\x12\x19\n\x0cuint64_param\x18\x31 \x01(\x04H\x1e\x88\x01\x01\x12\x19\n\x11uint64_list_param\x18\x32 \x03(\x04\x12\x1d\n\x10\x61uto_int32_param\x18\x33 \x01(\x05H\x1f\x88\x01\x01\x12\x1d\n\x15\x61uto_int32_list_param\x18\x34 \x03(\x05\x1a\x63\n\x08Response\"W\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x0e\n\nstatus_200\x10\x01\x12\x0e\n\nstatus_400\x10\x02\x12\x0e\n\nstatus_404\x10\x03\x12\x0e\n\nstatus_500\x10\x04\x1a\x37\n\x07\x44Values\",\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x05\n\x01\x61\x10\x01\x12\x05\n\x01\x62\x10\x02\x12\x05\n\x01\x63\x10\x03\x42\x12\n\x10_optional_objectB\x10\n\x0e_ieee_802_1qbbB\n\n\x08_space_1B\x15\n\x13_full_duplex_100_mbB\x0b\n\t_responseB\x04\n\x02_eB\x04\n\x02_fB\x04\n\x02_hB\x04\n\x02_iB\x04\n\x02_kB\x04\n\x02_lB\x08\n\x06_levelB\x0c\n\n_mandatoryB\x0f\n\r_ipv4_patternB\x0f\n\r_ipv6_patternB\x0e\n\x0c_mac_patternB\x12\n\x10_integer_patternB\x13\n\x11_checksum_patternB\x07\n\x05_caseB\x0b\n\t_m_objectB\x0c\n\n_integer64B\x12\n\x10_header_checksumB\n\n\x08_str_lenB\x12\n\x10_auto_field_testB\x07\n\x05_nameB\x0b\n\t_z_objectB\x0b\n\t_y_objectB\x19\n\x17_required_choice_objectB\x0e\n\x0c_int32_paramB\x0f\n\r_uint32_paramB\x0f\n\r_uint64_paramB\x13\n\x11_auto_int32_param\"\x19\n\x07WObject\x12\x0e\n\x06w_name\x18\x01 \x01(\t\"\x17\n\x07ZObject\x12\x0c\n\x04name\x18\x01 \x01(\t\")\n\x07YObject\x12\x13\n\x06y_name\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_y_name\"<\n\x0eLayer1Ieee802x\x12\x19\n\x0c\x66low_control\x18\x01 \x01(\x08H\x00\x88\x01\x01\x42\x0f\n\r_flow_control\"\x82\x03\n\x07GObject\x12\x10\n\x03g_a\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x10\n\x03g_b\x18\x02 \x01(\x05H\x01\x88\x01\x01\x12\x10\n\x03g_c\x18\x03 \x01(\x02H\x02\x88\x01\x01\x12\x31\n\x06\x63hoice\x18\x04 \x01(\x0e\x32\x1c.openapi.GObject.Choice.EnumH\x03\x88\x01\x01\x12\x10\n\x03g_d\x18\x05 \x01(\tH\x04\x88\x01\x01\x12\x10\n\x03g_e\x18\x06 \x01(\x01H\x05\x88\x01\x01\x12*\n\x03g_f\x18\x07 \x01(\x0e\x32\x18.openapi.GObject.GF.EnumH\x06\x88\x01\x01\x12\x11\n\x04name\x18\x08 \x01(\tH\x07\x88\x01\x01\x1a\x33\n\x06\x43hoice\")\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x07\n\x03g_d\x10\x01\x12\x07\n\x03g_e\x10\x02\x1a\x32\n\x02GF\",\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x05\n\x01\x61\x10\x01\x12\x05\n\x01\x62\x10\x02\x12\x05\n\x01\x63\x10\x03\x42\x06\n\x04_g_aB\x06\n\x04_g_bB\x06\n\x04_g_cB\t\n\x07_choiceB\x06\n\x04_g_dB\x06\n\x04_g_eB\x06\n\x04_g_fB\x07\n\x05_name\"\x87\x01\n\x07\x45Object\x12\x0b\n\x03\x65_a\x18\x01 \x01(\x02\x12\x0b\n\x03\x65_b\x18\x02 \x01(\x01\x12\x11\n\x04name\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x15\n\x08m_param1\x18\x04 \x01(\tH\x01\x88\x01\x01\x12\x15\n\x08m_param2\x18\x05 \x01(\tH\x02\x88\x01\x01\x42\x07\n\x05_nameB\x0b\n\t_m_param1B\x0b\n\t_m_param2\"\xb9\x01\n\x07\x46Object\x12\x31\n\x06\x63hoice\x18\x01 \x01(\x0e\x32\x1c.openapi.FObject.Choice.EnumH\x00\x88\x01\x01\x12\x10\n\x03\x66_a\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x10\n\x03\x66_b\x18\x03 \x01(\x01H\x02\x88\x01\x01\x1a<\n\x06\x43hoice\"2\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x07\n\x03\x66_a\x10\x01\x12\x07\n\x03\x66_b\x10\x02\x12\x07\n\x03\x66_c\x10\x03\x42\t\n\x07_choiceB\x06\n\x04_f_aB\x06\n\x04_f_b\"\xd4\x01\n\x07JObject\x12\x31\n\x06\x63hoice\x18\x01 \x01(\x0e\x32\x1c.openapi.JObject.Choice.EnumH\x00\x88\x01\x01\x12\"\n\x03j_a\x18\x02 \x01(\x0b\x32\x10.openapi.EObjectH\x01\x88\x01\x01\x12\"\n\x03j_b\x18\x03 \x01(\x0b\x32\x10.openapi.FObjectH\x02\x88\x01\x01\x1a\x33\n\x06\x43hoice\")\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x07\n\x03j_a\x10\x01\x12\x07\n\x03j_b\x10\x02\x42\t\n\x07_choiceB\x06\n\x04_j_aB\x06\n\x04_j_b\"\xf6\x01\n\x0c\x43hoiceObject\x12\x36\n\x06\x63hoice\x18\x01 \x01(\x0e\x32!.openapi.ChoiceObject.Choice.EnumH\x00\x88\x01\x01\x12$\n\x05\x65_obj\x18\x02 \x01(\x0b\x32\x10.openapi.EObjectH\x01\x88\x01\x01\x12$\n\x05\x66_obj\x18\x03 \x01(\x0b\x32\x10.openapi.FObjectH\x02\x88\x01\x01\x1a\x43\n\x06\x43hoice\"9\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\t\n\x05\x65_obj\x10\x01\x12\t\n\x05\x66_obj\x10\x02\x12\n\n\x06no_obj\x10\x03\x42\t\n\x07_choiceB\x08\n\x06_e_objB\x08\n\x06_f_obj\"u\n\x07KObject\x12\'\n\x08\x65_object\x18\x01 \x01(\x0b\x32\x10.openapi.EObjectH\x00\x88\x01\x01\x12\'\n\x08\x66_object\x18\x02 \x01(\x0b\x32\x10.openapi.FObjectH\x01\x88\x01\x01\x42\x0b\n\t_e_objectB\x0b\n\t_f_object\"\x81\x02\n\x07LObject\x12\x19\n\x0cstring_param\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x07integer\x18\x02 \x01(\x05H\x01\x88\x01\x01\x12\x12\n\x05\x66loat\x18\x03 \x01(\x02H\x02\x88\x01\x01\x12\x13\n\x06\x64ouble\x18\x04 \x01(\x01H\x03\x88\x01\x01\x12\x10\n\x03mac\x18\x05 \x01(\tH\x04\x88\x01\x01\x12\x11\n\x04ipv4\x18\x06 \x01(\tH\x05\x88\x01\x01\x12\x11\n\x04ipv6\x18\x07 \x01(\tH\x06\x88\x01\x01\x12\x10\n\x03hex\x18\x08 \x01(\tH\x07\x88\x01\x01\x42\x0f\n\r_string_paramB\n\n\x08_integerB\x08\n\x06_floatB\t\n\x07_doubleB\x06\n\x04_macB\x07\n\x05_ipv4B\x07\n\x05_ipv6B\x06\n\x04_hex\"\x85\x01\n\x07MObject\x12\x14\n\x0cstring_param\x18\x01 \x01(\t\x12\x0f\n\x07integer\x18\x02 \x01(\x05\x12\r\n\x05\x66loat\x18\x03 \x01(\x02\x12\x0e\n\x06\x64ouble\x18\x04 \x01(\x01\x12\x0b\n\x03mac\x18\x05 \x01(\t\x12\x0c\n\x04ipv4\x18\x06 \x01(\t\x12\x0c\n\x04ipv6\x18\x07 \x01(\t\x12\x0b\n\x03hex\x18\x08 \x01(\t\"!\n\x07Mandate\x12\x16\n\x0erequired_param\x18\x01 \x01(\t\"+\n\x0cUpdateConfig\x12\x1b\n\x01g\x18\x01 \x03(\x0b\x32\x10.openapi.GObject\"\xc4\x01\n\x0eMetricsRequest\x12\x38\n\x06\x63hoice\x18\x01 \x01(\x0e\x32#.openapi.MetricsRequest.Choice.EnumH\x00\x88\x01\x01\x12\x11\n\x04port\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04\x66low\x18\x03 \x01(\tH\x02\x88\x01\x01\x1a\x35\n\x06\x43hoice\"+\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x08\n\x04port\x10\x01\x12\x08\n\x04\x66low\x10\x02\x42\t\n\x07_choiceB\x07\n\x05_portB\x07\n\x05_flow\"\xc8\x01\n\x07Metrics\x12\x31\n\x06\x63hoice\x18\x01 \x01(\x0e\x32\x1c.openapi.Metrics.Choice.EnumH\x00\x88\x01\x01\x12\"\n\x05ports\x18\x02 \x03(\x0b\x32\x13.openapi.PortMetric\x12\"\n\x05\x66lows\x18\x03 \x03(\x0b\x32\x13.openapi.FlowMetric\x1a\x37\n\x06\x43hoice\"-\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\t\n\x05ports\x10\x01\x12\t\n\x05\x66lows\x10\x02\x42\t\n\x07_choice\"@\n\nPortMetric\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\ttx_frames\x18\x02 \x01(\x01\x12\x11\n\trx_frames\x18\x03 \x01(\x01\"@\n\nFlowMetric\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\ttx_frames\x18\x02 \x01(\x01\x12\x11\n\trx_frames\x18\x03 \x01(\x01\"\xef\x01\n\x14RequiredChoiceParent\x12\x39\n\x06\x63hoice\x18\x01 \x01(\x0e\x32).openapi.RequiredChoiceParent.Choice.Enum\x12\x42\n\x10intermediate_obj\x18\x02 \x01(\x0b\x32#.openapi.RequiredChoiceIntermediateH\x00\x88\x01\x01\x1a\x43\n\x06\x43hoice\"9\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x14\n\x10intermediate_obj\x10\x01\x12\n\n\x06no_obj\x10\x02\x42\x13\n\x11_intermediate_obj\"\xed\x01\n\x1aRequiredChoiceIntermediate\x12?\n\x06\x63hoice\x18\x01 \x01(\x0e\x32/.openapi.RequiredChoiceIntermediate.Choice.Enum\x12\x10\n\x03\x66_a\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x35\n\x04leaf\x18\x03 \x01(\x0b\x32\".openapi.RequiredChoiceIntermeLeafH\x01\x88\x01\x01\x1a\x34\n\x06\x43hoice\"*\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x07\n\x03\x66_a\x10\x01\x12\x08\n\x04leaf\x10\x02\x42\x06\n\x04_f_aB\x07\n\x05_leaf\"7\n\x19RequiredChoiceIntermeLeaf\x12\x11\n\x04name\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x07\n\x05_name\"m\n\x08LevelOne\x12%\n\x05l1_p1\x18\x01 \x01(\x0b\x32\x11.openapi.LevelTwoH\x00\x88\x01\x01\x12&\n\x05l1_p2\x18\x02 \x01(\x0b\x32\x12.openapi.LevelFourH\x01\x88\x01\x01\x42\x08\n\x06_l1_p1B\x08\n\x06_l1_p2\"=\n\x08LevelTwo\x12\'\n\x05l2_p1\x18\x01 \x01(\x0b\x32\x13.openapi.LevelThreeH\x00\x88\x01\x01\x42\x08\n\x06_l2_p1\"*\n\nLevelThree\x12\x12\n\x05l3_p1\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_l3_p1\"<\n\tLevelFour\x12%\n\x05l4_p1\x18\x01 \x01(\x0b\x32\x11.openapi.LevelOneH\x00\x88\x01\x01\x42\x08\n\x06_l4_p1\"J\n\x0bIpv4Pattern\x12\x32\n\x04ipv4\x18\x01 \x01(\x0b\x32\x1f.openapi.PatternIpv4PatternIpv4H\x00\x88\x01\x01\x42\x07\n\x05_ipv4\"J\n\x0bIpv6Pattern\x12\x32\n\x04ipv6\x18\x01 \x01(\x0b\x32\x1f.openapi.PatternIpv6PatternIpv6H\x00\x88\x01\x01\x42\x07\n\x05_ipv6\"E\n\nMacPattern\x12/\n\x03mac\x18\x01 \x01(\x0b\x32\x1d.openapi.PatternMacPatternMacH\x00\x88\x01\x01\x42\x06\n\x04_mac\"Y\n\x0eIntegerPattern\x12;\n\x07integer\x18\x01 \x01(\x0b\x32%.openapi.PatternIntegerPatternIntegerH\x00\x88\x01\x01\x42\n\n\x08_integer\"^\n\x0f\x43hecksumPattern\x12>\n\x08\x63hecksum\x18\x01 \x01(\x0b\x32\'.openapi.PatternChecksumPatternChecksumH\x00\x88\x01\x01\x42\x0b\n\t_checksum\"9\n\x15\x43ommonResponseSuccess\x12\x14\n\x07message\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\n\n\x08_message\"<\n\x10\x41piTestInputBody\x12\x18\n\x0bsome_string\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_some_string\"\xa0\x01\n\x0eServiceAbcItem\x12\x14\n\x07some_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0bsome_string\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x14\n\x07path_id\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x14\n\x07level_2\x18\x04 \x01(\tH\x03\x88\x01\x01\x42\n\n\x08_some_idB\x0e\n\x0c_some_stringB\n\n\x08_path_idB\n\n\x08_level_2\"<\n\x12ServiceAbcItemList\x12&\n\x05items\x18\x01 \x03(\x0b\x32\x17.openapi.ServiceAbcItem\"\xf3\x02\n!PatternPrefixConfigHeaderChecksum\x12K\n\x06\x63hoice\x18\x01 \x01(\x0e\x32\x36.openapi.PatternPrefixConfigHeaderChecksum.Choice.EnumH\x00\x88\x01\x01\x12Q\n\tgenerated\x18\x02 \x01(\x0e\x32\x39.openapi.PatternPrefixConfigHeaderChecksum.Generated.EnumH\x01\x88\x01\x01\x12\x13\n\x06\x63ustom\x18\x03 \x01(\rH\x02\x88\x01\x01\x1a<\n\x06\x43hoice\"2\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\r\n\tgenerated\x10\x01\x12\n\n\x06\x63ustom\x10\x02\x1a\x37\n\tGenerated\"*\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x08\n\x04good\x10\x01\x12\x07\n\x03\x62\x61\x64\x10\x02\x42\t\n\x07_choiceB\x0c\n\n_generatedB\t\n\x07_custom\"\x81\x01\n\'PatternPrefixConfigAutoFieldTestCounter\x12\x12\n\x05start\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x11\n\x04step\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\x08\n\x06_startB\x07\n\x05_stepB\x08\n\x06_count\"\xd5\x03\n PatternPrefixConfigAutoFieldTest\x12J\n\x06\x63hoice\x18\x01 \x01(\x0e\x32\x35.openapi.PatternPrefixConfigAutoFieldTest.Choice.EnumH\x00\x88\x01\x01\x12\x12\n\x05value\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x0e\n\x06values\x18\x03 \x03(\r\x12\x11\n\x04\x61uto\x18\x04 \x01(\rH\x02\x88\x01\x01\x12H\n\tincrement\x18\x06 \x01(\x0b\x32\x30.openapi.PatternPrefixConfigAutoFieldTestCounterH\x03\x88\x01\x01\x12H\n\tdecrement\x18\x07 \x01(\x0b\x32\x30.openapi.PatternPrefixConfigAutoFieldTestCounterH\x04\x88\x01\x01\x1a`\n\x06\x43hoice\"V\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\t\n\x05value\x10\x02\x12\n\n\x06values\x10\x03\x12\x08\n\x04\x61uto\x10\x01\x12\r\n\tincrement\x10\x04\x12\r\n\tdecrement\x10\x05\x42\t\n\x07_choiceB\x08\n\x06_valueB\x07\n\x05_autoB\x0c\n\n_incrementB\x0c\n\n_decrement\"w\n\x1dPatternIpv4PatternIpv4Counter\x12\x12\n\x05start\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04step\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\x08\n\x06_startB\x07\n\x05_stepB\x08\n\x06_count\"\x87\x03\n\x16PatternIpv4PatternIpv4\x12@\n\x06\x63hoice\x18\x01 \x01(\x0e\x32+.openapi.PatternIpv4PatternIpv4.Choice.EnumH\x00\x88\x01\x01\x12\x12\n\x05value\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x0e\n\x06values\x18\x03 \x03(\t\x12>\n\tincrement\x18\x05 \x01(\x0b\x32&.openapi.PatternIpv4PatternIpv4CounterH\x02\x88\x01\x01\x12>\n\tdecrement\x18\x06 \x01(\x0b\x32&.openapi.PatternIpv4PatternIpv4CounterH\x03\x88\x01\x01\x1aV\n\x06\x43hoice\"L\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\t\n\x05value\x10\x02\x12\n\n\x06values\x10\x03\x12\r\n\tincrement\x10\x04\x12\r\n\tdecrement\x10\x05\x42\t\n\x07_choiceB\x08\n\x06_valueB\x0c\n\n_incrementB\x0c\n\n_decrement\"w\n\x1dPatternIpv6PatternIpv6Counter\x12\x12\n\x05start\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04step\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\x08\n\x06_startB\x07\n\x05_stepB\x08\n\x06_count\"\x87\x03\n\x16PatternIpv6PatternIpv6\x12@\n\x06\x63hoice\x18\x01 \x01(\x0e\x32+.openapi.PatternIpv6PatternIpv6.Choice.EnumH\x00\x88\x01\x01\x12\x12\n\x05value\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x0e\n\x06values\x18\x03 \x03(\t\x12>\n\tincrement\x18\x05 \x01(\x0b\x32&.openapi.PatternIpv6PatternIpv6CounterH\x02\x88\x01\x01\x12>\n\tdecrement\x18\x06 \x01(\x0b\x32&.openapi.PatternIpv6PatternIpv6CounterH\x03\x88\x01\x01\x1aV\n\x06\x43hoice\"L\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\t\n\x05value\x10\x02\x12\n\n\x06values\x10\x03\x12\r\n\tincrement\x10\x04\x12\r\n\tdecrement\x10\x05\x42\t\n\x07_choiceB\x08\n\x06_valueB\x0c\n\n_incrementB\x0c\n\n_decrement\"u\n\x1bPatternMacPatternMacCounter\x12\x12\n\x05start\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04step\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\x08\n\x06_startB\x07\n\x05_stepB\x08\n\x06_count\"\xa5\x03\n\x14PatternMacPatternMac\x12>\n\x06\x63hoice\x18\x01 \x01(\x0e\x32).openapi.PatternMacPatternMac.Choice.EnumH\x00\x88\x01\x01\x12\x12\n\x05value\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x0e\n\x06values\x18\x03 \x03(\t\x12\x11\n\x04\x61uto\x18\x04 \x01(\tH\x02\x88\x01\x01\x12<\n\tincrement\x18\x06 \x01(\x0b\x32$.openapi.PatternMacPatternMacCounterH\x03\x88\x01\x01\x12<\n\tdecrement\x18\x07 \x01(\x0b\x32$.openapi.PatternMacPatternMacCounterH\x04\x88\x01\x01\x1a`\n\x06\x43hoice\"V\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\t\n\x05value\x10\x02\x12\n\n\x06values\x10\x03\x12\x08\n\x04\x61uto\x10\x01\x12\r\n\tincrement\x10\x04\x12\r\n\tdecrement\x10\x05\x42\t\n\x07_choiceB\x08\n\x06_valueB\x07\n\x05_autoB\x0c\n\n_incrementB\x0c\n\n_decrement\"}\n#PatternIntegerPatternIntegerCounter\x12\x12\n\x05start\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x11\n\x04step\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\x08\n\x06_startB\x07\n\x05_stepB\x08\n\x06_count\"\x9f\x03\n\x1cPatternIntegerPatternInteger\x12\x46\n\x06\x63hoice\x18\x01 \x01(\x0e\x32\x31.openapi.PatternIntegerPatternInteger.Choice.EnumH\x00\x88\x01\x01\x12\x12\n\x05value\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x0e\n\x06values\x18\x03 \x03(\r\x12\x44\n\tincrement\x18\x05 \x01(\x0b\x32,.openapi.PatternIntegerPatternIntegerCounterH\x02\x88\x01\x01\x12\x44\n\tdecrement\x18\x06 \x01(\x0b\x32,.openapi.PatternIntegerPatternIntegerCounterH\x03\x88\x01\x01\x1aV\n\x06\x43hoice\"L\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\t\n\x05value\x10\x02\x12\n\n\x06values\x10\x03\x12\r\n\tincrement\x10\x04\x12\r\n\tdecrement\x10\x05\x42\t\n\x07_choiceB\x08\n\x06_valueB\x0c\n\n_incrementB\x0c\n\n_decrement\"\xea\x02\n\x1ePatternChecksumPatternChecksum\x12H\n\x06\x63hoice\x18\x01 \x01(\x0e\x32\x33.openapi.PatternChecksumPatternChecksum.Choice.EnumH\x00\x88\x01\x01\x12N\n\tgenerated\x18\x02 \x01(\x0e\x32\x36.openapi.PatternChecksumPatternChecksum.Generated.EnumH\x01\x88\x01\x01\x12\x13\n\x06\x63ustom\x18\x03 \x01(\rH\x02\x88\x01\x01\x1a<\n\x06\x43hoice\"2\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\r\n\tgenerated\x10\x01\x12\n\n\x06\x63ustom\x10\x02\x1a\x37\n\tGenerated\"*\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x08\n\x04good\x10\x01\x12\x07\n\x03\x62\x61\x64\x10\x02\x42\t\n\x07_choiceB\x0c\n\n_generatedB\t\n\x07_custom\"\x91\x01\n\x07Version\x12\x1d\n\x10\x61pi_spec_version\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0bsdk_version\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0b\x61pp_version\x18\x03 \x01(\tH\x02\x88\x01\x01\x42\x13\n\x11_api_spec_versionB\x0e\n\x0c_sdk_versionB\x0e\n\x0c_app_version\"<\n\x08Warnings\x12\x30\n\x0fwarning_details\x18\x01 \x01(\x0b\x32\x17.openapi.WarningDetails\"@\n\x10SetConfigRequest\x12,\n\rprefix_config\x18\x01 \x01(\x0b\x32\x15.openapi.PrefixConfig\"J\n\x1aUpdateConfigurationRequest\x12,\n\rupdate_config\x18\x01 \x01(\x0b\x32\x15.openapi.UpdateConfig\"+\n\x11SetConfigResponse\x12\x16\n\x0eresponse_bytes\x18\x01 \x01(\x0c\"K\n\x1bUpdateConfigurationResponse\x12,\n\rprefix_config\x18\x01 \x01(\x0b\x32\x15.openapi.PrefixConfig\"A\n\x11GetConfigResponse\x12,\n\rprefix_config\x18\x01 \x01(\x0b\x32\x15.openapi.PrefixConfig\"E\n\x11GetMetricsRequest\x12\x30\n\x0fmetrics_request\x18\x01 \x01(\x0b\x32\x17.openapi.MetricsRequest\"7\n\x12GetMetricsResponse\x12!\n\x07metrics\x18\x01 \x01(\x0b\x32\x10.openapi.Metrics\"G\n\x13GetWarningsResponse\x12\x30\n\x0fwarning_details\x18\x01 \x01(\x0b\x32\x17.openapi.WarningDetails\"\'\n\x15\x43learWarningsResponse\x12\x0e\n\x06string\x18\x01 \x01(\t\"Q\n\x17PostRootResponseRequest\x12\x36\n\x13\x61pi_test_input_body\x18\x01 \x01(\x0b\x32\x19.openapi.ApiTestInputBody\"Z\n\x17GetRootResponseResponse\x12?\n\x17\x63ommon_response_success\x18\x01 \x01(\x0b\x32\x1e.openapi.CommonResponseSuccess\"+\n\x19\x44ummyResponseTestResponse\x12\x0e\n\x06string\x18\x01 \x01(\t\"[\n\x18PostRootResponseResponse\x12?\n\x17\x63ommon_response_success\x18\x01 \x01(\x0b\x32\x1e.openapi.CommonResponseSuccess\"Q\n\x13GetAllItemsResponse\x12:\n\x15service_abc_item_list\x18\x01 \x01(\x0b\x32\x1b.openapi.ServiceAbcItemList\"J\n\x15GetSingleItemResponse\x12\x31\n\x10service_abc_item\x18\x01 \x01(\x0b\x32\x17.openapi.ServiceAbcItem\"P\n\x1bGetSingleItemLevel2Response\x12\x31\n\x10service_abc_item\x18\x01 \x01(\x0b\x32\x17.openapi.ServiceAbcItem\"7\n\x12GetVersionResponse\x12!\n\x07version\x18\x01 \x01(\x0b\x32\x10.openapi.Version2\xe2\x07\n\x07Openapi\x12\x42\n\tSetConfig\x12\x19.openapi.SetConfigRequest\x1a\x1a.openapi.SetConfigResponse\x12`\n\x13UpdateConfiguration\x12#.openapi.UpdateConfigurationRequest\x1a$.openapi.UpdateConfigurationResponse\x12?\n\tGetConfig\x12\x16.google.protobuf.Empty\x1a\x1a.openapi.GetConfigResponse\x12\x45\n\nGetMetrics\x12\x1a.openapi.GetMetricsRequest\x1a\x1b.openapi.GetMetricsResponse\x12\x43\n\x0bGetWarnings\x12\x16.google.protobuf.Empty\x1a\x1c.openapi.GetWarningsResponse\x12G\n\rClearWarnings\x12\x16.google.protobuf.Empty\x1a\x1e.openapi.ClearWarningsResponse\x12K\n\x0fGetRootResponse\x12\x16.google.protobuf.Empty\x1a .openapi.GetRootResponseResponse\x12O\n\x11\x44ummyResponseTest\x12\x16.google.protobuf.Empty\x1a\".openapi.DummyResponseTestResponse\x12W\n\x10PostRootResponse\x12 .openapi.PostRootResponseRequest\x1a!.openapi.PostRootResponseResponse\x12\x43\n\x0bGetAllItems\x12\x16.google.protobuf.Empty\x1a\x1c.openapi.GetAllItemsResponse\x12G\n\rGetSingleItem\x12\x16.google.protobuf.Empty\x1a\x1e.openapi.GetSingleItemResponse\x12S\n\x13GetSingleItemLevel2\x12\x16.google.protobuf.Empty\x1a$.openapi.GetSingleItemLevel2Response\x12\x41\n\nGetVersion\x12\x16.google.protobuf.Empty\x1a\x1b.openapi.GetVersionResponseB\x13Z\x11./openapi;openapib\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\ropenapi.proto\x12\x07openapi\x1a google/protobuf/descriptor.proto\x1a\x1bgoogle/protobuf/empty.proto\"\x1e\n\x0c\x45rrorDetails\x12\x0e\n\x06\x65rrors\x18\x01 \x03(\t\"\"\n\x0eWarningDetails\x12\x10\n\x08warnings\x18\x01 \x03(\t\"\xb7\x01\n\x05\x45rror\x12\x11\n\x04\x63ode\x18\x01 \x01(\x05H\x00\x88\x01\x01\x12+\n\x04kind\x18\x02 \x01(\x0e\x32\x18.openapi.Error.Kind.EnumH\x01\x88\x01\x01\x12\x0e\n\x06\x65rrors\x18\x03 \x03(\t\x1aL\n\x04Kind\"D\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\r\n\ttransport\x10\x01\x12\x0e\n\nvalidation\x10\x02\x12\x0c\n\x08internal\x10\x03\x42\x07\n\x05_codeB\x07\n\x05_kind\"\xd0\x10\n\x0cPrefixConfig\x12)\n\x0frequired_object\x18\x01 \x01(\x0b\x32\x10.openapi.EObject\x12)\n\x0foptional_object\x18\x02 \x01(\x0b\x32\x10.openapi.EObject\x12\x1a\n\rieee_802_1qbb\x18\x03 \x01(\x08H\x00\x88\x01\x01\x12\x14\n\x07space_1\x18\x04 \x01(\x05H\x01\x88\x01\x01\x12\x1f\n\x12\x66ull_duplex_100_mb\x18\x05 \x01(\x03H\x02\x88\x01\x01\x12:\n\x08response\x18\x06 \x01(\x0e\x32#.openapi.PrefixConfig.Response.EnumH\x03\x88\x01\x01\x12\x0e\n\x01\x61\x18\x07 \x01(\tH\x04\x88\x01\x01\x12\x0e\n\x01\x62\x18\x08 \x01(\x02H\x05\x88\x01\x01\x12\x0e\n\x01\x63\x18\t \x01(\x05H\x06\x88\x01\x01\x12\x34\n\x08\x64_values\x18\n \x03(\x0e\x32\".openapi.PrefixConfig.DValues.Enum\x12\x1b\n\x01\x65\x18\x0b \x01(\x0b\x32\x10.openapi.EObject\x12\x1b\n\x01\x66\x18\x0c \x01(\x0b\x32\x10.openapi.FObject\x12\x1b\n\x01g\x18\r \x03(\x0b\x32\x10.openapi.GObject\x12\x0e\n\x01h\x18\x0e \x01(\x08H\x07\x88\x01\x01\x12\x0e\n\x01i\x18\x0f \x01(\x0cH\x08\x88\x01\x01\x12\x1b\n\x01j\x18\x10 \x03(\x0b\x32\x10.openapi.JObject\x12\x1b\n\x01k\x18\x11 \x01(\x0b\x32\x10.openapi.KObject\x12\x1b\n\x01l\x18\x12 \x01(\x0b\x32\x10.openapi.LObject\x12\x1d\n\x15list_of_string_values\x18\x13 \x03(\t\x12\x1e\n\x16list_of_integer_values\x18\x14 \x03(\x05\x12 \n\x05level\x18\x15 \x01(\x0b\x32\x11.openapi.LevelOne\x12#\n\tmandatory\x18\x16 \x01(\x0b\x32\x10.openapi.Mandate\x12*\n\x0cipv4_pattern\x18\x17 \x01(\x0b\x32\x14.openapi.Ipv4Pattern\x12*\n\x0cipv6_pattern\x18\x18 \x01(\x0b\x32\x14.openapi.Ipv6Pattern\x12(\n\x0bmac_pattern\x18\x19 \x01(\x0b\x32\x13.openapi.MacPattern\x12\x30\n\x0finteger_pattern\x18\x1a \x01(\x0b\x32\x17.openapi.IntegerPattern\x12\x32\n\x10\x63hecksum_pattern\x18\x1b \x01(\x0b\x32\x18.openapi.ChecksumPattern\x12%\n\x04\x63\x61se\x18\x1c \x01(\x0b\x32\x17.openapi.Layer1Ieee802x\x12\"\n\x08m_object\x18\x1d \x01(\x0b\x32\x10.openapi.MObject\x12\x16\n\tinteger64\x18\x1e \x01(\x03H\t\x88\x01\x01\x12\x16\n\x0einteger64_list\x18\x1f \x03(\x03\x12\x43\n\x0fheader_checksum\x18 \x01(\x0b\x32*.openapi.PatternPrefixConfigHeaderChecksum\x12\x14\n\x07str_len\x18! \x01(\tH\n\x88\x01\x01\x12\x11\n\thex_slice\x18\" \x03(\t\x12\x42\n\x0f\x61uto_field_test\x18# \x01(\x0b\x32).openapi.PatternPrefixConfigAutoFieldTest\x12\x11\n\x04name\x18$ \x01(\tH\x0b\x88\x01\x01\x12 \n\x06w_list\x18% \x03(\x0b\x32\x10.openapi.WObject\x12 \n\x06x_list\x18& \x03(\x0b\x32\x10.openapi.ZObject\x12\"\n\x08z_object\x18\' \x01(\x0b\x32\x10.openapi.ZObject\x12\"\n\x08y_object\x18( \x01(\x0b\x32\x10.openapi.YObject\x12,\n\rchoice_object\x18) \x03(\x0b\x32\x15.openapi.ChoiceObject\x12=\n\x16required_choice_object\x18* \x01(\x0b\x32\x1d.openapi.RequiredChoiceParent\x12\x1c\n\x02g1\x18+ \x03(\x0b\x32\x10.openapi.GObject\x12\x1c\n\x02g2\x18, \x03(\x0b\x32\x10.openapi.GObject\x12\x18\n\x0bint32_param\x18- \x01(\x05H\x0c\x88\x01\x01\x12\x18\n\x10int32_list_param\x18. \x03(\x05\x12\x19\n\x0cuint32_param\x18/ \x01(\rH\r\x88\x01\x01\x12\x19\n\x11uint32_list_param\x18\x30 \x03(\r\x12\x19\n\x0cuint64_param\x18\x31 \x01(\x04H\x0e\x88\x01\x01\x12\x19\n\x11uint64_list_param\x18\x32 \x03(\x04\x12\x1d\n\x10\x61uto_int32_param\x18\x33 \x01(\x05H\x0f\x88\x01\x01\x12\x1d\n\x15\x61uto_int32_list_param\x18\x34 \x03(\x05\x1a\x63\n\x08Response\"W\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x0e\n\nstatus_200\x10\x01\x12\x0e\n\nstatus_400\x10\x02\x12\x0e\n\nstatus_404\x10\x03\x12\x0e\n\nstatus_500\x10\x04\x1a\x37\n\x07\x44Values\",\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x05\n\x01\x61\x10\x01\x12\x05\n\x01\x62\x10\x02\x12\x05\n\x01\x63\x10\x03\x42\x10\n\x0e_ieee_802_1qbbB\n\n\x08_space_1B\x15\n\x13_full_duplex_100_mbB\x0b\n\t_responseB\x04\n\x02_aB\x04\n\x02_bB\x04\n\x02_cB\x04\n\x02_hB\x04\n\x02_iB\x0c\n\n_integer64B\n\n\x08_str_lenB\x07\n\x05_nameB\x0e\n\x0c_int32_paramB\x0f\n\r_uint32_paramB\x0f\n\r_uint64_paramB\x13\n\x11_auto_int32_param\")\n\x07WObject\x12\x13\n\x06w_name\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_w_name\"%\n\x07ZObject\x12\x11\n\x04name\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x07\n\x05_name\")\n\x07YObject\x12\x13\n\x06y_name\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_y_name\"<\n\x0eLayer1Ieee802x\x12\x19\n\x0c\x66low_control\x18\x01 \x01(\x08H\x00\x88\x01\x01\x42\x0f\n\r_flow_control\"\x82\x03\n\x07GObject\x12\x10\n\x03g_a\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x10\n\x03g_b\x18\x02 \x01(\x05H\x01\x88\x01\x01\x12\x10\n\x03g_c\x18\x03 \x01(\x02H\x02\x88\x01\x01\x12\x31\n\x06\x63hoice\x18\x04 \x01(\x0e\x32\x1c.openapi.GObject.Choice.EnumH\x03\x88\x01\x01\x12\x10\n\x03g_d\x18\x05 \x01(\tH\x04\x88\x01\x01\x12\x10\n\x03g_e\x18\x06 \x01(\x01H\x05\x88\x01\x01\x12*\n\x03g_f\x18\x07 \x01(\x0e\x32\x18.openapi.GObject.GF.EnumH\x06\x88\x01\x01\x12\x11\n\x04name\x18\x08 \x01(\tH\x07\x88\x01\x01\x1a\x33\n\x06\x43hoice\")\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x07\n\x03g_d\x10\x01\x12\x07\n\x03g_e\x10\x02\x1a\x32\n\x02GF\",\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x05\n\x01\x61\x10\x01\x12\x05\n\x01\x62\x10\x02\x12\x05\n\x01\x63\x10\x03\x42\x06\n\x04_g_aB\x06\n\x04_g_bB\x06\n\x04_g_cB\t\n\x07_choiceB\x06\n\x04_g_dB\x06\n\x04_g_eB\x06\n\x04_g_fB\x07\n\x05_name\"\xa1\x01\n\x07\x45Object\x12\x10\n\x03\x65_a\x18\x01 \x01(\x02H\x00\x88\x01\x01\x12\x10\n\x03\x65_b\x18\x02 \x01(\x01H\x01\x88\x01\x01\x12\x11\n\x04name\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x15\n\x08m_param1\x18\x04 \x01(\tH\x03\x88\x01\x01\x12\x15\n\x08m_param2\x18\x05 \x01(\tH\x04\x88\x01\x01\x42\x06\n\x04_e_aB\x06\n\x04_e_bB\x07\n\x05_nameB\x0b\n\t_m_param1B\x0b\n\t_m_param2\"\xb9\x01\n\x07\x46Object\x12\x31\n\x06\x63hoice\x18\x01 \x01(\x0e\x32\x1c.openapi.FObject.Choice.EnumH\x00\x88\x01\x01\x12\x10\n\x03\x66_a\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x10\n\x03\x66_b\x18\x03 \x01(\x01H\x02\x88\x01\x01\x1a<\n\x06\x43hoice\"2\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x07\n\x03\x66_a\x10\x01\x12\x07\n\x03\x66_b\x10\x02\x12\x07\n\x03\x66_c\x10\x03\x42\t\n\x07_choiceB\x06\n\x04_f_aB\x06\n\x04_f_b\"\xba\x01\n\x07JObject\x12\x31\n\x06\x63hoice\x18\x01 \x01(\x0e\x32\x1c.openapi.JObject.Choice.EnumH\x00\x88\x01\x01\x12\x1d\n\x03j_a\x18\x02 \x01(\x0b\x32\x10.openapi.EObject\x12\x1d\n\x03j_b\x18\x03 \x01(\x0b\x32\x10.openapi.FObject\x1a\x33\n\x06\x43hoice\")\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x07\n\x03j_a\x10\x01\x12\x07\n\x03j_b\x10\x02\x42\t\n\x07_choice\"\xd8\x01\n\x0c\x43hoiceObject\x12\x36\n\x06\x63hoice\x18\x01 \x01(\x0e\x32!.openapi.ChoiceObject.Choice.EnumH\x00\x88\x01\x01\x12\x1f\n\x05\x65_obj\x18\x02 \x01(\x0b\x32\x10.openapi.EObject\x12\x1f\n\x05\x66_obj\x18\x03 \x01(\x0b\x32\x10.openapi.FObject\x1a\x43\n\x06\x43hoice\"9\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\t\n\x05\x65_obj\x10\x01\x12\t\n\x05\x66_obj\x10\x02\x12\n\n\x06no_obj\x10\x03\x42\t\n\x07_choice\"Q\n\x07KObject\x12\"\n\x08\x65_object\x18\x01 \x01(\x0b\x32\x10.openapi.EObject\x12\"\n\x08\x66_object\x18\x02 \x01(\x0b\x32\x10.openapi.FObject\"\x81\x02\n\x07LObject\x12\x19\n\x0cstring_param\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x07integer\x18\x02 \x01(\x05H\x01\x88\x01\x01\x12\x12\n\x05\x66loat\x18\x03 \x01(\x02H\x02\x88\x01\x01\x12\x13\n\x06\x64ouble\x18\x04 \x01(\x01H\x03\x88\x01\x01\x12\x10\n\x03mac\x18\x05 \x01(\tH\x04\x88\x01\x01\x12\x11\n\x04ipv4\x18\x06 \x01(\tH\x05\x88\x01\x01\x12\x11\n\x04ipv6\x18\x07 \x01(\tH\x06\x88\x01\x01\x12\x10\n\x03hex\x18\x08 \x01(\tH\x07\x88\x01\x01\x42\x0f\n\r_string_paramB\n\n\x08_integerB\x08\n\x06_floatB\t\n\x07_doubleB\x06\n\x04_macB\x07\n\x05_ipv4B\x07\n\x05_ipv6B\x06\n\x04_hex\"\x81\x02\n\x07MObject\x12\x19\n\x0cstring_param\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x07integer\x18\x02 \x01(\x05H\x01\x88\x01\x01\x12\x12\n\x05\x66loat\x18\x03 \x01(\x02H\x02\x88\x01\x01\x12\x13\n\x06\x64ouble\x18\x04 \x01(\x01H\x03\x88\x01\x01\x12\x10\n\x03mac\x18\x05 \x01(\tH\x04\x88\x01\x01\x12\x11\n\x04ipv4\x18\x06 \x01(\tH\x05\x88\x01\x01\x12\x11\n\x04ipv6\x18\x07 \x01(\tH\x06\x88\x01\x01\x12\x10\n\x03hex\x18\x08 \x01(\tH\x07\x88\x01\x01\x42\x0f\n\r_string_paramB\n\n\x08_integerB\x08\n\x06_floatB\t\n\x07_doubleB\x06\n\x04_macB\x07\n\x05_ipv4B\x07\n\x05_ipv6B\x06\n\x04_hex\"9\n\x07Mandate\x12\x1b\n\x0erequired_param\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x11\n\x0f_required_param\"+\n\x0cUpdateConfig\x12\x1b\n\x01g\x18\x01 \x03(\x0b\x32\x10.openapi.GObject\"\xc4\x01\n\x0eMetricsRequest\x12\x38\n\x06\x63hoice\x18\x01 \x01(\x0e\x32#.openapi.MetricsRequest.Choice.EnumH\x00\x88\x01\x01\x12\x11\n\x04port\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04\x66low\x18\x03 \x01(\tH\x02\x88\x01\x01\x1a\x35\n\x06\x43hoice\"+\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x08\n\x04port\x10\x01\x12\x08\n\x04\x66low\x10\x02\x42\t\n\x07_choiceB\x07\n\x05_portB\x07\n\x05_flow\"\xc8\x01\n\x07Metrics\x12\x31\n\x06\x63hoice\x18\x01 \x01(\x0e\x32\x1c.openapi.Metrics.Choice.EnumH\x00\x88\x01\x01\x12\"\n\x05ports\x18\x02 \x03(\x0b\x32\x13.openapi.PortMetric\x12\"\n\x05\x66lows\x18\x03 \x03(\x0b\x32\x13.openapi.FlowMetric\x1a\x37\n\x06\x43hoice\"-\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\t\n\x05ports\x10\x01\x12\t\n\x05\x66lows\x10\x02\x42\t\n\x07_choice\"t\n\nPortMetric\x12\x11\n\x04name\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x16\n\ttx_frames\x18\x02 \x01(\x01H\x01\x88\x01\x01\x12\x16\n\trx_frames\x18\x03 \x01(\x01H\x02\x88\x01\x01\x42\x07\n\x05_nameB\x0c\n\n_tx_framesB\x0c\n\n_rx_frames\"t\n\nFlowMetric\x12\x11\n\x04name\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x16\n\ttx_frames\x18\x02 \x01(\x01H\x01\x88\x01\x01\x12\x16\n\trx_frames\x18\x03 \x01(\x01H\x02\x88\x01\x01\x42\x07\n\x05_nameB\x0c\n\n_tx_framesB\x0c\n\n_rx_frames\"\xe5\x01\n\x14RequiredChoiceParent\x12>\n\x06\x63hoice\x18\x01 \x01(\x0e\x32).openapi.RequiredChoiceParent.Choice.EnumH\x00\x88\x01\x01\x12=\n\x10intermediate_obj\x18\x02 \x01(\x0b\x32#.openapi.RequiredChoiceIntermediate\x1a\x43\n\x06\x43hoice\"9\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x14\n\x10intermediate_obj\x10\x01\x12\n\n\x06no_obj\x10\x02\x42\t\n\x07_choice\"\xef\x01\n\x1aRequiredChoiceIntermediate\x12\x44\n\x06\x63hoice\x18\x01 \x01(\x0e\x32/.openapi.RequiredChoiceIntermediate.Choice.EnumH\x00\x88\x01\x01\x12\x10\n\x03\x66_a\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x30\n\x04leaf\x18\x03 \x01(\x0b\x32\".openapi.RequiredChoiceIntermeLeaf\x1a\x34\n\x06\x43hoice\"*\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x07\n\x03\x66_a\x10\x01\x12\x08\n\x04leaf\x10\x02\x42\t\n\x07_choiceB\x06\n\x04_f_a\"7\n\x19RequiredChoiceIntermeLeaf\x12\x11\n\x04name\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x07\n\x05_name\"O\n\x08LevelOne\x12 \n\x05l1_p1\x18\x01 \x01(\x0b\x32\x11.openapi.LevelTwo\x12!\n\x05l1_p2\x18\x02 \x01(\x0b\x32\x12.openapi.LevelFour\".\n\x08LevelTwo\x12\"\n\x05l2_p1\x18\x01 \x01(\x0b\x32\x13.openapi.LevelThree\"*\n\nLevelThree\x12\x12\n\x05l3_p1\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_l3_p1\"-\n\tLevelFour\x12 \n\x05l4_p1\x18\x01 \x01(\x0b\x32\x11.openapi.LevelOne\"<\n\x0bIpv4Pattern\x12-\n\x04ipv4\x18\x01 \x01(\x0b\x32\x1f.openapi.PatternIpv4PatternIpv4\"<\n\x0bIpv6Pattern\x12-\n\x04ipv6\x18\x01 \x01(\x0b\x32\x1f.openapi.PatternIpv6PatternIpv6\"8\n\nMacPattern\x12*\n\x03mac\x18\x01 \x01(\x0b\x32\x1d.openapi.PatternMacPatternMac\"H\n\x0eIntegerPattern\x12\x36\n\x07integer\x18\x01 \x01(\x0b\x32%.openapi.PatternIntegerPatternInteger\"L\n\x0f\x43hecksumPattern\x12\x39\n\x08\x63hecksum\x18\x01 \x01(\x0b\x32\'.openapi.PatternChecksumPatternChecksum\"9\n\x15\x43ommonResponseSuccess\x12\x14\n\x07message\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\n\n\x08_message\"<\n\x10\x41piTestInputBody\x12\x18\n\x0bsome_string\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_some_string\"\xa0\x01\n\x0eServiceAbcItem\x12\x14\n\x07some_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0bsome_string\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x14\n\x07path_id\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x14\n\x07level_2\x18\x04 \x01(\tH\x03\x88\x01\x01\x42\n\n\x08_some_idB\x0e\n\x0c_some_stringB\n\n\x08_path_idB\n\n\x08_level_2\"<\n\x12ServiceAbcItemList\x12&\n\x05items\x18\x01 \x03(\x0b\x32\x17.openapi.ServiceAbcItem\"\xf3\x02\n!PatternPrefixConfigHeaderChecksum\x12K\n\x06\x63hoice\x18\x01 \x01(\x0e\x32\x36.openapi.PatternPrefixConfigHeaderChecksum.Choice.EnumH\x00\x88\x01\x01\x12Q\n\tgenerated\x18\x02 \x01(\x0e\x32\x39.openapi.PatternPrefixConfigHeaderChecksum.Generated.EnumH\x01\x88\x01\x01\x12\x13\n\x06\x63ustom\x18\x03 \x01(\rH\x02\x88\x01\x01\x1a<\n\x06\x43hoice\"2\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\r\n\tgenerated\x10\x01\x12\n\n\x06\x63ustom\x10\x02\x1a\x37\n\tGenerated\"*\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x08\n\x04good\x10\x01\x12\x07\n\x03\x62\x61\x64\x10\x02\x42\t\n\x07_choiceB\x0c\n\n_generatedB\t\n\x07_custom\"\x81\x01\n\'PatternPrefixConfigAutoFieldTestCounter\x12\x12\n\x05start\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x11\n\x04step\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\x08\n\x06_startB\x07\n\x05_stepB\x08\n\x06_count\"\xaf\x03\n PatternPrefixConfigAutoFieldTest\x12J\n\x06\x63hoice\x18\x01 \x01(\x0e\x32\x35.openapi.PatternPrefixConfigAutoFieldTest.Choice.EnumH\x00\x88\x01\x01\x12\x12\n\x05value\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x0e\n\x06values\x18\x03 \x03(\r\x12\x11\n\x04\x61uto\x18\x04 \x01(\rH\x02\x88\x01\x01\x12\x43\n\tincrement\x18\x06 \x01(\x0b\x32\x30.openapi.PatternPrefixConfigAutoFieldTestCounter\x12\x43\n\tdecrement\x18\x07 \x01(\x0b\x32\x30.openapi.PatternPrefixConfigAutoFieldTestCounter\x1a`\n\x06\x43hoice\"V\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\t\n\x05value\x10\x02\x12\n\n\x06values\x10\x03\x12\x08\n\x04\x61uto\x10\x01\x12\r\n\tincrement\x10\x04\x12\r\n\tdecrement\x10\x05\x42\t\n\x07_choiceB\x08\n\x06_valueB\x07\n\x05_auto\"w\n\x1dPatternIpv4PatternIpv4Counter\x12\x12\n\x05start\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04step\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\x08\n\x06_startB\x07\n\x05_stepB\x08\n\x06_count\"\xe1\x02\n\x16PatternIpv4PatternIpv4\x12@\n\x06\x63hoice\x18\x01 \x01(\x0e\x32+.openapi.PatternIpv4PatternIpv4.Choice.EnumH\x00\x88\x01\x01\x12\x12\n\x05value\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x0e\n\x06values\x18\x03 \x03(\t\x12\x39\n\tincrement\x18\x05 \x01(\x0b\x32&.openapi.PatternIpv4PatternIpv4Counter\x12\x39\n\tdecrement\x18\x06 \x01(\x0b\x32&.openapi.PatternIpv4PatternIpv4Counter\x1aV\n\x06\x43hoice\"L\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\t\n\x05value\x10\x02\x12\n\n\x06values\x10\x03\x12\r\n\tincrement\x10\x04\x12\r\n\tdecrement\x10\x05\x42\t\n\x07_choiceB\x08\n\x06_value\"w\n\x1dPatternIpv6PatternIpv6Counter\x12\x12\n\x05start\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04step\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\x08\n\x06_startB\x07\n\x05_stepB\x08\n\x06_count\"\xe1\x02\n\x16PatternIpv6PatternIpv6\x12@\n\x06\x63hoice\x18\x01 \x01(\x0e\x32+.openapi.PatternIpv6PatternIpv6.Choice.EnumH\x00\x88\x01\x01\x12\x12\n\x05value\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x0e\n\x06values\x18\x03 \x03(\t\x12\x39\n\tincrement\x18\x05 \x01(\x0b\x32&.openapi.PatternIpv6PatternIpv6Counter\x12\x39\n\tdecrement\x18\x06 \x01(\x0b\x32&.openapi.PatternIpv6PatternIpv6Counter\x1aV\n\x06\x43hoice\"L\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\t\n\x05value\x10\x02\x12\n\n\x06values\x10\x03\x12\r\n\tincrement\x10\x04\x12\r\n\tdecrement\x10\x05\x42\t\n\x07_choiceB\x08\n\x06_value\"u\n\x1bPatternMacPatternMacCounter\x12\x12\n\x05start\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04step\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\x08\n\x06_startB\x07\n\x05_stepB\x08\n\x06_count\"\xff\x02\n\x14PatternMacPatternMac\x12>\n\x06\x63hoice\x18\x01 \x01(\x0e\x32).openapi.PatternMacPatternMac.Choice.EnumH\x00\x88\x01\x01\x12\x12\n\x05value\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x0e\n\x06values\x18\x03 \x03(\t\x12\x11\n\x04\x61uto\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x37\n\tincrement\x18\x06 \x01(\x0b\x32$.openapi.PatternMacPatternMacCounter\x12\x37\n\tdecrement\x18\x07 \x01(\x0b\x32$.openapi.PatternMacPatternMacCounter\x1a`\n\x06\x43hoice\"V\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\t\n\x05value\x10\x02\x12\n\n\x06values\x10\x03\x12\x08\n\x04\x61uto\x10\x01\x12\r\n\tincrement\x10\x04\x12\r\n\tdecrement\x10\x05\x42\t\n\x07_choiceB\x08\n\x06_valueB\x07\n\x05_auto\"}\n#PatternIntegerPatternIntegerCounter\x12\x12\n\x05start\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x11\n\x04step\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\x08\n\x06_startB\x07\n\x05_stepB\x08\n\x06_count\"\xf9\x02\n\x1cPatternIntegerPatternInteger\x12\x46\n\x06\x63hoice\x18\x01 \x01(\x0e\x32\x31.openapi.PatternIntegerPatternInteger.Choice.EnumH\x00\x88\x01\x01\x12\x12\n\x05value\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x0e\n\x06values\x18\x03 \x03(\r\x12?\n\tincrement\x18\x05 \x01(\x0b\x32,.openapi.PatternIntegerPatternIntegerCounter\x12?\n\tdecrement\x18\x06 \x01(\x0b\x32,.openapi.PatternIntegerPatternIntegerCounter\x1aV\n\x06\x43hoice\"L\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\t\n\x05value\x10\x02\x12\n\n\x06values\x10\x03\x12\r\n\tincrement\x10\x04\x12\r\n\tdecrement\x10\x05\x42\t\n\x07_choiceB\x08\n\x06_value\"\xea\x02\n\x1ePatternChecksumPatternChecksum\x12H\n\x06\x63hoice\x18\x01 \x01(\x0e\x32\x33.openapi.PatternChecksumPatternChecksum.Choice.EnumH\x00\x88\x01\x01\x12N\n\tgenerated\x18\x02 \x01(\x0e\x32\x36.openapi.PatternChecksumPatternChecksum.Generated.EnumH\x01\x88\x01\x01\x12\x13\n\x06\x63ustom\x18\x03 \x01(\rH\x02\x88\x01\x01\x1a<\n\x06\x43hoice\"2\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\r\n\tgenerated\x10\x01\x12\n\n\x06\x63ustom\x10\x02\x1a\x37\n\tGenerated\"*\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x08\n\x04good\x10\x01\x12\x07\n\x03\x62\x61\x64\x10\x02\x42\t\n\x07_choiceB\x0c\n\n_generatedB\t\n\x07_custom\"\x91\x01\n\x07Version\x12\x1d\n\x10\x61pi_spec_version\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0bsdk_version\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0b\x61pp_version\x18\x03 \x01(\tH\x02\x88\x01\x01\x42\x13\n\x11_api_spec_versionB\x0e\n\x0c_sdk_versionB\x0e\n\x0c_app_version\"<\n\x08Warnings\x12\x30\n\x0fwarning_details\x18\x01 \x01(\x0b\x32\x17.openapi.WarningDetails\"@\n\x10SetConfigRequest\x12,\n\rprefix_config\x18\x01 \x01(\x0b\x32\x15.openapi.PrefixConfig\"J\n\x1aUpdateConfigurationRequest\x12,\n\rupdate_config\x18\x01 \x01(\x0b\x32\x15.openapi.UpdateConfig\"+\n\x11SetConfigResponse\x12\x16\n\x0eresponse_bytes\x18\x01 \x01(\x0c\"K\n\x1bUpdateConfigurationResponse\x12,\n\rprefix_config\x18\x01 \x01(\x0b\x32\x15.openapi.PrefixConfig\"A\n\x11GetConfigResponse\x12,\n\rprefix_config\x18\x01 \x01(\x0b\x32\x15.openapi.PrefixConfig\"E\n\x11GetMetricsRequest\x12\x30\n\x0fmetrics_request\x18\x01 \x01(\x0b\x32\x17.openapi.MetricsRequest\"7\n\x12GetMetricsResponse\x12!\n\x07metrics\x18\x01 \x01(\x0b\x32\x10.openapi.Metrics\"G\n\x13GetWarningsResponse\x12\x30\n\x0fwarning_details\x18\x01 \x01(\x0b\x32\x17.openapi.WarningDetails\"\'\n\x15\x43learWarningsResponse\x12\x0e\n\x06string\x18\x01 \x01(\t\"Q\n\x17PostRootResponseRequest\x12\x36\n\x13\x61pi_test_input_body\x18\x01 \x01(\x0b\x32\x19.openapi.ApiTestInputBody\"Z\n\x17GetRootResponseResponse\x12?\n\x17\x63ommon_response_success\x18\x01 \x01(\x0b\x32\x1e.openapi.CommonResponseSuccess\"+\n\x19\x44ummyResponseTestResponse\x12\x0e\n\x06string\x18\x01 \x01(\t\"[\n\x18PostRootResponseResponse\x12?\n\x17\x63ommon_response_success\x18\x01 \x01(\x0b\x32\x1e.openapi.CommonResponseSuccess\"Q\n\x13GetAllItemsResponse\x12:\n\x15service_abc_item_list\x18\x01 \x01(\x0b\x32\x1b.openapi.ServiceAbcItemList\"J\n\x15GetSingleItemResponse\x12\x31\n\x10service_abc_item\x18\x01 \x01(\x0b\x32\x17.openapi.ServiceAbcItem\"P\n\x1bGetSingleItemLevel2Response\x12\x31\n\x10service_abc_item\x18\x01 \x01(\x0b\x32\x17.openapi.ServiceAbcItem\"7\n\x12GetVersionResponse\x12!\n\x07version\x18\x01 \x01(\x0b\x32\x10.openapi.Version2\xe2\x07\n\x07Openapi\x12\x42\n\tSetConfig\x12\x19.openapi.SetConfigRequest\x1a\x1a.openapi.SetConfigResponse\x12`\n\x13UpdateConfiguration\x12#.openapi.UpdateConfigurationRequest\x1a$.openapi.UpdateConfigurationResponse\x12?\n\tGetConfig\x12\x16.google.protobuf.Empty\x1a\x1a.openapi.GetConfigResponse\x12\x45\n\nGetMetrics\x12\x1a.openapi.GetMetricsRequest\x1a\x1b.openapi.GetMetricsResponse\x12\x43\n\x0bGetWarnings\x12\x16.google.protobuf.Empty\x1a\x1c.openapi.GetWarningsResponse\x12G\n\rClearWarnings\x12\x16.google.protobuf.Empty\x1a\x1e.openapi.ClearWarningsResponse\x12K\n\x0fGetRootResponse\x12\x16.google.protobuf.Empty\x1a .openapi.GetRootResponseResponse\x12O\n\x11\x44ummyResponseTest\x12\x16.google.protobuf.Empty\x1a\".openapi.DummyResponseTestResponse\x12W\n\x10PostRootResponse\x12 .openapi.PostRootResponseRequest\x1a!.openapi.PostRootResponseResponse\x12\x43\n\x0bGetAllItems\x12\x16.google.protobuf.Empty\x1a\x1c.openapi.GetAllItemsResponse\x12G\n\rGetSingleItem\x12\x16.google.protobuf.Empty\x1a\x1e.openapi.GetSingleItemResponse\x12S\n\x13GetSingleItemLevel2\x12\x16.google.protobuf.Empty\x1a$.openapi.GetSingleItemLevel2Response\x12\x41\n\nGetVersion\x12\x16.google.protobuf.Empty\x1a\x1b.openapi.GetVersionResponseB\x13Z\x11./openapi;openapib\x06proto3') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'openapi_pb2', globals()) @@ -28,223 +28,223 @@ _WARNINGDETAILS._serialized_start=121 _WARNINGDETAILS._serialized_end=155 _ERROR._serialized_start=158 - _ERROR._serialized_end=327 - _ERROR_KIND._serialized_start=242 - _ERROR_KIND._serialized_end=318 - _ERROR_KIND_ENUM._serialized_start=250 - _ERROR_KIND_ENUM._serialized_end=318 - _PREFIXCONFIG._serialized_start=330 - _PREFIXCONFIG._serialized_end=2794 - _PREFIXCONFIG_RESPONSE._serialized_start=2180 - _PREFIXCONFIG_RESPONSE._serialized_end=2279 - _PREFIXCONFIG_RESPONSE_ENUM._serialized_start=2192 - _PREFIXCONFIG_RESPONSE_ENUM._serialized_end=2279 - _PREFIXCONFIG_DVALUES._serialized_start=2281 - _PREFIXCONFIG_DVALUES._serialized_end=2336 - _PREFIXCONFIG_DVALUES_ENUM._serialized_start=2292 - _PREFIXCONFIG_DVALUES_ENUM._serialized_end=2336 - _WOBJECT._serialized_start=2796 - _WOBJECT._serialized_end=2821 - _ZOBJECT._serialized_start=2823 - _ZOBJECT._serialized_end=2846 - _YOBJECT._serialized_start=2848 - _YOBJECT._serialized_end=2889 - _LAYER1IEEE802X._serialized_start=2891 - _LAYER1IEEE802X._serialized_end=2951 - _GOBJECT._serialized_start=2954 - _GOBJECT._serialized_end=3340 - _GOBJECT_CHOICE._serialized_start=3169 - _GOBJECT_CHOICE._serialized_end=3220 - _GOBJECT_CHOICE_ENUM._serialized_start=3179 - _GOBJECT_CHOICE_ENUM._serialized_end=3220 - _GOBJECT_GF._serialized_start=3222 - _GOBJECT_GF._serialized_end=3272 - _GOBJECT_GF_ENUM._serialized_start=2292 - _GOBJECT_GF_ENUM._serialized_end=2336 - _EOBJECT._serialized_start=3343 - _EOBJECT._serialized_end=3478 - _FOBJECT._serialized_start=3481 - _FOBJECT._serialized_end=3666 - _FOBJECT_CHOICE._serialized_start=3579 - _FOBJECT_CHOICE._serialized_end=3639 - _FOBJECT_CHOICE_ENUM._serialized_start=3589 - _FOBJECT_CHOICE_ENUM._serialized_end=3639 - _JOBJECT._serialized_start=3669 - _JOBJECT._serialized_end=3881 - _JOBJECT_CHOICE._serialized_start=3803 - _JOBJECT_CHOICE._serialized_end=3854 - _JOBJECT_CHOICE_ENUM._serialized_start=3813 - _JOBJECT_CHOICE_ENUM._serialized_end=3854 - _CHOICEOBJECT._serialized_start=3884 - _CHOICEOBJECT._serialized_end=4130 - _CHOICEOBJECT_CHOICE._serialized_start=4032 - _CHOICEOBJECT_CHOICE._serialized_end=4099 - _CHOICEOBJECT_CHOICE_ENUM._serialized_start=4042 - _CHOICEOBJECT_CHOICE_ENUM._serialized_end=4099 - _KOBJECT._serialized_start=4132 - _KOBJECT._serialized_end=4249 - _LOBJECT._serialized_start=4252 - _LOBJECT._serialized_end=4509 - _MOBJECT._serialized_start=4512 - _MOBJECT._serialized_end=4645 - _MANDATE._serialized_start=4647 - _MANDATE._serialized_end=4680 - _UPDATECONFIG._serialized_start=4682 - _UPDATECONFIG._serialized_end=4725 - _METRICSREQUEST._serialized_start=4728 - _METRICSREQUEST._serialized_end=4924 - _METRICSREQUEST_CHOICE._serialized_start=4842 - _METRICSREQUEST_CHOICE._serialized_end=4895 - _METRICSREQUEST_CHOICE_ENUM._serialized_start=4852 - _METRICSREQUEST_CHOICE_ENUM._serialized_end=4895 - _METRICS._serialized_start=4927 - _METRICS._serialized_end=5127 - _METRICS_CHOICE._serialized_start=5061 - _METRICS_CHOICE._serialized_end=5116 - _METRICS_CHOICE_ENUM._serialized_start=5071 - _METRICS_CHOICE_ENUM._serialized_end=5116 - _PORTMETRIC._serialized_start=5129 - _PORTMETRIC._serialized_end=5193 - _FLOWMETRIC._serialized_start=5195 - _FLOWMETRIC._serialized_end=5259 - _REQUIREDCHOICEPARENT._serialized_start=5262 - _REQUIREDCHOICEPARENT._serialized_end=5501 - _REQUIREDCHOICEPARENT_CHOICE._serialized_start=5413 - _REQUIREDCHOICEPARENT_CHOICE._serialized_end=5480 - _REQUIREDCHOICEPARENT_CHOICE_ENUM._serialized_start=5423 - _REQUIREDCHOICEPARENT_CHOICE_ENUM._serialized_end=5480 - _REQUIREDCHOICEINTERMEDIATE._serialized_start=5504 - _REQUIREDCHOICEINTERMEDIATE._serialized_end=5741 - _REQUIREDCHOICEINTERMEDIATE_CHOICE._serialized_start=5672 - _REQUIREDCHOICEINTERMEDIATE_CHOICE._serialized_end=5724 - _REQUIREDCHOICEINTERMEDIATE_CHOICE_ENUM._serialized_start=5682 - _REQUIREDCHOICEINTERMEDIATE_CHOICE_ENUM._serialized_end=5724 - _REQUIREDCHOICEINTERMELEAF._serialized_start=5743 - _REQUIREDCHOICEINTERMELEAF._serialized_end=5798 - _LEVELONE._serialized_start=5800 - _LEVELONE._serialized_end=5909 - _LEVELTWO._serialized_start=5911 - _LEVELTWO._serialized_end=5972 - _LEVELTHREE._serialized_start=5974 - _LEVELTHREE._serialized_end=6016 - _LEVELFOUR._serialized_start=6018 - _LEVELFOUR._serialized_end=6078 - _IPV4PATTERN._serialized_start=6080 - _IPV4PATTERN._serialized_end=6154 - _IPV6PATTERN._serialized_start=6156 - _IPV6PATTERN._serialized_end=6230 - _MACPATTERN._serialized_start=6232 - _MACPATTERN._serialized_end=6301 - _INTEGERPATTERN._serialized_start=6303 - _INTEGERPATTERN._serialized_end=6392 - _CHECKSUMPATTERN._serialized_start=6394 - _CHECKSUMPATTERN._serialized_end=6488 - _COMMONRESPONSESUCCESS._serialized_start=6490 - _COMMONRESPONSESUCCESS._serialized_end=6547 - _APITESTINPUTBODY._serialized_start=6549 - _APITESTINPUTBODY._serialized_end=6609 - _SERVICEABCITEM._serialized_start=6612 - _SERVICEABCITEM._serialized_end=6772 - _SERVICEABCITEMLIST._serialized_start=6774 - _SERVICEABCITEMLIST._serialized_end=6834 - _PATTERNPREFIXCONFIGHEADERCHECKSUM._serialized_start=6837 - _PATTERNPREFIXCONFIGHEADERCHECKSUM._serialized_end=7208 - _PATTERNPREFIXCONFIGHEADERCHECKSUM_CHOICE._serialized_start=7055 - _PATTERNPREFIXCONFIGHEADERCHECKSUM_CHOICE._serialized_end=7115 - _PATTERNPREFIXCONFIGHEADERCHECKSUM_CHOICE_ENUM._serialized_start=7065 - _PATTERNPREFIXCONFIGHEADERCHECKSUM_CHOICE_ENUM._serialized_end=7115 - _PATTERNPREFIXCONFIGHEADERCHECKSUM_GENERATED._serialized_start=7117 - _PATTERNPREFIXCONFIGHEADERCHECKSUM_GENERATED._serialized_end=7172 - _PATTERNPREFIXCONFIGHEADERCHECKSUM_GENERATED_ENUM._serialized_start=7130 - _PATTERNPREFIXCONFIGHEADERCHECKSUM_GENERATED_ENUM._serialized_end=7172 - _PATTERNPREFIXCONFIGAUTOFIELDTESTCOUNTER._serialized_start=7211 - _PATTERNPREFIXCONFIGAUTOFIELDTESTCOUNTER._serialized_end=7340 - _PATTERNPREFIXCONFIGAUTOFIELDTEST._serialized_start=7343 - _PATTERNPREFIXCONFIGAUTOFIELDTEST._serialized_end=7812 - _PATTERNPREFIXCONFIGAUTOFIELDTEST_CHOICE._serialized_start=7658 - _PATTERNPREFIXCONFIGAUTOFIELDTEST_CHOICE._serialized_end=7754 - _PATTERNPREFIXCONFIGAUTOFIELDTEST_CHOICE_ENUM._serialized_start=7668 - _PATTERNPREFIXCONFIGAUTOFIELDTEST_CHOICE_ENUM._serialized_end=7754 - _PATTERNIPV4PATTERNIPV4COUNTER._serialized_start=7814 - _PATTERNIPV4PATTERNIPV4COUNTER._serialized_end=7933 - _PATTERNIPV4PATTERNIPV4._serialized_start=7936 - _PATTERNIPV4PATTERNIPV4._serialized_end=8327 - _PATTERNIPV4PATTERNIPV4_CHOICE._serialized_start=8192 - _PATTERNIPV4PATTERNIPV4_CHOICE._serialized_end=8278 - _PATTERNIPV4PATTERNIPV4_CHOICE_ENUM._serialized_start=8202 - _PATTERNIPV4PATTERNIPV4_CHOICE_ENUM._serialized_end=8278 - _PATTERNIPV6PATTERNIPV6COUNTER._serialized_start=8329 - _PATTERNIPV6PATTERNIPV6COUNTER._serialized_end=8448 - _PATTERNIPV6PATTERNIPV6._serialized_start=8451 - _PATTERNIPV6PATTERNIPV6._serialized_end=8842 - _PATTERNIPV6PATTERNIPV6_CHOICE._serialized_start=8192 - _PATTERNIPV6PATTERNIPV6_CHOICE._serialized_end=8278 - _PATTERNIPV6PATTERNIPV6_CHOICE_ENUM._serialized_start=8202 - _PATTERNIPV6PATTERNIPV6_CHOICE_ENUM._serialized_end=8278 - _PATTERNMACPATTERNMACCOUNTER._serialized_start=8844 - _PATTERNMACPATTERNMACCOUNTER._serialized_end=8961 - _PATTERNMACPATTERNMAC._serialized_start=8964 - _PATTERNMACPATTERNMAC._serialized_end=9385 - _PATTERNMACPATTERNMAC_CHOICE._serialized_start=7658 - _PATTERNMACPATTERNMAC_CHOICE._serialized_end=7754 - _PATTERNMACPATTERNMAC_CHOICE_ENUM._serialized_start=7668 - _PATTERNMACPATTERNMAC_CHOICE_ENUM._serialized_end=7754 - _PATTERNINTEGERPATTERNINTEGERCOUNTER._serialized_start=9387 - _PATTERNINTEGERPATTERNINTEGERCOUNTER._serialized_end=9512 - _PATTERNINTEGERPATTERNINTEGER._serialized_start=9515 - _PATTERNINTEGERPATTERNINTEGER._serialized_end=9930 - _PATTERNINTEGERPATTERNINTEGER_CHOICE._serialized_start=8192 - _PATTERNINTEGERPATTERNINTEGER_CHOICE._serialized_end=8278 - _PATTERNINTEGERPATTERNINTEGER_CHOICE_ENUM._serialized_start=8202 - _PATTERNINTEGERPATTERNINTEGER_CHOICE_ENUM._serialized_end=8278 - _PATTERNCHECKSUMPATTERNCHECKSUM._serialized_start=9933 - _PATTERNCHECKSUMPATTERNCHECKSUM._serialized_end=10295 - _PATTERNCHECKSUMPATTERNCHECKSUM_CHOICE._serialized_start=7055 - _PATTERNCHECKSUMPATTERNCHECKSUM_CHOICE._serialized_end=7115 - _PATTERNCHECKSUMPATTERNCHECKSUM_CHOICE_ENUM._serialized_start=7065 - _PATTERNCHECKSUMPATTERNCHECKSUM_CHOICE_ENUM._serialized_end=7115 - _PATTERNCHECKSUMPATTERNCHECKSUM_GENERATED._serialized_start=7117 - _PATTERNCHECKSUMPATTERNCHECKSUM_GENERATED._serialized_end=7172 - _PATTERNCHECKSUMPATTERNCHECKSUM_GENERATED_ENUM._serialized_start=7130 - _PATTERNCHECKSUMPATTERNCHECKSUM_GENERATED_ENUM._serialized_end=7172 - _VERSION._serialized_start=10298 - _VERSION._serialized_end=10443 - _WARNINGS._serialized_start=10445 - _WARNINGS._serialized_end=10505 - _SETCONFIGREQUEST._serialized_start=10507 - _SETCONFIGREQUEST._serialized_end=10571 - _UPDATECONFIGURATIONREQUEST._serialized_start=10573 - _UPDATECONFIGURATIONREQUEST._serialized_end=10647 - _SETCONFIGRESPONSE._serialized_start=10649 - _SETCONFIGRESPONSE._serialized_end=10692 - _UPDATECONFIGURATIONRESPONSE._serialized_start=10694 - _UPDATECONFIGURATIONRESPONSE._serialized_end=10769 - _GETCONFIGRESPONSE._serialized_start=10771 - _GETCONFIGRESPONSE._serialized_end=10836 - _GETMETRICSREQUEST._serialized_start=10838 - _GETMETRICSREQUEST._serialized_end=10907 - _GETMETRICSRESPONSE._serialized_start=10909 - _GETMETRICSRESPONSE._serialized_end=10964 - _GETWARNINGSRESPONSE._serialized_start=10966 - _GETWARNINGSRESPONSE._serialized_end=11037 - _CLEARWARNINGSRESPONSE._serialized_start=11039 - _CLEARWARNINGSRESPONSE._serialized_end=11078 - _POSTROOTRESPONSEREQUEST._serialized_start=11080 - _POSTROOTRESPONSEREQUEST._serialized_end=11161 - _GETROOTRESPONSERESPONSE._serialized_start=11163 - _GETROOTRESPONSERESPONSE._serialized_end=11253 - _DUMMYRESPONSETESTRESPONSE._serialized_start=11255 - _DUMMYRESPONSETESTRESPONSE._serialized_end=11298 - _POSTROOTRESPONSERESPONSE._serialized_start=11300 - _POSTROOTRESPONSERESPONSE._serialized_end=11391 - _GETALLITEMSRESPONSE._serialized_start=11393 - _GETALLITEMSRESPONSE._serialized_end=11474 - _GETSINGLEITEMRESPONSE._serialized_start=11476 - _GETSINGLEITEMRESPONSE._serialized_end=11550 - _GETSINGLEITEMLEVEL2RESPONSE._serialized_start=11552 - _GETSINGLEITEMLEVEL2RESPONSE._serialized_end=11632 - _GETVERSIONRESPONSE._serialized_start=11634 - _GETVERSIONRESPONSE._serialized_end=11689 - _OPENAPI._serialized_start=11692 - _OPENAPI._serialized_end=12686 + _ERROR._serialized_end=341 + _ERROR_KIND._serialized_start=247 + _ERROR_KIND._serialized_end=323 + _ERROR_KIND_ENUM._serialized_start=255 + _ERROR_KIND_ENUM._serialized_end=323 + _PREFIXCONFIG._serialized_start=344 + _PREFIXCONFIG._serialized_end=2472 + _PREFIXCONFIG_RESPONSE._serialized_start=2114 + _PREFIXCONFIG_RESPONSE._serialized_end=2213 + _PREFIXCONFIG_RESPONSE_ENUM._serialized_start=2126 + _PREFIXCONFIG_RESPONSE_ENUM._serialized_end=2213 + _PREFIXCONFIG_DVALUES._serialized_start=2215 + _PREFIXCONFIG_DVALUES._serialized_end=2270 + _PREFIXCONFIG_DVALUES_ENUM._serialized_start=2226 + _PREFIXCONFIG_DVALUES_ENUM._serialized_end=2270 + _WOBJECT._serialized_start=2474 + _WOBJECT._serialized_end=2515 + _ZOBJECT._serialized_start=2517 + _ZOBJECT._serialized_end=2554 + _YOBJECT._serialized_start=2556 + _YOBJECT._serialized_end=2597 + _LAYER1IEEE802X._serialized_start=2599 + _LAYER1IEEE802X._serialized_end=2659 + _GOBJECT._serialized_start=2662 + _GOBJECT._serialized_end=3048 + _GOBJECT_CHOICE._serialized_start=2877 + _GOBJECT_CHOICE._serialized_end=2928 + _GOBJECT_CHOICE_ENUM._serialized_start=2887 + _GOBJECT_CHOICE_ENUM._serialized_end=2928 + _GOBJECT_GF._serialized_start=2930 + _GOBJECT_GF._serialized_end=2980 + _GOBJECT_GF_ENUM._serialized_start=2226 + _GOBJECT_GF_ENUM._serialized_end=2270 + _EOBJECT._serialized_start=3051 + _EOBJECT._serialized_end=3212 + _FOBJECT._serialized_start=3215 + _FOBJECT._serialized_end=3400 + _FOBJECT_CHOICE._serialized_start=3313 + _FOBJECT_CHOICE._serialized_end=3373 + _FOBJECT_CHOICE_ENUM._serialized_start=3323 + _FOBJECT_CHOICE_ENUM._serialized_end=3373 + _JOBJECT._serialized_start=3403 + _JOBJECT._serialized_end=3589 + _JOBJECT_CHOICE._serialized_start=3527 + _JOBJECT_CHOICE._serialized_end=3578 + _JOBJECT_CHOICE_ENUM._serialized_start=3537 + _JOBJECT_CHOICE_ENUM._serialized_end=3578 + _CHOICEOBJECT._serialized_start=3592 + _CHOICEOBJECT._serialized_end=3808 + _CHOICEOBJECT_CHOICE._serialized_start=3730 + _CHOICEOBJECT_CHOICE._serialized_end=3797 + _CHOICEOBJECT_CHOICE_ENUM._serialized_start=3740 + _CHOICEOBJECT_CHOICE_ENUM._serialized_end=3797 + _KOBJECT._serialized_start=3810 + _KOBJECT._serialized_end=3891 + _LOBJECT._serialized_start=3894 + _LOBJECT._serialized_end=4151 + _MOBJECT._serialized_start=4154 + _MOBJECT._serialized_end=4411 + _MANDATE._serialized_start=4413 + _MANDATE._serialized_end=4470 + _UPDATECONFIG._serialized_start=4472 + _UPDATECONFIG._serialized_end=4515 + _METRICSREQUEST._serialized_start=4518 + _METRICSREQUEST._serialized_end=4714 + _METRICSREQUEST_CHOICE._serialized_start=4632 + _METRICSREQUEST_CHOICE._serialized_end=4685 + _METRICSREQUEST_CHOICE_ENUM._serialized_start=4642 + _METRICSREQUEST_CHOICE_ENUM._serialized_end=4685 + _METRICS._serialized_start=4717 + _METRICS._serialized_end=4917 + _METRICS_CHOICE._serialized_start=4851 + _METRICS_CHOICE._serialized_end=4906 + _METRICS_CHOICE_ENUM._serialized_start=4861 + _METRICS_CHOICE_ENUM._serialized_end=4906 + _PORTMETRIC._serialized_start=4919 + _PORTMETRIC._serialized_end=5035 + _FLOWMETRIC._serialized_start=5037 + _FLOWMETRIC._serialized_end=5153 + _REQUIREDCHOICEPARENT._serialized_start=5156 + _REQUIREDCHOICEPARENT._serialized_end=5385 + _REQUIREDCHOICEPARENT_CHOICE._serialized_start=5307 + _REQUIREDCHOICEPARENT_CHOICE._serialized_end=5374 + _REQUIREDCHOICEPARENT_CHOICE_ENUM._serialized_start=5317 + _REQUIREDCHOICEPARENT_CHOICE_ENUM._serialized_end=5374 + _REQUIREDCHOICEINTERMEDIATE._serialized_start=5388 + _REQUIREDCHOICEINTERMEDIATE._serialized_end=5627 + _REQUIREDCHOICEINTERMEDIATE_CHOICE._serialized_start=5556 + _REQUIREDCHOICEINTERMEDIATE_CHOICE._serialized_end=5608 + _REQUIREDCHOICEINTERMEDIATE_CHOICE_ENUM._serialized_start=5566 + _REQUIREDCHOICEINTERMEDIATE_CHOICE_ENUM._serialized_end=5608 + _REQUIREDCHOICEINTERMELEAF._serialized_start=5629 + _REQUIREDCHOICEINTERMELEAF._serialized_end=5684 + _LEVELONE._serialized_start=5686 + _LEVELONE._serialized_end=5765 + _LEVELTWO._serialized_start=5767 + _LEVELTWO._serialized_end=5813 + _LEVELTHREE._serialized_start=5815 + _LEVELTHREE._serialized_end=5857 + _LEVELFOUR._serialized_start=5859 + _LEVELFOUR._serialized_end=5904 + _IPV4PATTERN._serialized_start=5906 + _IPV4PATTERN._serialized_end=5966 + _IPV6PATTERN._serialized_start=5968 + _IPV6PATTERN._serialized_end=6028 + _MACPATTERN._serialized_start=6030 + _MACPATTERN._serialized_end=6086 + _INTEGERPATTERN._serialized_start=6088 + _INTEGERPATTERN._serialized_end=6160 + _CHECKSUMPATTERN._serialized_start=6162 + _CHECKSUMPATTERN._serialized_end=6238 + _COMMONRESPONSESUCCESS._serialized_start=6240 + _COMMONRESPONSESUCCESS._serialized_end=6297 + _APITESTINPUTBODY._serialized_start=6299 + _APITESTINPUTBODY._serialized_end=6359 + _SERVICEABCITEM._serialized_start=6362 + _SERVICEABCITEM._serialized_end=6522 + _SERVICEABCITEMLIST._serialized_start=6524 + _SERVICEABCITEMLIST._serialized_end=6584 + _PATTERNPREFIXCONFIGHEADERCHECKSUM._serialized_start=6587 + _PATTERNPREFIXCONFIGHEADERCHECKSUM._serialized_end=6958 + _PATTERNPREFIXCONFIGHEADERCHECKSUM_CHOICE._serialized_start=6805 + _PATTERNPREFIXCONFIGHEADERCHECKSUM_CHOICE._serialized_end=6865 + _PATTERNPREFIXCONFIGHEADERCHECKSUM_CHOICE_ENUM._serialized_start=6815 + _PATTERNPREFIXCONFIGHEADERCHECKSUM_CHOICE_ENUM._serialized_end=6865 + _PATTERNPREFIXCONFIGHEADERCHECKSUM_GENERATED._serialized_start=6867 + _PATTERNPREFIXCONFIGHEADERCHECKSUM_GENERATED._serialized_end=6922 + _PATTERNPREFIXCONFIGHEADERCHECKSUM_GENERATED_ENUM._serialized_start=6880 + _PATTERNPREFIXCONFIGHEADERCHECKSUM_GENERATED_ENUM._serialized_end=6922 + _PATTERNPREFIXCONFIGAUTOFIELDTESTCOUNTER._serialized_start=6961 + _PATTERNPREFIXCONFIGAUTOFIELDTESTCOUNTER._serialized_end=7090 + _PATTERNPREFIXCONFIGAUTOFIELDTEST._serialized_start=7093 + _PATTERNPREFIXCONFIGAUTOFIELDTEST._serialized_end=7524 + _PATTERNPREFIXCONFIGAUTOFIELDTEST_CHOICE._serialized_start=7398 + _PATTERNPREFIXCONFIGAUTOFIELDTEST_CHOICE._serialized_end=7494 + _PATTERNPREFIXCONFIGAUTOFIELDTEST_CHOICE_ENUM._serialized_start=7408 + _PATTERNPREFIXCONFIGAUTOFIELDTEST_CHOICE_ENUM._serialized_end=7494 + _PATTERNIPV4PATTERNIPV4COUNTER._serialized_start=7526 + _PATTERNIPV4PATTERNIPV4COUNTER._serialized_end=7645 + _PATTERNIPV4PATTERNIPV4._serialized_start=7648 + _PATTERNIPV4PATTERNIPV4._serialized_end=8001 + _PATTERNIPV4PATTERNIPV4_CHOICE._serialized_start=7894 + _PATTERNIPV4PATTERNIPV4_CHOICE._serialized_end=7980 + _PATTERNIPV4PATTERNIPV4_CHOICE_ENUM._serialized_start=7904 + _PATTERNIPV4PATTERNIPV4_CHOICE_ENUM._serialized_end=7980 + _PATTERNIPV6PATTERNIPV6COUNTER._serialized_start=8003 + _PATTERNIPV6PATTERNIPV6COUNTER._serialized_end=8122 + _PATTERNIPV6PATTERNIPV6._serialized_start=8125 + _PATTERNIPV6PATTERNIPV6._serialized_end=8478 + _PATTERNIPV6PATTERNIPV6_CHOICE._serialized_start=7894 + _PATTERNIPV6PATTERNIPV6_CHOICE._serialized_end=7980 + _PATTERNIPV6PATTERNIPV6_CHOICE_ENUM._serialized_start=7904 + _PATTERNIPV6PATTERNIPV6_CHOICE_ENUM._serialized_end=7980 + _PATTERNMACPATTERNMACCOUNTER._serialized_start=8480 + _PATTERNMACPATTERNMACCOUNTER._serialized_end=8597 + _PATTERNMACPATTERNMAC._serialized_start=8600 + _PATTERNMACPATTERNMAC._serialized_end=8983 + _PATTERNMACPATTERNMAC_CHOICE._serialized_start=7398 + _PATTERNMACPATTERNMAC_CHOICE._serialized_end=7494 + _PATTERNMACPATTERNMAC_CHOICE_ENUM._serialized_start=7408 + _PATTERNMACPATTERNMAC_CHOICE_ENUM._serialized_end=7494 + _PATTERNINTEGERPATTERNINTEGERCOUNTER._serialized_start=8985 + _PATTERNINTEGERPATTERNINTEGERCOUNTER._serialized_end=9110 + _PATTERNINTEGERPATTERNINTEGER._serialized_start=9113 + _PATTERNINTEGERPATTERNINTEGER._serialized_end=9490 + _PATTERNINTEGERPATTERNINTEGER_CHOICE._serialized_start=7894 + _PATTERNINTEGERPATTERNINTEGER_CHOICE._serialized_end=7980 + _PATTERNINTEGERPATTERNINTEGER_CHOICE_ENUM._serialized_start=7904 + _PATTERNINTEGERPATTERNINTEGER_CHOICE_ENUM._serialized_end=7980 + _PATTERNCHECKSUMPATTERNCHECKSUM._serialized_start=9493 + _PATTERNCHECKSUMPATTERNCHECKSUM._serialized_end=9855 + _PATTERNCHECKSUMPATTERNCHECKSUM_CHOICE._serialized_start=6805 + _PATTERNCHECKSUMPATTERNCHECKSUM_CHOICE._serialized_end=6865 + _PATTERNCHECKSUMPATTERNCHECKSUM_CHOICE_ENUM._serialized_start=6815 + _PATTERNCHECKSUMPATTERNCHECKSUM_CHOICE_ENUM._serialized_end=6865 + _PATTERNCHECKSUMPATTERNCHECKSUM_GENERATED._serialized_start=6867 + _PATTERNCHECKSUMPATTERNCHECKSUM_GENERATED._serialized_end=6922 + _PATTERNCHECKSUMPATTERNCHECKSUM_GENERATED_ENUM._serialized_start=6880 + _PATTERNCHECKSUMPATTERNCHECKSUM_GENERATED_ENUM._serialized_end=6922 + _VERSION._serialized_start=9858 + _VERSION._serialized_end=10003 + _WARNINGS._serialized_start=10005 + _WARNINGS._serialized_end=10065 + _SETCONFIGREQUEST._serialized_start=10067 + _SETCONFIGREQUEST._serialized_end=10131 + _UPDATECONFIGURATIONREQUEST._serialized_start=10133 + _UPDATECONFIGURATIONREQUEST._serialized_end=10207 + _SETCONFIGRESPONSE._serialized_start=10209 + _SETCONFIGRESPONSE._serialized_end=10252 + _UPDATECONFIGURATIONRESPONSE._serialized_start=10254 + _UPDATECONFIGURATIONRESPONSE._serialized_end=10329 + _GETCONFIGRESPONSE._serialized_start=10331 + _GETCONFIGRESPONSE._serialized_end=10396 + _GETMETRICSREQUEST._serialized_start=10398 + _GETMETRICSREQUEST._serialized_end=10467 + _GETMETRICSRESPONSE._serialized_start=10469 + _GETMETRICSRESPONSE._serialized_end=10524 + _GETWARNINGSRESPONSE._serialized_start=10526 + _GETWARNINGSRESPONSE._serialized_end=10597 + _CLEARWARNINGSRESPONSE._serialized_start=10599 + _CLEARWARNINGSRESPONSE._serialized_end=10638 + _POSTROOTRESPONSEREQUEST._serialized_start=10640 + _POSTROOTRESPONSEREQUEST._serialized_end=10721 + _GETROOTRESPONSERESPONSE._serialized_start=10723 + _GETROOTRESPONSERESPONSE._serialized_end=10813 + _DUMMYRESPONSETESTRESPONSE._serialized_start=10815 + _DUMMYRESPONSETESTRESPONSE._serialized_end=10858 + _POSTROOTRESPONSERESPONSE._serialized_start=10860 + _POSTROOTRESPONSERESPONSE._serialized_end=10951 + _GETALLITEMSRESPONSE._serialized_start=10953 + _GETALLITEMSRESPONSE._serialized_end=11034 + _GETSINGLEITEMRESPONSE._serialized_start=11036 + _GETSINGLEITEMRESPONSE._serialized_end=11110 + _GETSINGLEITEMLEVEL2RESPONSE._serialized_start=11112 + _GETSINGLEITEMLEVEL2RESPONSE._serialized_end=11192 + _GETVERSIONRESPONSE._serialized_start=11194 + _GETVERSIONRESPONSE._serialized_end=11249 + _OPENAPI._serialized_start=11252 + _OPENAPI._serialized_end=12246 # @@protoc_insertion_point(module_scope) diff --git a/artifacts/pyapi/requirements.txt b/artifacts/pyapi/requirements.txt index 63b532a7..29cd38a0 100644 --- a/artifacts/pyapi/requirements.txt +++ b/artifacts/pyapi/requirements.txt @@ -1,11 +1,11 @@ --prefer-binary +protobuf~=4.23.3 ; python_version > '3.6' +protobuf~=3.15.0 ; python_version <= '3.6' grpcio-tools~=1.54.2 ; python_version > '3.6' grpcio~=1.54.2 ; python_version > '3.6' grpcio-tools~=1.35.0 ; python_version <= '3.6' grpcio~=1.35.0 ; python_version <= '3.6' requests PyYAML -protobuf~=4.23.3 ; python_version > '3.6' -protobuf~=3.15.0 ; python_version <= '3.6' -urllib3 semantic_version +urllib3 From 066ffdb1c1e59c406c6f9e539233478f66a79284 Mon Sep 17 00:00:00 2001 From: Vibaswan Date: Wed, 3 Jan 2024 14:06:45 +0000 Subject: [PATCH 22/27] merge main --- .github/workflows/build.yml | 2 +- openapiart/common.go | 74 +- .../goserver/go_controller_generator.py | 22 +- openapiart/openapiartgo.py | 338 ++++++--- pkg/choice_test.go | 26 +- pkg/common.go | 75 +- pkg/generated_invalid_format_test.go | 246 +++---- pkg/generated_invalid_key_test.go | 246 +++---- pkg/generated_required_test.go | 44 +- pkg/generated_test.go | 447 ++++++------ pkg/generated_validate_test.go | 175 ++--- pkg/mock_grpcserver_test.go | 21 +- pkg/mock_httpserver_test.go | 13 +- pkg/multiple_iter_test.go | 5 +- pkg/perf_test.go | 21 +- pkg/serdes_test.go | 137 ++-- pkg/servertests/service_a_test.go | 6 +- pkg/servertests/service_b.handler.go | 6 +- pkg/servertests/service_b_test.go | 8 +- pkg/status_msg_test.go | 39 +- pkg/transport_test.go | 38 +- pkg/unit1_test.go | 4 +- pkg/unit_test.go | 644 ++++++++---------- setup.py | 2 +- 24 files changed, 1288 insertions(+), 1351 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c13e4803..8ad959e2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -263,7 +263,7 @@ jobs: - name: Publish package if: steps.check_tag.outputs.exists == 'false' run: | - PYPI_USERNAME=${{ secrets.PYPI_USERNAME }} PYPI_PASSWORD=${{ secrets.PYPI_PASSWORD }} python do.py release + PYPI_USERNAME=__token__ PYPI_PASSWORD=${{ secrets.PYPI_API_TOKEN }} python do.py release - name: Create release and publish artifacts if: steps.check_tag.outputs.exists == 'false' uses: ncipollo/release-action@v1 diff --git a/openapiart/common.go b/openapiart/common.go index b9144970..dcbc2026 100644 --- a/openapiart/common.go +++ b/openapiart/common.go @@ -114,13 +114,13 @@ func (obj *httpTransport) SetVerify(value bool) HttpTransport { return obj } -type api struct { +type apiSt struct { grpc *grpcTransport http *httpTransport warnings string } -type Api interface { +type api interface { NewGrpcTransport() GrpcTransport hasGrpcTransport() bool NewHttpTransport() HttpTransport @@ -128,17 +128,14 @@ type Api interface { Close() error // Warnings Api is only for testing purpose // and not intended to use in production - Warnings() string + getWarnings() string deprecated(message string) under_review(message string) addWarnings(message string) - fromHttpError(statusCode int, body []byte) Error - fromGrpcError(err error) (Error, bool) - FromError(err error) (Error, bool) } // NewGrpcTransport sets the underlying transport of the Api as grpc -func (api *api) NewGrpcTransport() GrpcTransport { +func (api *apiSt) NewGrpcTransport() GrpcTransport { api.grpc = &grpcTransport{ location: "localhost:5050", requestTimeout: 10 * time.Second, @@ -149,12 +146,12 @@ func (api *api) NewGrpcTransport() GrpcTransport { } // HasGrpcTransport will return True for gRPC transport -func (api *api) hasGrpcTransport() bool { +func (api *apiSt) hasGrpcTransport() bool { return api.grpc != nil } // NewHttpTransport sets the underlying transport of the Api as http -func (api *api) NewHttpTransport() HttpTransport { +func (api *apiSt) NewHttpTransport() HttpTransport { api.http = &httpTransport{ location: "https://localhost:443", verify: false, @@ -168,78 +165,29 @@ func (api *api) NewHttpTransport() HttpTransport { return api.http } -func (api *api) hasHttpTransport() bool { +func (api *apiSt) hasHttpTransport() bool { return api.http != nil } -func (api *api) Warnings() string { +func (api *apiSt) getWarnings() string { return api.warnings } -func (api *api) addWarnings(message string) { +func (api *apiSt) addWarnings(message string) { fmt.Printf("[WARNING]: %s\n", message) api.warnings = message } -func (api *api) deprecated(message string) { +func (api *apiSt) deprecated(message string) { api.warnings = message fmt.Printf("warning: %s\n", message) } -func (api *api) under_review(message string) { +func (api *apiSt) under_review(message string) { api.warnings = message fmt.Printf("warning: %s\n", message) } -func (api *api) FromError(err error) (Error, bool) { - if rErr, ok := err.(Error); ok { - return rErr, true - } - - rErr := NewError() - if err := rErr.FromJson(err.Error()); err == nil { - return rErr, true - } - - return api.fromGrpcError(err) -} - -func (api *api) setResponseErr(obj Error, code int32, message string) { - errors := []string{} - errors = append(errors, message) - obj.Msg().Code = &code - obj.Msg().Errors = errors -} - -func (api *api) fromGrpcError(err error) (Error, bool) { - st, ok := status.FromError(err) - if ok { - rErr := NewError() - if err := rErr.FromJson(st.Message()); err == nil { - var code = int32(st.Code()) - rErr.Msg().Code = &code - return rErr, true - } - - api.setResponseErr(rErr, int32(st.Code()), st.Message()) - return rErr, true - } - - return nil, false -} - -func (api *api) fromHttpError(statusCode int, body []byte) Error { - rErr := NewError() - bStr := string(body) - if err := rErr.FromJson(bStr); err == nil { - return rErr - } - - api.setResponseErr(rErr, int32(statusCode), bStr) - - return rErr -} - // HttpRequestDoer will return True for HTTP transport type httpRequestDoer interface { Do(req *http.Request) (*http.Response, error) diff --git a/openapiart/goserver/go_controller_generator.py b/openapiart/goserver/go_controller_generator.py index 3b756c73..093c676b 100644 --- a/openapiart/goserver/go_controller_generator.py +++ b/openapiart/goserver/go_controller_generator.py @@ -164,7 +164,7 @@ def _write_method(self, w, ctrl, route): body, readError := io.ReadAll(r.Body) if body != nil {{ item = {new_modelname}() - err := item.FromJson(string(body)) + err := item.Unmarshal().FromJson(string(body)) if err != nil {{ ctrl.{rsp_400_error}(w, "validation", err) return @@ -224,7 +224,12 @@ def _write_method(self, w, ctrl, route): # This is require as workaround of https://github.com/open-traffic-generator/openapiart/issues/220 if self._need_warning_check(route, response): - rsp_section = """data, err := {mrl_name}MrlOpts.Marshal(result.{struct}().Msg()) + rsp_section = """ + proto, err := result.{struct}().Marshal().ToProto() + if err != nil {{ + ctrl.{rsp_400_error}(w, "validation", err) + }} + data, err := {mrl_name}MrlOpts.Marshal(proto) if err != nil {{ ctrl.{rsp_400_error}(w, "validation", err) }} @@ -238,12 +243,15 @@ def _write_method(self, w, ctrl, route): # we dont want to check for default and stuff continue else: - rsp_section = """if _, err := httpapi.{write_method}(w, {response_value}, result.{struct_name}()); err != nil {{ + rsp_section = """if _, err := httpapi.{write_method}(w, {response_value}, result.{struct_name}(){marshal_func}); err != nil {{ log.Print(err.Error()) }}""".format( write_method=write_method, response_value=response.response_value, struct_name=struct_name, + marshal_func="" + if struct_name in ["ResponseString", "ResponseBytes"] + else ".Marshal()", ) w.write_line( @@ -276,14 +284,14 @@ def _write_method(self, w, ctrl, route): result = rErr }} else {{ result = {models_prefix}NewError() - err := result.FromJson(rsp_err.Error()) + err := result.Unmarshal().FromJson(rsp_err.Error()) if err != nil {{ - result.Msg().Code = &statusCode + _ = result.SetCode(statusCode) err = result.SetKind(errorKind) if err != nil {{ log.Print(err.Error()) }} - result.Msg().Errors = []string{{rsp_err.Error()}} + _ = result.SetErrors([]string{{rsp_err.Error()}}) }} }} """.format( @@ -300,7 +308,7 @@ def _write_method(self, w, ctrl, route): statusCode = 500 }} {set_errors} - if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil {{ + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result.Marshal()); err != nil {{ log.Print(err.Error()) }} }} diff --git a/openapiart/openapiartgo.py b/openapiart/openapiartgo.py index 7941f443..50a2b89b 100644 --- a/openapiart/openapiartgo.py +++ b/openapiart/openapiartgo.py @@ -114,6 +114,9 @@ def __init__(self): self.x_constraints = [] self.x_unique = None self.iter_name = None + self.choice_with_no_prop = ( + [] + ) # maintain a list of choices with no properties for adding getter methods class OpenApiArtGo(OpenApiArtPlugin): @@ -497,7 +500,7 @@ def _build_api_interface(self): == 0 ): self._api.external_new_methods.append(new) - rpc.request = "{pb_pkg_name}.{operation_name}Request{{{interface}: {struct}.Msg()}}".format( + rpc.request = "{pb_pkg_name}.{operation_name}Request{{{interface}: {struct}.msg()}}".format( pb_pkg_name=self._protobuf_package_name, operation_name=rpc.operation_name, interface=new.interface, @@ -523,7 +526,7 @@ def _build_api_interface(self): request_return_type=rpc.request_return_type, ) rpc.validate = """ - if err := {struct}.Validate(); err != nil {{ + if err := {struct}.validate(); err != nil {{ return nil, err }} """.format( @@ -537,7 +540,7 @@ def _build_api_interface(self): ) if url.startswith("/"): url = url[1:] - http.request = """{struct}Json, err := {struct}.ToJson() + http.request = """{struct}Json, err := {struct}.Marshal().ToJson() if err != nil {{return nil, err}} resp, err := api.httpSendRecv("{url}", {struct}Json, "{method}") """.format( @@ -618,6 +621,58 @@ def _build_api_interface(self): # write the go code self._write( """ + // function related to error handling + func FromError(err error) (Error, bool) {{ + if rErr, ok := err.(Error); ok {{ + return rErr, true + }} + + rErr := NewError() + if err := rErr.Unmarshal().FromJson(err.Error()); err == nil {{ + return rErr, true + }} + + return fromGrpcError(err) + }} + + func setResponseErr(obj Error, code int32, message string) {{ + errors := []string{{}} + errors = append(errors, message) + obj.msg().Code = &code + obj.msg().Errors = errors + }} + + // parses and return errors for grpc response + func fromGrpcError(err error) (Error, bool) {{ + st, ok := status.FromError(err) + if ok {{ + rErr := NewError() + if err := rErr.Unmarshal().FromJson(st.Message()); err == nil {{ + var code = int32(st.Code()) + rErr.msg().Code = &code + return rErr, true + }} + + setResponseErr(rErr, int32(st.Code()), st.Message()) + return rErr, true + }} + + return nil, false + }} + + // parses and return errors for http responses + func fromHttpError(statusCode int, body []byte) Error {{ + rErr := NewError() + bStr := string(body) + if err := rErr.Unmarshal().FromJson(bStr); err == nil {{ + return rErr + }} + + setResponseErr(rErr, int32(statusCode), bStr) + + return rErr + }} + type versionMeta struct {{ checkVersion bool localVersion Version @@ -625,7 +680,7 @@ def _build_api_interface(self): checkError error }} type {internal_struct_name} struct {{ - api + apiSt grpcClient {pb_pkg_name}.{proto_service}Client httpClient httpClient versionMeta *versionMeta @@ -681,7 +736,7 @@ def _build_api_interface(self): }} // NewApi returns a new instance of the top level interface hierarchy - func NewApi() {interface} {{ + func NewApi() Api {{ api := {internal_struct_name}{{}} api.versionMeta = &versionMeta{{checkVersion: false}} return &api @@ -744,15 +799,15 @@ def _build_api_interface(self): }} """.format( internal_struct_name=self._api.internal_struct_name, - interface=self._api.external_interface_name, pb_pkg_name=self._protobuf_package_name, proto_service=self._proto_service, ) ) methods = [] - for new in self._api.external_new_methods: - methods.append(new.method_description) - methods.append(new.method) + # remove new methopds from interface + # for new in self._api.external_new_methods: + # methods.append(new.method_description) + # methods.append(new.method) for rpc in self._api.external_rpc_methods: methods.append(rpc.description) methods.append(rpc.method) @@ -763,12 +818,11 @@ def _build_api_interface(self): self._write( """ {description} - type {external_interface_name} interface {{ - Api + type Api interface {{ + api {method_signatures} }} """.format( - external_interface_name=self._api.external_interface_name, method_signatures=method_signatures, description="// {} {}".format( self._api.external_interface_name, @@ -778,17 +832,18 @@ def _build_api_interface(self): ), ) ) - for new in self._api.external_new_methods: - self._write( - """func (api *{internal_struct_name}) {method} {{ - return New{interface}() - }} - """.format( - internal_struct_name=self._api.internal_struct_name, - method=new.method, - interface=new.interface, - ) - ) + # remove new methods from api + # for new in self._api.external_new_methods: + # self._write( + # """func (api *{internal_struct_name}) {method} {{ + # return New{interface}() + # }} + # """.format( + # internal_struct_name=self._api.internal_struct_name, + # method=new.method, + # interface=new.interface, + # ) + # ) if self._generate_version_api: self._write( self._get_version_api_interface_method_impl( @@ -810,7 +865,7 @@ def _build_api_interface(self): else: return_value = """ret := New{struct}() if resp.Get{struct}() != nil {{ - return ret.SetMsg(resp.Get{struct}()), nil + return ret.setMsg(resp.Get{struct}()), nil }} return ret, nil""".format( @@ -850,7 +905,7 @@ def _build_api_interface(self): defer cancelFunc() resp, err := api.grpcClient.{operation_name}(ctx, &request) if err != nil {{ - if er, ok := api.fromGrpcError(err); ok {{ + if er, ok := fromGrpcError(err); ok {{ return nil, er }} return nil, err @@ -879,7 +934,9 @@ def _build_api_interface(self): if response.status_code.startswith("2"): success_method = response.request_return_type else: - error_handling += "return nil, api.fromHttpError(resp.StatusCode, bodyBytes)" + error_handling += ( + "return nil, fromHttpError(resp.StatusCode, bodyBytes)" + ) if http.request_return_type == "[]byte": success_handling = """return bodyBytes, nil""" @@ -887,8 +944,8 @@ def _build_api_interface(self): success_handling = """bodyString := string(bodyBytes) return &bodyString, nil""" else: - success_handling = """obj := api.{success_method}().{struct}() - if err := obj.FromJson(string(bodyBytes)); err != nil {{ + success_handling = """obj := {success_method}().{struct}() + if err := obj.Unmarshal().FromJson(string(bodyBytes)); err != nil {{ return nil, err }} return obj, nil""".format( @@ -1112,6 +1169,8 @@ def _write_interface(self, new): type {struct} struct {{ validation obj *{pb_pkg_name}.{interface} + marshaller marshal{interface} + unMarshaller unMarshal{interface} {internal_items} }} @@ -1121,26 +1180,70 @@ def _write_interface(self, new): return &obj }} - func (obj *{struct}) Msg() *{pb_pkg_name}.{interface} {{ + func (obj *{struct}) msg() *{pb_pkg_name}.{interface} {{ return obj.obj }} - func (obj *{struct}) SetMsg(msg *{pb_pkg_name}.{interface}) {interface} {{ - {nil_call} + func (obj *{struct}) setMsg(msg *{pb_pkg_name}.{interface}) {interface} {{ + {msg_nil_call} proto.Merge(obj.obj, msg) return obj }} - func (obj *{struct}) ToProto() (*{pb_pkg_name}.{interface}, error) {{ - err := obj.validateToAndFrom() + type marshal{struct} struct {{ + obj *{struct} + }} + + type marshal{interface} interface {{ + // ToProto marshals {interface} to protobuf object *{pb_pkg_name}.{interface} + ToProto() (*{pb_pkg_name}.{interface}, error) + // ToPbText marshals {interface} to protobuf text + ToPbText() (string, error) + // ToYaml marshals {interface} to YAML text + ToYaml() (string, error) + // ToJson marshals {interface} to JSON text + ToJson() (string, error) + }} + + type unMarshal{struct} struct {{ + obj *{struct} + }} + + type unMarshal{interface} interface {{ + // FromProto unmarshals {interface} from protobuf object *{pb_pkg_name}.{interface} + FromProto(msg *{pb_pkg_name}.{interface}) ({interface}, error) + // FromPbText unmarshals {interface} from protobuf text + FromPbText(value string) error + // FromYaml unmarshals {interface} from YAML text + FromYaml(value string) error + // FromJson unmarshals {interface} from JSON text + FromJson(value string) error + }} + + func (obj *{struct}) Marshal() marshal{interface} {{ + if obj.marshaller == nil {{ + obj.marshaller = &marshal{struct}{{obj: obj}} + }} + return obj.marshaller + }} + + func (obj *{struct}) Unmarshal() unMarshal{interface} {{ + if obj.unMarshaller == nil {{ + obj.unMarshaller = &unMarshal{struct}{{obj: obj}} + }} + return obj.unMarshaller + }} + + func (m *marshal{struct}) ToProto() (*{pb_pkg_name}.{interface}, error) {{ + err := m.obj.validateToAndFrom() if err != nil {{ return nil, err }} - return obj.Msg(), nil + return m.obj.msg(), nil }} - func (obj *{struct}) FromProto(msg *{pb_pkg_name}.{interface}) ({interface}, error) {{ - newObj := obj.SetMsg(msg) + func (m *unMarshal{struct}) FromProto(msg *{pb_pkg_name}.{interface}) ({interface}, error) {{ + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil {{ return nil, err @@ -1148,33 +1251,33 @@ def _write_interface(self, new): return newObj, nil }} - func (obj *{struct}) ToPbText() (string, error) {{ - vErr := obj.validateToAndFrom() + func (m *marshal{struct}) ToPbText() (string, error) {{ + vErr := m.obj.validateToAndFrom() if vErr != nil {{ return "", vErr }} - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil {{ return "", err }} return string(protoMarshal), nil }} - func (obj *{struct}) FromPbText(value string) error {{ - retObj := proto.Unmarshal([]byte(value), obj.Msg()) + func (m *unMarshal{struct}) FromPbText(value string) error {{ + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil {{ return retObj }} {nil_call} - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil {{ return vErr }} return retObj }} - func (obj *{struct}) ToYaml() (string, error) {{ - vErr := obj.validateToAndFrom() + func (m *marshal{struct}) ToYaml() (string, error) {{ + vErr := m.obj.validateToAndFrom() if vErr != nil {{ return "", vErr }} @@ -1183,7 +1286,7 @@ def _write_interface(self, new): AllowPartial: true, EmitUnpopulated: false, }} - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil {{return "", err}} data, err = yaml.JSONToYAML(data) if err != nil {{ @@ -1192,7 +1295,7 @@ def _write_interface(self, new): return string(data), nil }} - func (obj *{struct}) FromYaml(value string) error {{ + func (m *unMarshal{struct}) FromYaml(value string) error {{ if value == "" {{value = "{{}}"}} data, err := yaml.YAMLToJSON([]byte(value)) if err != nil {{ @@ -1202,21 +1305,21 @@ def _write_interface(self, new): AllowPartial: true, DiscardUnknown: false, }} - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil {{ return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\\u00a0", " ", -1)[7:]) }} {nil_call} - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil {{ return vErr }} return nil }} - func (obj *{struct}) ToJson() (string, error) {{ - vErr := obj.validateToAndFrom() + func (m *marshal{struct}) ToJson() (string, error) {{ + vErr := m.obj.validateToAndFrom() if vErr != nil {{ return "", vErr }} @@ -1226,26 +1329,26 @@ def _write_interface(self, new): EmitUnpopulated: false, Indent: " ", }} - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil {{ return "", err }} return string(data), nil }} - func (obj *{struct}) FromJson(value string) error {{ + func (m *unMarshal{struct}) FromJson(value string) error {{ opts := protojson.UnmarshalOptions{{ AllowPartial: true, DiscardUnknown: false, }} if value == "" {{value = "{{}}"}} - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil {{ return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\\u00a0", " ", -1)[7:]) }} {nil_call} - err := obj.validateToAndFrom() + err := m.obj.validateToAndFrom() if err != nil {{ return err }} @@ -1258,14 +1361,14 @@ def _write_interface(self, new): return obj.validationResult() }} - func (obj *{struct}) Validate() error {{ + func (obj *{struct}) validate() error {{ // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() }} func (obj *{struct}) String() string {{ - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil {{ return err.Error() }} @@ -1273,16 +1376,16 @@ def _write_interface(self, new): }} func (obj *{struct}) Clone() ({interface}, error) {{ - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil {{ return nil, vErr }} newObj := New{interface}() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil {{ return nil, err }} - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil {{ return nil, pbErr }} @@ -1295,7 +1398,12 @@ def _write_interface(self, new): internal_items="" if len(internal_items) == 0 else "\n".join(internal_items), - nil_call="obj.setNil()" if len(internal_items_nil) > 0 else "", + nil_call="m.obj.setNil()" + if len(internal_items_nil) > 0 + else "", + msg_nil_call="obj.setNil()" + if len(internal_items_nil) > 0 + else "", ) ) if len(internal_items_nil) > 0: @@ -1313,24 +1421,18 @@ def _write_interface(self, new): ) interfaces = [ - "// ToProto marshals {interface} to protobuf object *{pb_pkg_name}.{interface}", - "ToProto() (*{pb_pkg_name}.{interface}, error)", - "// ToPbText marshals {interface} to protobuf text", - "ToPbText() (string, error)", - "// ToYaml marshals {interface} to YAML text", - "ToYaml() (string, error)", - "// ToJson marshals {interface} to JSON text", - "ToJson() (string, error)", - "// FromProto unmarshals {interface} from protobuf object *{pb_pkg_name}.{interface}", - "FromProto(msg *{pb_pkg_name}.{interface}) ({interface}, error)", - "// FromPbText unmarshals {interface} from protobuf text", - "FromPbText(value string) error", - "// FromYaml unmarshals {interface} from YAML text", - "FromYaml(value string) error", - "// FromJson unmarshals {interface} from JSON text", - "FromJson(value string) error", - "// Validate validates {interface}", - "Validate() error", + "// msg marshals {interface} to protobuf object *{pb_pkg_name}.{interface}", + "// and doesn't set defaults", + "msg() *{pb_pkg_name}.{interface}", + "// setMsg unmarshals {interface} from protobuf object *{pb_pkg_name}.{interface}", + "// and doesn't set defaults", + "setMsg(*{pb_pkg_name}.{interface}) {interface}", + "// provides marshal interface", + "Marshal() marshal{interface}", + "// provides unmarshal interface", + "Unmarshal() unMarshal{interface}", + "// validate validates {interface}", + "validate() error", "// A stringer function", "String() string", "// Clones the object", @@ -1347,12 +1449,20 @@ def _write_interface(self, new): ) interfaces.append(field.getter_method) if field.setter_method is not None: - interfaces.append( - "// {}".format( - self._escaped_str(field.setter_method_description) + description = field.setter_method_description + method = field.setter_method + if field.name == "Choice": + description = field.setter_method_description.replace( + "SetChoice", "setChoice" ) + method = field.setter_method.replace( + "SetChoice", "setChoice" + ) + interfaces.append( + "// {}".format(self._escaped_str(description)) ) - interfaces.append(field.setter_method) + + interfaces.append(method) if field.has_method is not None: interfaces.append( "// {}".format( @@ -1360,6 +1470,12 @@ def _write_interface(self, new): ) ) interfaces.append(field.has_method) + for prop in field.choice_with_no_prop: + interfaces.append( + "// getter for {fieldName} to set choice.\n{fieldName}()".format( + fieldName=self._get_external_field_name(prop) + ) + ) if new.interface == "Error": interfaces.append( "// implement Error function for implementingnative Error Interface. \n Error() string" @@ -1370,18 +1486,11 @@ def _write_interface(self, new): {description} type {interface} interface {{ Validation - // Msg marshals {interface} to protobuf object *{pb_pkg_name}.{interface} - // and doesn't set defaults - Msg() *{pb_pkg_name}.{interface} - // SetMsg unmarshals {interface} from protobuf object *{pb_pkg_name}.{interface} - // and doesn't set defaults - SetMsg(*{pb_pkg_name}.{interface}) {interface} {interface_signatures} {nil_call} }} """.format( interface=new.interface, - pb_pkg_name=self._protobuf_package_name, interface_signatures=interface_signatures.format( interface=new.interface, pb_pkg_name=self._protobuf_package_name, @@ -1400,7 +1509,7 @@ def _write_interface(self, new): self._write( """ func (obj *_error) Error() string { - json, err := obj.ToJson() + json, err := obj.Marshal().ToJson() if err != nil { return fmt.Sprintf("could not convert Error to JSON: %v", err) } @@ -1436,7 +1545,7 @@ def _write_field_getter(self, new, field): ) ) if field.setChoiceValue is not None: - block = "obj.SetChoice({interface}Choice.{enum})".format( + block = "obj.setChoice({interface}Choice.{enum})".format( interface=new.interface, enum=field.setChoiceValue ) body = """if len(obj.obj.{name}) == 0 {{ @@ -1468,7 +1577,7 @@ def _write_field_getter(self, new, field): ) else: block = """ - obj.SetChoice({interface}Choice.{enum}) + obj.setChoice({interface}Choice.{enum}) """.format( interface=new.interface, enum=field.setChoiceValue, @@ -1483,14 +1592,14 @@ def _write_field_getter(self, new, field): # at this time proto generation ignores the optional keyword # if the type is an object set_choice_or_new = ( - "obj.obj.{name} = New{pb_struct}().Msg()".format( + "obj.obj.{name} = New{pb_struct}().msg()".format( name=field.name, pb_struct=field.external_struct, ) ) if field.setChoiceValue is not None: set_choice_or_new = ( - """obj.SetChoice({interface}Choice.{enum})""".format( + """obj.setChoice({interface}Choice.{enum})""".format( interface=new.interface, enum=field.setChoiceValue, ) @@ -1568,13 +1677,27 @@ def _write_field_getter(self, new, field): fieldname=field.name, ) ) + for prop in field.choice_with_no_prop: + self._write( + """ + // getter for {fieldname} to set choice + func (obj *{struct}) {fieldname}() {{ + obj.setChoice({interface}Choice.{enum}) + }} + """.format( + struct=new.struct, + interface=new.interface, + fieldname=self._get_external_field_name(prop), + enum=prop.upper(), + ) + ) return elif field.isPointer: set_enum_choice = None if field.setChoiceValue is not None: set_enum_choice = """ if obj.obj.{fieldname} == nil {{ - obj.SetChoice({interface}Choice.{enum}) + obj.setChoice({interface}Choice.{enum}) }} """.format( fieldname=field.name, @@ -1604,7 +1727,7 @@ def _write_field_getter(self, new, field): if field.setChoiceValue is not None: set_enum_choice = """ if obj.obj.{fieldname} == nil {{ - obj.SetChoice({interface}Choice.{enum}) + obj.setChoice({interface}Choice.{enum}) }} """.format( fieldname=field.name, @@ -1717,7 +1840,7 @@ def _write_field_setter(self, new, field, set_nil): enum_body.append( """ if value == {interface}{name}.{enumupper} {{ - obj.obj.{enumname} = New{struct}().Msg() + obj.obj.{enumname} = New{struct}().msg() }} """.format( interface=new.interface, @@ -1794,7 +1917,7 @@ def _write_field_setter(self, new, field, set_nil): ) self._write( - """func (obj* {struct}) Set{fieldname}(value {interface}{fieldname}Enum) {interface} {{ + """func (obj* {struct}) {set_str}{fieldname}(value {interface}{fieldname}Enum) {interface} {{ intValue, ok := {pb_pkg_name}.{interface}_{fieldname}_Enum_value[string(value)] if !ok {{ obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( @@ -1814,12 +1937,13 @@ def _write_field_setter(self, new, field, set_nil): enum_set="\n".join(enum_body) if field.name == "Choice" else "", + set_str="set" if field.name == "Choice" else "Set", ) ) return elif field.struct is not None: body = """{set_nil} = nil - obj.obj.{name} = value.Msg() + obj.obj.{name} = value.msg() """.format( set_nil="obj.{}".format(self._get_holder_name(field)) if set_nil is True @@ -1836,7 +1960,7 @@ def _write_field_setter(self, new, field, set_nil): ) set_choice = "" if field.setChoiceValue is not None: - set_choice = """obj.SetChoice({interface}Choice.{enum})""".format( + set_choice = """obj.setChoice({interface}Choice.{enum})""".format( interface=new.interface, enum=field.setChoiceValue, ) @@ -1946,7 +2070,7 @@ def _write_field_adder(self, new, field): func (obj *{internal_struct}) Append(items ...{field_external_struct}) {interface} {{ for _, item := range items {{ - newObj := item.Msg() + newObj := item.msg() *obj.fieldPtr = append(*obj.fieldPtr, newObj) obj.{internal_items_name} = append(obj.{internal_items_name}, item) }} @@ -1954,7 +2078,7 @@ def _write_field_adder(self, new, field): }} func (obj *{internal_struct}) Set(index int, newObj {field_external_struct}) {interface} {{ - (*obj.fieldPtr)[index] = newObj.Msg() + (*obj.fieldPtr)[index] = newObj.msg() obj.{internal_items_name}[index] = newObj return obj }} @@ -2041,6 +2165,9 @@ def _build_setters_getters(self, fluent_new): choice_enums = self._get_parser("$..choice..enum").find( fluent_new.schema_object["properties"] ) + prop_names = [ + key for key in fluent_new.schema_object["properties"].keys() + ] for property_name, property_schema in fluent_new.schema_object[ "properties" ].items(): @@ -2123,6 +2250,12 @@ def _build_setters_getters(self, fluent_new): ) if "unspecified" in field.enums: field.enums.remove("unspecified") + if property_name == "choice": + prop_names.remove("choice") + diff = set(field.enums).difference(set(prop_names)) + if len(diff) > 0: + field.choice_with_no_prop = list(diff) + if field.hasminmax: field.min = ( None @@ -2893,6 +3026,7 @@ def _write_default_method(self, new): + body ) + body = body.replace("SetChoice", "setChoice") self._write( """func (obj *{struct}) setDefault() {{ {body} diff --git a/pkg/choice_test.go b/pkg/choice_test.go index 8ef0be5a..0789ad05 100644 --- a/pkg/choice_test.go +++ b/pkg/choice_test.go @@ -8,8 +8,8 @@ import ( ) func TestChoiceWithNoPropertiesForLeafNode(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + + config := goapi.NewPrefixConfig() fObj := config.F() // test default choice and values @@ -29,22 +29,21 @@ func TestChoiceWithNoPropertiesForLeafNode(t *testing.T) { assert.Equal(t, fObj.FA(), "str1") // setting choice with no property - fObj.SetChoice(goapi.FObjectChoice.F_C) + fObj.FC() assert.Equal(t, fObj.Choice(), goapi.FObjectChoice.F_C) - err := fObj.Validate() + _, err := fObj.Marshal().ToYaml() assert.Nil(t, err) } func TestChoiceWithNoPropertiesForIterNode(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() choiceObj := config.ChoiceObject().Add() // check default should be no_obj assert.Equal(t, choiceObj.Choice(), goapi.ChoiceObjectChoice.NO_OBJ) - err := choiceObj.Validate() + _, err := choiceObj.Marshal().ToYaml() assert.Nil(t, err) // rest of operation should not be impacted @@ -59,7 +58,9 @@ func TestChoiceWithNoPropertiesForIterNode(t *testing.T) { config.ChoiceObject().Append(goapi.NewChoiceObject()) - config.ChoiceObject().Set(1, goapi.NewChoiceObject().SetChoice("e_obj")) + chObj := goapi.NewChoiceObject() + chObj.EObj() + config.ChoiceObject().Set(1, chObj) assert.Len(t, config.ChoiceObject().Items(), 2) config.ChoiceObject().Clear() @@ -67,14 +68,13 @@ func TestChoiceWithNoPropertiesForIterNode(t *testing.T) { } func TestChoiceWithNoPropertiesForChoiceHeirarchy(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() choiceObj := config.ChoiceObject().Add() // check default should be no_obj assert.Equal(t, choiceObj.Choice(), goapi.ChoiceObjectChoice.NO_OBJ) - err := choiceObj.Validate() + _, err := choiceObj.Marshal().ToYaml() assert.Nil(t, err) fObj := choiceObj.FObj() @@ -86,12 +86,12 @@ func TestChoiceWithNoPropertiesForChoiceHeirarchy(t *testing.T) { assert.Equal(t, fObj.FA(), "some string") // set choice with no properties in child obj - fObj.SetChoice(goapi.FObjectChoice.F_C) + fObj.FC() assert.Equal(t, fObj.Choice(), goapi.FObjectChoice.F_C) assert.False(t, fObj.HasFA()) assert.False(t, fObj.HasFB()) // validate the whole object - err = choiceObj.Validate() + _, err = choiceObj.Marshal().ToYaml() assert.Nil(t, err) } diff --git a/pkg/common.go b/pkg/common.go index 975fa4cd..45e83b8c 100644 --- a/pkg/common.go +++ b/pkg/common.go @@ -12,7 +12,6 @@ import ( "github.com/Masterminds/semver/v3" "google.golang.org/grpc" - "google.golang.org/grpc/status" ) type grpcTransport struct { @@ -116,13 +115,13 @@ func (obj *httpTransport) SetVerify(value bool) HttpTransport { return obj } -type api struct { +type apiSt struct { grpc *grpcTransport http *httpTransport warnings string } -type Api interface { +type api interface { NewGrpcTransport() GrpcTransport hasGrpcTransport() bool NewHttpTransport() HttpTransport @@ -130,17 +129,14 @@ type Api interface { Close() error // Warnings Api is only for testing purpose // and not intended to use in production - Warnings() string + getWarnings() string deprecated(message string) under_review(message string) addWarnings(message string) - fromHttpError(statusCode int, body []byte) Error - fromGrpcError(err error) (Error, bool) - FromError(err error) (Error, bool) } // NewGrpcTransport sets the underlying transport of the Api as grpc -func (api *api) NewGrpcTransport() GrpcTransport { +func (api *apiSt) NewGrpcTransport() GrpcTransport { api.grpc = &grpcTransport{ location: "localhost:5050", requestTimeout: 10 * time.Second, @@ -151,12 +147,12 @@ func (api *api) NewGrpcTransport() GrpcTransport { } // HasGrpcTransport will return True for gRPC transport -func (api *api) hasGrpcTransport() bool { +func (api *apiSt) hasGrpcTransport() bool { return api.grpc != nil } // NewHttpTransport sets the underlying transport of the Api as http -func (api *api) NewHttpTransport() HttpTransport { +func (api *apiSt) NewHttpTransport() HttpTransport { api.http = &httpTransport{ location: "https://localhost:443", verify: false, @@ -170,78 +166,29 @@ func (api *api) NewHttpTransport() HttpTransport { return api.http } -func (api *api) hasHttpTransport() bool { +func (api *apiSt) hasHttpTransport() bool { return api.http != nil } -func (api *api) Warnings() string { +func (api *apiSt) getWarnings() string { return api.warnings } -func (api *api) addWarnings(message string) { +func (api *apiSt) addWarnings(message string) { fmt.Printf("[WARNING]: %s\n", message) api.warnings = message } -func (api *api) deprecated(message string) { +func (api *apiSt) deprecated(message string) { api.warnings = message fmt.Printf("warning: %s\n", message) } -func (api *api) under_review(message string) { +func (api *apiSt) under_review(message string) { api.warnings = message fmt.Printf("warning: %s\n", message) } -func (api *api) FromError(err error) (Error, bool) { - if rErr, ok := err.(Error); ok { - return rErr, true - } - - rErr := NewError() - if err := rErr.FromJson(err.Error()); err == nil { - return rErr, true - } - - return api.fromGrpcError(err) -} - -func (api *api) setResponseErr(obj Error, code int32, message string) { - errors := []string{} - errors = append(errors, message) - obj.Msg().Code = &code - obj.Msg().Errors = errors -} - -func (api *api) fromGrpcError(err error) (Error, bool) { - st, ok := status.FromError(err) - if ok { - rErr := NewError() - if err := rErr.FromJson(st.Message()); err == nil { - var code = int32(st.Code()) - rErr.Msg().Code = &code - return rErr, true - } - - api.setResponseErr(rErr, int32(st.Code()), st.Message()) - return rErr, true - } - - return nil, false -} - -func (api *api) fromHttpError(statusCode int, body []byte) Error { - rErr := NewError() - bStr := string(body) - if err := rErr.FromJson(bStr); err == nil { - return rErr - } - - api.setResponseErr(rErr, int32(statusCode), bStr) - - return rErr -} - // HttpRequestDoer will return True for HTTP transport type httpRequestDoer interface { Do(req *http.Request) (*http.Response, error) diff --git a/pkg/generated_invalid_format_test.go b/pkg/generated_invalid_format_test.go index 9cbafd33..dceda8f3 100644 --- a/pkg/generated_invalid_format_test.go +++ b/pkg/generated_invalid_format_test.go @@ -20,9 +20,9 @@ func TestPrefixConfigIncorrectFormat(t *testing.T) { }` object := goapi.NewPrefixConfig() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestEObjectIncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -37,9 +37,9 @@ func TestEObjectIncorrectFormat(t *testing.T) { }` object := goapi.NewEObject() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestFObjectIncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -54,9 +54,9 @@ func TestFObjectIncorrectFormat(t *testing.T) { }` object := goapi.NewFObject() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestGObjectIncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -71,9 +71,9 @@ func TestGObjectIncorrectFormat(t *testing.T) { }` object := goapi.NewGObject() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestJObjectIncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -88,9 +88,9 @@ func TestJObjectIncorrectFormat(t *testing.T) { }` object := goapi.NewJObject() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestKObjectIncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -105,9 +105,9 @@ func TestKObjectIncorrectFormat(t *testing.T) { }` object := goapi.NewKObject() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestLObjectIncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -122,9 +122,9 @@ func TestLObjectIncorrectFormat(t *testing.T) { }` object := goapi.NewLObject() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestLevelOneIncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -139,9 +139,9 @@ func TestLevelOneIncorrectFormat(t *testing.T) { }` object := goapi.NewLevelOne() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestMandateIncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -156,9 +156,9 @@ func TestMandateIncorrectFormat(t *testing.T) { }` object := goapi.NewMandate() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestIpv4PatternIncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -173,9 +173,9 @@ func TestIpv4PatternIncorrectFormat(t *testing.T) { }` object := goapi.NewIpv4Pattern() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestIpv6PatternIncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -190,9 +190,9 @@ func TestIpv6PatternIncorrectFormat(t *testing.T) { }` object := goapi.NewIpv6Pattern() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestMacPatternIncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -207,9 +207,9 @@ func TestMacPatternIncorrectFormat(t *testing.T) { }` object := goapi.NewMacPattern() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestIntegerPatternIncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -224,9 +224,9 @@ func TestIntegerPatternIncorrectFormat(t *testing.T) { }` object := goapi.NewIntegerPattern() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestChecksumPatternIncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -241,9 +241,9 @@ func TestChecksumPatternIncorrectFormat(t *testing.T) { }` object := goapi.NewChecksumPattern() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestLayer1Ieee802XIncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -258,9 +258,9 @@ func TestLayer1Ieee802XIncorrectFormat(t *testing.T) { }` object := goapi.NewLayer1Ieee802X() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestMObjectIncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -275,9 +275,9 @@ func TestMObjectIncorrectFormat(t *testing.T) { }` object := goapi.NewMObject() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestPatternPrefixConfigHeaderChecksumIncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -292,9 +292,9 @@ func TestPatternPrefixConfigHeaderChecksumIncorrectFormat(t *testing.T) { }` object := goapi.NewPatternPrefixConfigHeaderChecksum() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestUpdateConfigIncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -309,9 +309,9 @@ func TestUpdateConfigIncorrectFormat(t *testing.T) { }` object := goapi.NewUpdateConfig() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestSetConfigResponseIncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -326,9 +326,9 @@ func TestSetConfigResponseIncorrectFormat(t *testing.T) { }` object := goapi.NewSetConfigResponse() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestErrorDetailsIncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -343,9 +343,9 @@ func TestErrorDetailsIncorrectFormat(t *testing.T) { }` object := goapi.NewError() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestErrorIncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -360,9 +360,9 @@ func TestErrorIncorrectFormat(t *testing.T) { }` object := goapi.NewError() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestUpdateConfigResponseIncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -377,9 +377,9 @@ func TestUpdateConfigResponseIncorrectFormat(t *testing.T) { }` object := goapi.NewUpdateConfigurationResponse() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestGetConfigResponseIncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -394,9 +394,9 @@ func TestGetConfigResponseIncorrectFormat(t *testing.T) { }` object := goapi.NewGetConfigResponse() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestGetMetricsResponseIncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -411,9 +411,9 @@ func TestGetMetricsResponseIncorrectFormat(t *testing.T) { }` object := goapi.NewGetMetricsResponse() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestMetricsIncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -428,9 +428,9 @@ func TestMetricsIncorrectFormat(t *testing.T) { }` object := goapi.NewMetrics() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestGetWarningsResponseIncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -445,9 +445,9 @@ func TestGetWarningsResponseIncorrectFormat(t *testing.T) { }` object := goapi.NewGetWarningsResponse() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestWarningDetailsIncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -462,9 +462,9 @@ func TestWarningDetailsIncorrectFormat(t *testing.T) { }` object := goapi.NewWarningDetails() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestClearWarningsResponseIncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -479,9 +479,9 @@ func TestClearWarningsResponseIncorrectFormat(t *testing.T) { }` object := goapi.NewClearWarningsResponse() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestLevelTwoIncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -496,9 +496,9 @@ func TestLevelTwoIncorrectFormat(t *testing.T) { }` object := goapi.NewLevelTwo() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestLevelFourIncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -513,9 +513,9 @@ func TestLevelFourIncorrectFormat(t *testing.T) { }` object := goapi.NewLevelFour() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestPatternIpv4PatternIpv4IncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -530,9 +530,9 @@ func TestPatternIpv4PatternIpv4IncorrectFormat(t *testing.T) { }` object := goapi.NewPatternIpv4PatternIpv4() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestPatternIpv6PatternIpv6IncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -547,9 +547,9 @@ func TestPatternIpv6PatternIpv6IncorrectFormat(t *testing.T) { }` object := goapi.NewPatternIpv6PatternIpv6() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestPatternMacPatternMacIncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -564,9 +564,9 @@ func TestPatternMacPatternMacIncorrectFormat(t *testing.T) { }` object := goapi.NewPatternMacPatternMac() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestPatternIntegerPatternIntegerIncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -581,9 +581,9 @@ func TestPatternIntegerPatternIntegerIncorrectFormat(t *testing.T) { }` object := goapi.NewPatternIntegerPatternInteger() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestPatternChecksumPatternChecksumIncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -598,9 +598,9 @@ func TestPatternChecksumPatternChecksumIncorrectFormat(t *testing.T) { }` object := goapi.NewPatternChecksumPatternChecksum() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestPortMetricIncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -615,9 +615,9 @@ func TestPortMetricIncorrectFormat(t *testing.T) { }` object := goapi.NewPortMetric() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestLevelThreeIncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -632,9 +632,9 @@ func TestLevelThreeIncorrectFormat(t *testing.T) { }` object := goapi.NewLevelThree() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestPatternIpv4PatternIpv4CounterIncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -649,9 +649,9 @@ func TestPatternIpv4PatternIpv4CounterIncorrectFormat(t *testing.T) { }` object := goapi.NewPatternIpv4PatternIpv4Counter() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestPatternIpv6PatternIpv6CounterIncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -666,9 +666,9 @@ func TestPatternIpv6PatternIpv6CounterIncorrectFormat(t *testing.T) { }` object := goapi.NewPatternIpv6PatternIpv6Counter() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestPatternMacPatternMacCounterIncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -683,9 +683,9 @@ func TestPatternMacPatternMacCounterIncorrectFormat(t *testing.T) { }` object := goapi.NewPatternMacPatternMacCounter() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } func TestPatternIntegerPatternIntegerCounterIncorrectFormat(t *testing.T) { incorrect_format := `{ @@ -700,7 +700,7 @@ func TestPatternIntegerPatternIntegerCounterIncorrectFormat(t *testing.T) { }` object := goapi.NewPatternIntegerPatternIntegerCounter() - assert.NotNil(t, object.FromYaml(incorrect_format)) - assert.NotNil(t, object.FromJson(incorrect_format)) - assert.NotNil(t, object.FromPbText(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_format)) } diff --git a/pkg/generated_invalid_key_test.go b/pkg/generated_invalid_key_test.go index b8d7ded3..aa3ab092 100644 --- a/pkg/generated_invalid_key_test.go +++ b/pkg/generated_invalid_key_test.go @@ -21,9 +21,9 @@ func TestPrefixConfigIncorrectKey(t *testing.T) { }` object := goapi.NewPrefixConfig() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestEObjectIncorrectKey(t *testing.T) { incorrect_key := `{ @@ -39,9 +39,9 @@ func TestEObjectIncorrectKey(t *testing.T) { }` object := goapi.NewEObject() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestFObjectIncorrectKey(t *testing.T) { incorrect_key := `{ @@ -57,9 +57,9 @@ func TestFObjectIncorrectKey(t *testing.T) { }` object := goapi.NewFObject() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestGObjectIncorrectKey(t *testing.T) { incorrect_key := `{ @@ -75,9 +75,9 @@ func TestGObjectIncorrectKey(t *testing.T) { }` object := goapi.NewGObject() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestJObjectIncorrectKey(t *testing.T) { incorrect_key := `{ @@ -93,9 +93,9 @@ func TestJObjectIncorrectKey(t *testing.T) { }` object := goapi.NewJObject() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestKObjectIncorrectKey(t *testing.T) { incorrect_key := `{ @@ -111,9 +111,9 @@ func TestKObjectIncorrectKey(t *testing.T) { }` object := goapi.NewKObject() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestLObjectIncorrectKey(t *testing.T) { incorrect_key := `{ @@ -129,9 +129,9 @@ func TestLObjectIncorrectKey(t *testing.T) { }` object := goapi.NewLObject() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestLevelOneIncorrectKey(t *testing.T) { incorrect_key := `{ @@ -147,9 +147,9 @@ func TestLevelOneIncorrectKey(t *testing.T) { }` object := goapi.NewLevelOne() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestMandateIncorrectKey(t *testing.T) { incorrect_key := `{ @@ -165,9 +165,9 @@ func TestMandateIncorrectKey(t *testing.T) { }` object := goapi.NewMandate() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestIpv4PatternIncorrectKey(t *testing.T) { incorrect_key := `{ @@ -183,9 +183,9 @@ func TestIpv4PatternIncorrectKey(t *testing.T) { }` object := goapi.NewIpv4Pattern() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestIpv6PatternIncorrectKey(t *testing.T) { incorrect_key := `{ @@ -201,9 +201,9 @@ func TestIpv6PatternIncorrectKey(t *testing.T) { }` object := goapi.NewIpv6Pattern() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestMacPatternIncorrectKey(t *testing.T) { incorrect_key := `{ @@ -219,9 +219,9 @@ func TestMacPatternIncorrectKey(t *testing.T) { }` object := goapi.NewMacPattern() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestIntegerPatternIncorrectKey(t *testing.T) { incorrect_key := `{ @@ -237,9 +237,9 @@ func TestIntegerPatternIncorrectKey(t *testing.T) { }` object := goapi.NewIntegerPattern() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestChecksumPatternIncorrectKey(t *testing.T) { incorrect_key := `{ @@ -255,9 +255,9 @@ func TestChecksumPatternIncorrectKey(t *testing.T) { }` object := goapi.NewChecksumPattern() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestLayer1Ieee802XIncorrectKey(t *testing.T) { incorrect_key := `{ @@ -273,9 +273,9 @@ func TestLayer1Ieee802XIncorrectKey(t *testing.T) { }` object := goapi.NewLayer1Ieee802X() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestMObjectIncorrectKey(t *testing.T) { incorrect_key := `{ @@ -291,9 +291,9 @@ func TestMObjectIncorrectKey(t *testing.T) { }` object := goapi.NewMObject() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestPatternPrefixConfigHeaderChecksumIncorrectKey(t *testing.T) { incorrect_key := `{ @@ -309,9 +309,9 @@ func TestPatternPrefixConfigHeaderChecksumIncorrectKey(t *testing.T) { }` object := goapi.NewPatternPrefixConfigHeaderChecksum() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestUpdateConfigIncorrectKey(t *testing.T) { incorrect_key := `{ @@ -327,9 +327,9 @@ func TestUpdateConfigIncorrectKey(t *testing.T) { }` object := goapi.NewUpdateConfig() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestSetConfigResponseIncorrectKey(t *testing.T) { incorrect_key := `{ @@ -345,9 +345,9 @@ func TestSetConfigResponseIncorrectKey(t *testing.T) { }` object := goapi.NewSetConfigResponse() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestErrorDetailsIncorrectKey(t *testing.T) { incorrect_key := `{ @@ -363,9 +363,9 @@ func TestErrorDetailsIncorrectKey(t *testing.T) { }` object := goapi.NewError() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestErrorIncorrectKey(t *testing.T) { incorrect_key := `{ @@ -381,9 +381,9 @@ func TestErrorIncorrectKey(t *testing.T) { }` object := goapi.NewError() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestUpdateConfigResponseIncorrectKey(t *testing.T) { incorrect_key := `{ @@ -399,9 +399,9 @@ func TestUpdateConfigResponseIncorrectKey(t *testing.T) { }` object := goapi.NewUpdateConfigurationResponse() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestGetConfigResponseIncorrectKey(t *testing.T) { incorrect_key := `{ @@ -417,9 +417,9 @@ func TestGetConfigResponseIncorrectKey(t *testing.T) { }` object := goapi.NewGetConfigResponse() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestGetMetricsResponseIncorrectKey(t *testing.T) { incorrect_key := `{ @@ -435,9 +435,9 @@ func TestGetMetricsResponseIncorrectKey(t *testing.T) { }` object := goapi.NewGetMetricsResponse() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestMetricsIncorrectKey(t *testing.T) { incorrect_key := `{ @@ -453,9 +453,9 @@ func TestMetricsIncorrectKey(t *testing.T) { }` object := goapi.NewMetrics() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestGetWarningsResponseIncorrectKey(t *testing.T) { incorrect_key := `{ @@ -471,9 +471,9 @@ func TestGetWarningsResponseIncorrectKey(t *testing.T) { }` object := goapi.NewGetWarningsResponse() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestWarningDetailsIncorrectKey(t *testing.T) { incorrect_key := `{ @@ -489,9 +489,9 @@ func TestWarningDetailsIncorrectKey(t *testing.T) { }` object := goapi.NewWarningDetails() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestClearWarningsResponseIncorrectKey(t *testing.T) { incorrect_key := `{ @@ -507,9 +507,9 @@ func TestClearWarningsResponseIncorrectKey(t *testing.T) { }` object := goapi.NewClearWarningsResponse() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestLevelTwoIncorrectKey(t *testing.T) { incorrect_key := `{ @@ -525,9 +525,9 @@ func TestLevelTwoIncorrectKey(t *testing.T) { }` object := goapi.NewLevelTwo() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestLevelFourIncorrectKey(t *testing.T) { incorrect_key := `{ @@ -543,9 +543,9 @@ func TestLevelFourIncorrectKey(t *testing.T) { }` object := goapi.NewLevelFour() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestPatternIpv4PatternIpv4IncorrectKey(t *testing.T) { incorrect_key := `{ @@ -561,9 +561,9 @@ func TestPatternIpv4PatternIpv4IncorrectKey(t *testing.T) { }` object := goapi.NewPatternIpv4PatternIpv4() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestPatternIpv6PatternIpv6IncorrectKey(t *testing.T) { incorrect_key := `{ @@ -579,9 +579,9 @@ func TestPatternIpv6PatternIpv6IncorrectKey(t *testing.T) { }` object := goapi.NewPatternIpv6PatternIpv6() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestPatternMacPatternMacIncorrectKey(t *testing.T) { incorrect_key := `{ @@ -597,9 +597,9 @@ func TestPatternMacPatternMacIncorrectKey(t *testing.T) { }` object := goapi.NewPatternMacPatternMac() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestPatternIntegerPatternIntegerIncorrectKey(t *testing.T) { incorrect_key := `{ @@ -615,9 +615,9 @@ func TestPatternIntegerPatternIntegerIncorrectKey(t *testing.T) { }` object := goapi.NewPatternIntegerPatternInteger() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestPatternChecksumPatternChecksumIncorrectKey(t *testing.T) { incorrect_key := `{ @@ -633,9 +633,9 @@ func TestPatternChecksumPatternChecksumIncorrectKey(t *testing.T) { }` object := goapi.NewPatternChecksumPatternChecksum() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestPortMetricIncorrectKey(t *testing.T) { incorrect_key := `{ @@ -651,9 +651,9 @@ func TestPortMetricIncorrectKey(t *testing.T) { }` object := goapi.NewPortMetric() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestLevelThreeIncorrectKey(t *testing.T) { incorrect_key := `{ @@ -669,9 +669,9 @@ func TestLevelThreeIncorrectKey(t *testing.T) { }` object := goapi.NewLevelThree() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestPatternIpv4PatternIpv4CounterIncorrectKey(t *testing.T) { incorrect_key := `{ @@ -687,9 +687,9 @@ func TestPatternIpv4PatternIpv4CounterIncorrectKey(t *testing.T) { }` object := goapi.NewPatternIpv4PatternIpv4Counter() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestPatternIpv6PatternIpv6CounterIncorrectKey(t *testing.T) { incorrect_key := `{ @@ -705,9 +705,9 @@ func TestPatternIpv6PatternIpv6CounterIncorrectKey(t *testing.T) { }` object := goapi.NewPatternIpv6PatternIpv6Counter() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestPatternMacPatternMacCounterIncorrectKey(t *testing.T) { incorrect_key := `{ @@ -723,9 +723,9 @@ func TestPatternMacPatternMacCounterIncorrectKey(t *testing.T) { }` object := goapi.NewPatternMacPatternMacCounter() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } func TestPatternIntegerPatternIntegerCounterIncorrectKey(t *testing.T) { incorrect_key := `{ @@ -741,7 +741,7 @@ func TestPatternIntegerPatternIntegerCounterIncorrectKey(t *testing.T) { }` object := goapi.NewPatternIntegerPatternIntegerCounter() - assert.NotNil(t, object.FromYaml(incorrect_key)) - assert.NotNil(t, object.FromJson(incorrect_key)) - assert.NotNil(t, object.FromPbText(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) + assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) } diff --git a/pkg/generated_required_test.go b/pkg/generated_required_test.go index 9c66631a..1dbd5811 100644 --- a/pkg/generated_required_test.go +++ b/pkg/generated_required_test.go @@ -17,11 +17,12 @@ func TestPrefixConfigRequired(t *testing.T) { EmitUnpopulated: false, Indent: " ", } - data, _ := opts.Marshal(object.Msg()) - err := object.FromJson(string(data)) - err1 := object.FromYaml(string(data)) - protoMarshal, _ := proto.Marshal(object.Msg()) - err2 := object.FromPbText(string(protoMarshal)) + p, _ := object.Marshal().ToProto() + data, _ := opts.Marshal(p) + err := object.Unmarshal().FromJson(string(data)) + err1 := object.Unmarshal().FromYaml(string(data)) + protoMarshal, _ := proto.Marshal(p) + err2 := object.Unmarshal().FromPbText(string(protoMarshal)) assert.Contains(t, err.Error(), "RequiredObject", "A", "B", "C") assert.Contains(t, err1.Error(), "RequiredObject", "A", "B", "C") assert.Contains(t, err2.Error(), "RequiredObject", "A", "B", "C") @@ -51,11 +52,12 @@ func TestMandateRequired(t *testing.T) { EmitUnpopulated: false, Indent: " ", } - data, _ := opts.Marshal(object.Msg()) - err := object.FromJson(string(data)) - err1 := object.FromYaml(string(data)) - protoMarshal, _ := proto.Marshal(object.Msg()) - err2 := object.FromPbText(string(protoMarshal)) + p, _ := object.Marshal().ToProto() + data, _ := opts.Marshal(p) + err := object.Unmarshal().FromJson(string(data)) + err1 := object.Unmarshal().FromYaml(string(data)) + protoMarshal, _ := proto.Marshal(p) + err2 := object.Unmarshal().FromPbText(string(protoMarshal)) assert.Contains(t, err.Error(), "RequiredParam") assert.Contains(t, err1.Error(), "RequiredParam") assert.Contains(t, err2.Error(), "RequiredParam") @@ -68,11 +70,12 @@ func TestMObjectRequired(t *testing.T) { EmitUnpopulated: false, Indent: " ", } - data, _ := opts.Marshal(object.Msg()) - err := object.FromJson(string(data)) - err1 := object.FromYaml(string(data)) - protoMarshal, _ := proto.Marshal(object.Msg()) - err2 := object.FromPbText(string(protoMarshal)) + p, _ := object.Marshal().ToProto() + data, _ := opts.Marshal(p) + err := object.Unmarshal().FromJson(string(data)) + err1 := object.Unmarshal().FromYaml(string(data)) + protoMarshal, _ := proto.Marshal(p) + err2 := object.Unmarshal().FromPbText(string(protoMarshal)) assert.Contains(t, err.Error(), "StringParam", "Integer", "Float", "Double", "Mac", "Ipv4", "Ipv6", "Hex") assert.Contains(t, err1.Error(), "StringParam", "Integer", "Float", "Double", "Mac", "Ipv4", "Ipv6", "Hex") assert.Contains(t, err2.Error(), "StringParam", "Integer", "Float", "Double", "Mac", "Ipv4", "Ipv6", "Hex") @@ -85,11 +88,12 @@ func TestPortMetricRequired(t *testing.T) { EmitUnpopulated: false, Indent: " ", } - data, _ := opts.Marshal(object.Msg()) - err := object.FromJson(string(data)) - err1 := object.FromYaml(string(data)) - protoMarshal, _ := proto.Marshal(object.Msg()) - err2 := object.FromPbText(string(protoMarshal)) + p, _ := object.Marshal().ToProto() + data, _ := opts.Marshal(p) + err := object.Unmarshal().FromJson(string(data)) + err1 := object.Unmarshal().FromYaml(string(data)) + protoMarshal, _ := proto.Marshal(p) + err2 := object.Unmarshal().FromPbText(string(protoMarshal)) assert.Contains(t, err.Error(), "Name", "TxFrames", "RxFrames") assert.Contains(t, err1.Error(), "Name", "TxFrames", "RxFrames") assert.Contains(t, err2.Error(), "Name", "TxFrames", "RxFrames") diff --git a/pkg/generated_test.go b/pkg/generated_test.go index 74073c7d..0cd6779e 100644 --- a/pkg/generated_test.go +++ b/pkg/generated_test.go @@ -8,53 +8,52 @@ import ( ) func TestConfigGenerated(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() config.SetIeee8021Qbb(true).SetSpace1(1).SetFullDuplex100Mb(1).SetResponse("status_200").SetA("abc").SetB(100.11).SetC(1).SetH(true).SetI([]byte{1, 0, 0, 1, 0, 0, 1, 1}).SetListOfStringValues([]string{"a", "b", "c"}).SetListOfIntegerValues([]int32{1, 2, 3}).SetInteger64(10000000000000000).SetStrLen("abc").SetName("abc1") v1 := config.RequiredObject() v1.SetEA(100.11).SetEB(1.7976931348623157e+308).SetName("abc2").SetMParam1("abc").SetMParam2("abc") v1.HasName() v1.HasMParam1() v1.HasMParam2() - v1Json, v1JsonError := v1.ToJson() + v1Json, v1JsonError := v1.Marshal().ToJson() assert.Nil(t, v1JsonError) - v1Yaml, v1YamlError := v1.ToYaml() + v1Yaml, v1YamlError := v1.Marshal().ToYaml() assert.Nil(t, v1YamlError) - v1PbText, v1PbTextError := v1.ToPbText() + v1PbText, v1PbTextError := v1.Marshal().ToPbText() assert.Nil(t, v1PbTextError) - assert.Nil(t, v1.FromJson(v1Json)) - assert.Nil(t, v1.FromYaml(v1Yaml)) - assert.Nil(t, v1.FromPbText(v1PbText)) + assert.Nil(t, v1.Unmarshal().FromJson(v1Json)) + assert.Nil(t, v1.Unmarshal().FromYaml(v1Yaml)) + assert.Nil(t, v1.Unmarshal().FromPbText(v1PbText)) config.SetRequiredObject(v1) v2 := config.OptionalObject() v2.SetEA(100.11).SetEB(1.7976931348623157e+308).SetName("abc3").SetMParam1("abc").SetMParam2("abc") v2.HasName() v2.HasMParam1() v2.HasMParam2() - v2Json, v2JsonError := v2.ToJson() + v2Json, v2JsonError := v2.Marshal().ToJson() assert.Nil(t, v2JsonError) - v2Yaml, v2YamlError := v2.ToYaml() + v2Yaml, v2YamlError := v2.Marshal().ToYaml() assert.Nil(t, v2YamlError) - v2PbText, v2PbTextError := v2.ToPbText() + v2PbText, v2PbTextError := v2.Marshal().ToPbText() assert.Nil(t, v2PbTextError) - assert.Nil(t, v2.FromJson(v2Json)) - assert.Nil(t, v2.FromYaml(v2Yaml)) - assert.Nil(t, v2.FromPbText(v2PbText)) + assert.Nil(t, v2.Unmarshal().FromJson(v2Json)) + assert.Nil(t, v2.Unmarshal().FromYaml(v2Yaml)) + assert.Nil(t, v2.Unmarshal().FromPbText(v2PbText)) config.SetOptionalObject(v2) v3 := config.E() v3.SetEA(100.11).SetEB(1.7976931348623157e+308).SetName("abc4").SetMParam1("abc").SetMParam2("abc") v3.HasName() v3.HasMParam1() v3.HasMParam2() - v3Json, v3JsonError := v3.ToJson() + v3Json, v3JsonError := v3.Marshal().ToJson() assert.Nil(t, v3JsonError) - v3Yaml, v3YamlError := v3.ToYaml() + v3Yaml, v3YamlError := v3.Marshal().ToYaml() assert.Nil(t, v3YamlError) - v3PbText, v3PbTextError := v3.ToPbText() + v3PbText, v3PbTextError := v3.Marshal().ToPbText() assert.Nil(t, v3PbTextError) - assert.Nil(t, v3.FromJson(v3Json)) - assert.Nil(t, v3.FromYaml(v3Yaml)) - assert.Nil(t, v3.FromPbText(v3PbText)) + assert.Nil(t, v3.Unmarshal().FromJson(v3Json)) + assert.Nil(t, v3.Unmarshal().FromYaml(v3Yaml)) + assert.Nil(t, v3.Unmarshal().FromPbText(v3PbText)) config.SetE(v3) v4 := config.F() v4.SetFA("abc").SetFB(1.7976931348623157e+308) @@ -64,15 +63,15 @@ func TestConfigGenerated(t *testing.T) { v4.Choice() v4.FA() v4.FB() - v4Json, v4JsonError := v4.ToJson() + v4Json, v4JsonError := v4.Marshal().ToJson() assert.Nil(t, v4JsonError) - v4Yaml, v4YamlError := v4.ToYaml() + v4Yaml, v4YamlError := v4.Marshal().ToYaml() assert.Nil(t, v4YamlError) - v4PbText, v4PbTextError := v4.ToPbText() + v4PbText, v4PbTextError := v4.Marshal().ToPbText() assert.Nil(t, v4PbTextError) - assert.Nil(t, v4.FromJson(v4Json)) - assert.Nil(t, v4.FromYaml(v4Yaml)) - assert.Nil(t, v4.FromPbText(v4PbText)) + assert.Nil(t, v4.Unmarshal().FromJson(v4Json)) + assert.Nil(t, v4.Unmarshal().FromYaml(v4Yaml)) + assert.Nil(t, v4.Unmarshal().FromPbText(v4PbText)) config.SetF(v4) v5 := config.G().Add() v5.SetGA("abc").SetGB(1).SetGC(100.11).SetGD("abc").SetGE(1.7976931348623157e+308).SetGF("a").SetName("abc5") @@ -84,30 +83,30 @@ func TestConfigGenerated(t *testing.T) { v5.HasGE() v5.HasGF() v5.HasName() - v5Json, v5JsonError := v5.ToJson() + v5Json, v5JsonError := v5.Marshal().ToJson() assert.Nil(t, v5JsonError) - v5Yaml, v5YamlError := v5.ToYaml() + v5Yaml, v5YamlError := v5.Marshal().ToYaml() assert.Nil(t, v5YamlError) - v5PbText, v5PbTextError := v5.ToPbText() + v5PbText, v5PbTextError := v5.Marshal().ToPbText() assert.Nil(t, v5PbTextError) - assert.Nil(t, v5.FromJson(v5Json)) - assert.Nil(t, v5.FromYaml(v5Yaml)) - assert.Nil(t, v5.FromPbText(v5PbText)) + assert.Nil(t, v5.Unmarshal().FromJson(v5Json)) + assert.Nil(t, v5.Unmarshal().FromYaml(v5Yaml)) + assert.Nil(t, v5.Unmarshal().FromPbText(v5PbText)) v6 := config.J().Add() v7 := v6.JA() v7.SetEA(100.11).SetEB(1.7976931348623157e+308).SetName("abc6").SetMParam1("abc").SetMParam2("abc") v7.HasName() v7.HasMParam1() v7.HasMParam2() - v7Json, v7JsonError := v7.ToJson() + v7Json, v7JsonError := v7.Marshal().ToJson() assert.Nil(t, v7JsonError) - v7Yaml, v7YamlError := v7.ToYaml() + v7Yaml, v7YamlError := v7.Marshal().ToYaml() assert.Nil(t, v7YamlError) - v7PbText, v7PbTextError := v7.ToPbText() + v7PbText, v7PbTextError := v7.Marshal().ToPbText() assert.Nil(t, v7PbTextError) - assert.Nil(t, v7.FromJson(v7Json)) - assert.Nil(t, v7.FromYaml(v7Yaml)) - assert.Nil(t, v7.FromPbText(v7PbText)) + assert.Nil(t, v7.Unmarshal().FromJson(v7Json)) + assert.Nil(t, v7.Unmarshal().FromYaml(v7Yaml)) + assert.Nil(t, v7.Unmarshal().FromPbText(v7PbText)) v6.SetJA(v7) v8 := v6.JB() v8.SetFA("abc").SetFB(1.7976931348623157e+308) @@ -117,43 +116,43 @@ func TestConfigGenerated(t *testing.T) { v8.Choice() v8.FA() v8.FB() - v8Json, v8JsonError := v8.ToJson() + v8Json, v8JsonError := v8.Marshal().ToJson() assert.Nil(t, v8JsonError) - v8Yaml, v8YamlError := v8.ToYaml() + v8Yaml, v8YamlError := v8.Marshal().ToYaml() assert.Nil(t, v8YamlError) - v8PbText, v8PbTextError := v8.ToPbText() + v8PbText, v8PbTextError := v8.Marshal().ToPbText() assert.Nil(t, v8PbTextError) - assert.Nil(t, v8.FromJson(v8Json)) - assert.Nil(t, v8.FromYaml(v8Yaml)) - assert.Nil(t, v8.FromPbText(v8PbText)) + assert.Nil(t, v8.Unmarshal().FromJson(v8Json)) + assert.Nil(t, v8.Unmarshal().FromYaml(v8Yaml)) + assert.Nil(t, v8.Unmarshal().FromPbText(v8PbText)) v6.SetJB(v8) v6.HasChoice() v6.HasJA() v6.HasJB() - v6Json, v6JsonError := v6.ToJson() + v6Json, v6JsonError := v6.Marshal().ToJson() assert.Nil(t, v6JsonError) - v6Yaml, v6YamlError := v6.ToYaml() + v6Yaml, v6YamlError := v6.Marshal().ToYaml() assert.Nil(t, v6YamlError) - v6PbText, v6PbTextError := v6.ToPbText() + v6PbText, v6PbTextError := v6.Marshal().ToPbText() assert.Nil(t, v6PbTextError) - assert.Nil(t, v6.FromJson(v6Json)) - assert.Nil(t, v6.FromYaml(v6Yaml)) - assert.Nil(t, v6.FromPbText(v6PbText)) + assert.Nil(t, v6.Unmarshal().FromJson(v6Json)) + assert.Nil(t, v6.Unmarshal().FromYaml(v6Yaml)) + assert.Nil(t, v6.Unmarshal().FromPbText(v6PbText)) v9 := config.K() v10 := v9.EObject() v10.SetEA(100.11).SetEB(1.7976931348623157e+308).SetName("abc7").SetMParam1("abc").SetMParam2("abc") v10.HasName() v10.HasMParam1() v10.HasMParam2() - v10Json, v10JsonError := v10.ToJson() + v10Json, v10JsonError := v10.Marshal().ToJson() assert.Nil(t, v10JsonError) - v10Yaml, v10YamlError := v10.ToYaml() + v10Yaml, v10YamlError := v10.Marshal().ToYaml() assert.Nil(t, v10YamlError) - v10PbText, v10PbTextError := v10.ToPbText() + v10PbText, v10PbTextError := v10.Marshal().ToPbText() assert.Nil(t, v10PbTextError) - assert.Nil(t, v10.FromJson(v10Json)) - assert.Nil(t, v10.FromYaml(v10Yaml)) - assert.Nil(t, v10.FromPbText(v10PbText)) + assert.Nil(t, v10.Unmarshal().FromJson(v10Json)) + assert.Nil(t, v10.Unmarshal().FromYaml(v10Yaml)) + assert.Nil(t, v10.Unmarshal().FromPbText(v10PbText)) v9.SetEObject(v10) v11 := v9.FObject() v11.SetFA("abc").SetFB(1.7976931348623157e+308) @@ -163,27 +162,27 @@ func TestConfigGenerated(t *testing.T) { v11.Choice() v11.FA() v11.FB() - v11Json, v11JsonError := v11.ToJson() + v11Json, v11JsonError := v11.Marshal().ToJson() assert.Nil(t, v11JsonError) - v11Yaml, v11YamlError := v11.ToYaml() + v11Yaml, v11YamlError := v11.Marshal().ToYaml() assert.Nil(t, v11YamlError) - v11PbText, v11PbTextError := v11.ToPbText() + v11PbText, v11PbTextError := v11.Marshal().ToPbText() assert.Nil(t, v11PbTextError) - assert.Nil(t, v11.FromJson(v11Json)) - assert.Nil(t, v11.FromYaml(v11Yaml)) - assert.Nil(t, v11.FromPbText(v11PbText)) + assert.Nil(t, v11.Unmarshal().FromJson(v11Json)) + assert.Nil(t, v11.Unmarshal().FromYaml(v11Yaml)) + assert.Nil(t, v11.Unmarshal().FromPbText(v11PbText)) v9.SetFObject(v11) v9.HasEObject() v9.HasFObject() - v9Json, v9JsonError := v9.ToJson() + v9Json, v9JsonError := v9.Marshal().ToJson() assert.Nil(t, v9JsonError) - v9Yaml, v9YamlError := v9.ToYaml() + v9Yaml, v9YamlError := v9.Marshal().ToYaml() assert.Nil(t, v9YamlError) - v9PbText, v9PbTextError := v9.ToPbText() + v9PbText, v9PbTextError := v9.Marshal().ToPbText() assert.Nil(t, v9PbTextError) - assert.Nil(t, v9.FromJson(v9Json)) - assert.Nil(t, v9.FromYaml(v9Yaml)) - assert.Nil(t, v9.FromPbText(v9PbText)) + assert.Nil(t, v9.Unmarshal().FromJson(v9Json)) + assert.Nil(t, v9.Unmarshal().FromYaml(v9Yaml)) + assert.Nil(t, v9.Unmarshal().FromPbText(v9PbText)) config.SetK(v9) v12 := config.L() v12.SetStringParam("abc").SetInteger(61).SetFloat(100.11).SetDouble(1.7976931348623157e+308).SetMac("00:00:00:00:00:0a").SetIpv4("1.1.1.1").SetIpv6("2000::1").SetHex("0x12") @@ -195,65 +194,65 @@ func TestConfigGenerated(t *testing.T) { v12.HasIpv4() v12.HasIpv6() v12.HasHex() - v12Json, v12JsonError := v12.ToJson() + v12Json, v12JsonError := v12.Marshal().ToJson() assert.Nil(t, v12JsonError) - v12Yaml, v12YamlError := v12.ToYaml() + v12Yaml, v12YamlError := v12.Marshal().ToYaml() assert.Nil(t, v12YamlError) - v12PbText, v12PbTextError := v12.ToPbText() + v12PbText, v12PbTextError := v12.Marshal().ToPbText() assert.Nil(t, v12PbTextError) - assert.Nil(t, v12.FromJson(v12Json)) - assert.Nil(t, v12.FromYaml(v12Yaml)) - assert.Nil(t, v12.FromPbText(v12PbText)) + assert.Nil(t, v12.Unmarshal().FromJson(v12Json)) + assert.Nil(t, v12.Unmarshal().FromYaml(v12Yaml)) + assert.Nil(t, v12.Unmarshal().FromPbText(v12PbText)) config.SetL(v12) v13 := config.Level() v14 := v13.L1P1() v15 := v14.L2P1() v15.SetL3P1("abc") v15.HasL3P1() - v15Json, v15JsonError := v15.ToJson() + v15Json, v15JsonError := v15.Marshal().ToJson() assert.Nil(t, v15JsonError) - v15Yaml, v15YamlError := v15.ToYaml() + v15Yaml, v15YamlError := v15.Marshal().ToYaml() assert.Nil(t, v15YamlError) - v15PbText, v15PbTextError := v15.ToPbText() + v15PbText, v15PbTextError := v15.Marshal().ToPbText() assert.Nil(t, v15PbTextError) - assert.Nil(t, v15.FromJson(v15Json)) - assert.Nil(t, v15.FromYaml(v15Yaml)) - assert.Nil(t, v15.FromPbText(v15PbText)) + assert.Nil(t, v15.Unmarshal().FromJson(v15Json)) + assert.Nil(t, v15.Unmarshal().FromYaml(v15Yaml)) + assert.Nil(t, v15.Unmarshal().FromPbText(v15PbText)) v14.SetL2P1(v15) v14.HasL2P1() - v14Json, v14JsonError := v14.ToJson() + v14Json, v14JsonError := v14.Marshal().ToJson() assert.Nil(t, v14JsonError) - v14Yaml, v14YamlError := v14.ToYaml() + v14Yaml, v14YamlError := v14.Marshal().ToYaml() assert.Nil(t, v14YamlError) - v14PbText, v14PbTextError := v14.ToPbText() + v14PbText, v14PbTextError := v14.Marshal().ToPbText() assert.Nil(t, v14PbTextError) - assert.Nil(t, v14.FromJson(v14Json)) - assert.Nil(t, v14.FromYaml(v14Yaml)) - assert.Nil(t, v14.FromPbText(v14PbText)) + assert.Nil(t, v14.Unmarshal().FromJson(v14Json)) + assert.Nil(t, v14.Unmarshal().FromYaml(v14Yaml)) + assert.Nil(t, v14.Unmarshal().FromPbText(v14PbText)) v13.SetL1P1(v14) v13.HasL1P1() v13.HasL1P2() - v13Json, v13JsonError := v13.ToJson() + v13Json, v13JsonError := v13.Marshal().ToJson() assert.Nil(t, v13JsonError) - v13Yaml, v13YamlError := v13.ToYaml() + v13Yaml, v13YamlError := v13.Marshal().ToYaml() assert.Nil(t, v13YamlError) - v13PbText, v13PbTextError := v13.ToPbText() + v13PbText, v13PbTextError := v13.Marshal().ToPbText() assert.Nil(t, v13PbTextError) - assert.Nil(t, v13.FromJson(v13Json)) - assert.Nil(t, v13.FromYaml(v13Yaml)) - assert.Nil(t, v13.FromPbText(v13PbText)) + assert.Nil(t, v13.Unmarshal().FromJson(v13Json)) + assert.Nil(t, v13.Unmarshal().FromYaml(v13Yaml)) + assert.Nil(t, v13.Unmarshal().FromPbText(v13PbText)) config.SetLevel(v13) v16 := config.Mandatory() v16.SetRequiredParam("abc") - v16Json, v16JsonError := v16.ToJson() + v16Json, v16JsonError := v16.Marshal().ToJson() assert.Nil(t, v16JsonError) - v16Yaml, v16YamlError := v16.ToYaml() + v16Yaml, v16YamlError := v16.Marshal().ToYaml() assert.Nil(t, v16YamlError) - v16PbText, v16PbTextError := v16.ToPbText() + v16PbText, v16PbTextError := v16.Marshal().ToPbText() assert.Nil(t, v16PbTextError) - assert.Nil(t, v16.FromJson(v16Json)) - assert.Nil(t, v16.FromYaml(v16Yaml)) - assert.Nil(t, v16.FromPbText(v16PbText)) + assert.Nil(t, v16.Unmarshal().FromJson(v16Json)) + assert.Nil(t, v16.Unmarshal().FromYaml(v16Yaml)) + assert.Nil(t, v16.Unmarshal().FromPbText(v16PbText)) config.SetMandatory(v16) v17 := config.Ipv4Pattern() v18 := v17.Ipv4() @@ -266,15 +265,15 @@ func TestConfigGenerated(t *testing.T) { v19.Start() v19.Step() v19.Count() - v19Json, v19JsonError := v19.ToJson() + v19Json, v19JsonError := v19.Marshal().ToJson() assert.Nil(t, v19JsonError) - v19Yaml, v19YamlError := v19.ToYaml() + v19Yaml, v19YamlError := v19.Marshal().ToYaml() assert.Nil(t, v19YamlError) - v19PbText, v19PbTextError := v19.ToPbText() + v19PbText, v19PbTextError := v19.Marshal().ToPbText() assert.Nil(t, v19PbTextError) - assert.Nil(t, v19.FromJson(v19Json)) - assert.Nil(t, v19.FromYaml(v19Yaml)) - assert.Nil(t, v19.FromPbText(v19PbText)) + assert.Nil(t, v19.Unmarshal().FromJson(v19Json)) + assert.Nil(t, v19.Unmarshal().FromYaml(v19Yaml)) + assert.Nil(t, v19.Unmarshal().FromPbText(v19PbText)) v18.SetIncrement(v19) v20 := v18.Decrement() v20.SetStart("1.1.1.1").SetStep("1.1.1.1").SetCount(1) @@ -284,15 +283,15 @@ func TestConfigGenerated(t *testing.T) { v20.Start() v20.Step() v20.Count() - v20Json, v20JsonError := v20.ToJson() + v20Json, v20JsonError := v20.Marshal().ToJson() assert.Nil(t, v20JsonError) - v20Yaml, v20YamlError := v20.ToYaml() + v20Yaml, v20YamlError := v20.Marshal().ToYaml() assert.Nil(t, v20YamlError) - v20PbText, v20PbTextError := v20.ToPbText() + v20PbText, v20PbTextError := v20.Marshal().ToPbText() assert.Nil(t, v20PbTextError) - assert.Nil(t, v20.FromJson(v20Json)) - assert.Nil(t, v20.FromYaml(v20Yaml)) - assert.Nil(t, v20.FromPbText(v20PbText)) + assert.Nil(t, v20.Unmarshal().FromJson(v20Json)) + assert.Nil(t, v20.Unmarshal().FromYaml(v20Yaml)) + assert.Nil(t, v20.Unmarshal().FromPbText(v20PbText)) v18.SetDecrement(v20) v18.HasChoice() v18.HasValue() @@ -301,26 +300,26 @@ func TestConfigGenerated(t *testing.T) { v18.Choice() v18.Value() v18.Values() - v18Json, v18JsonError := v18.ToJson() + v18Json, v18JsonError := v18.Marshal().ToJson() assert.Nil(t, v18JsonError) - v18Yaml, v18YamlError := v18.ToYaml() + v18Yaml, v18YamlError := v18.Marshal().ToYaml() assert.Nil(t, v18YamlError) - v18PbText, v18PbTextError := v18.ToPbText() + v18PbText, v18PbTextError := v18.Marshal().ToPbText() assert.Nil(t, v18PbTextError) - assert.Nil(t, v18.FromJson(v18Json)) - assert.Nil(t, v18.FromYaml(v18Yaml)) - assert.Nil(t, v18.FromPbText(v18PbText)) + assert.Nil(t, v18.Unmarshal().FromJson(v18Json)) + assert.Nil(t, v18.Unmarshal().FromYaml(v18Yaml)) + assert.Nil(t, v18.Unmarshal().FromPbText(v18PbText)) v17.SetIpv4(v18) v17.HasIpv4() - v17Json, v17JsonError := v17.ToJson() + v17Json, v17JsonError := v17.Marshal().ToJson() assert.Nil(t, v17JsonError) - v17Yaml, v17YamlError := v17.ToYaml() + v17Yaml, v17YamlError := v17.Marshal().ToYaml() assert.Nil(t, v17YamlError) - v17PbText, v17PbTextError := v17.ToPbText() + v17PbText, v17PbTextError := v17.Marshal().ToPbText() assert.Nil(t, v17PbTextError) - assert.Nil(t, v17.FromJson(v17Json)) - assert.Nil(t, v17.FromYaml(v17Yaml)) - assert.Nil(t, v17.FromPbText(v17PbText)) + assert.Nil(t, v17.Unmarshal().FromJson(v17Json)) + assert.Nil(t, v17.Unmarshal().FromYaml(v17Yaml)) + assert.Nil(t, v17.Unmarshal().FromPbText(v17PbText)) config.SetIpv4Pattern(v17) v21 := config.Ipv6Pattern() v22 := v21.Ipv6() @@ -333,15 +332,15 @@ func TestConfigGenerated(t *testing.T) { v23.Start() v23.Step() v23.Count() - v23Json, v23JsonError := v23.ToJson() + v23Json, v23JsonError := v23.Marshal().ToJson() assert.Nil(t, v23JsonError) - v23Yaml, v23YamlError := v23.ToYaml() + v23Yaml, v23YamlError := v23.Marshal().ToYaml() assert.Nil(t, v23YamlError) - v23PbText, v23PbTextError := v23.ToPbText() + v23PbText, v23PbTextError := v23.Marshal().ToPbText() assert.Nil(t, v23PbTextError) - assert.Nil(t, v23.FromJson(v23Json)) - assert.Nil(t, v23.FromYaml(v23Yaml)) - assert.Nil(t, v23.FromPbText(v23PbText)) + assert.Nil(t, v23.Unmarshal().FromJson(v23Json)) + assert.Nil(t, v23.Unmarshal().FromYaml(v23Yaml)) + assert.Nil(t, v23.Unmarshal().FromPbText(v23PbText)) v22.SetIncrement(v23) v24 := v22.Decrement() v24.SetStart("2000::1").SetStep("2000::1").SetCount(1) @@ -351,15 +350,15 @@ func TestConfigGenerated(t *testing.T) { v24.Start() v24.Step() v24.Count() - v24Json, v24JsonError := v24.ToJson() + v24Json, v24JsonError := v24.Marshal().ToJson() assert.Nil(t, v24JsonError) - v24Yaml, v24YamlError := v24.ToYaml() + v24Yaml, v24YamlError := v24.Marshal().ToYaml() assert.Nil(t, v24YamlError) - v24PbText, v24PbTextError := v24.ToPbText() + v24PbText, v24PbTextError := v24.Marshal().ToPbText() assert.Nil(t, v24PbTextError) - assert.Nil(t, v24.FromJson(v24Json)) - assert.Nil(t, v24.FromYaml(v24Yaml)) - assert.Nil(t, v24.FromPbText(v24PbText)) + assert.Nil(t, v24.Unmarshal().FromJson(v24Json)) + assert.Nil(t, v24.Unmarshal().FromYaml(v24Yaml)) + assert.Nil(t, v24.Unmarshal().FromPbText(v24PbText)) v22.SetDecrement(v24) v22.HasChoice() v22.HasValue() @@ -368,26 +367,26 @@ func TestConfigGenerated(t *testing.T) { v22.Choice() v22.Value() v22.Values() - v22Json, v22JsonError := v22.ToJson() + v22Json, v22JsonError := v22.Marshal().ToJson() assert.Nil(t, v22JsonError) - v22Yaml, v22YamlError := v22.ToYaml() + v22Yaml, v22YamlError := v22.Marshal().ToYaml() assert.Nil(t, v22YamlError) - v22PbText, v22PbTextError := v22.ToPbText() + v22PbText, v22PbTextError := v22.Marshal().ToPbText() assert.Nil(t, v22PbTextError) - assert.Nil(t, v22.FromJson(v22Json)) - assert.Nil(t, v22.FromYaml(v22Yaml)) - assert.Nil(t, v22.FromPbText(v22PbText)) + assert.Nil(t, v22.Unmarshal().FromJson(v22Json)) + assert.Nil(t, v22.Unmarshal().FromYaml(v22Yaml)) + assert.Nil(t, v22.Unmarshal().FromPbText(v22PbText)) v21.SetIpv6(v22) v21.HasIpv6() - v21Json, v21JsonError := v21.ToJson() + v21Json, v21JsonError := v21.Marshal().ToJson() assert.Nil(t, v21JsonError) - v21Yaml, v21YamlError := v21.ToYaml() + v21Yaml, v21YamlError := v21.Marshal().ToYaml() assert.Nil(t, v21YamlError) - v21PbText, v21PbTextError := v21.ToPbText() + v21PbText, v21PbTextError := v21.Marshal().ToPbText() assert.Nil(t, v21PbTextError) - assert.Nil(t, v21.FromJson(v21Json)) - assert.Nil(t, v21.FromYaml(v21Yaml)) - assert.Nil(t, v21.FromPbText(v21PbText)) + assert.Nil(t, v21.Unmarshal().FromJson(v21Json)) + assert.Nil(t, v21.Unmarshal().FromYaml(v21Yaml)) + assert.Nil(t, v21.Unmarshal().FromPbText(v21PbText)) config.SetIpv6Pattern(v21) v25 := config.MacPattern() v26 := v25.Mac() @@ -400,15 +399,15 @@ func TestConfigGenerated(t *testing.T) { v27.Start() v27.Step() v27.Count() - v27Json, v27JsonError := v27.ToJson() + v27Json, v27JsonError := v27.Marshal().ToJson() assert.Nil(t, v27JsonError) - v27Yaml, v27YamlError := v27.ToYaml() + v27Yaml, v27YamlError := v27.Marshal().ToYaml() assert.Nil(t, v27YamlError) - v27PbText, v27PbTextError := v27.ToPbText() + v27PbText, v27PbTextError := v27.Marshal().ToPbText() assert.Nil(t, v27PbTextError) - assert.Nil(t, v27.FromJson(v27Json)) - assert.Nil(t, v27.FromYaml(v27Yaml)) - assert.Nil(t, v27.FromPbText(v27PbText)) + assert.Nil(t, v27.Unmarshal().FromJson(v27Json)) + assert.Nil(t, v27.Unmarshal().FromYaml(v27Yaml)) + assert.Nil(t, v27.Unmarshal().FromPbText(v27PbText)) v26.SetIncrement(v27) v28 := v26.Decrement() v28.SetStart("00:00:00:00:00:0a").SetStep("00:00:00:00:00:0a").SetCount(1) @@ -418,15 +417,15 @@ func TestConfigGenerated(t *testing.T) { v28.Start() v28.Step() v28.Count() - v28Json, v28JsonError := v28.ToJson() + v28Json, v28JsonError := v28.Marshal().ToJson() assert.Nil(t, v28JsonError) - v28Yaml, v28YamlError := v28.ToYaml() + v28Yaml, v28YamlError := v28.Marshal().ToYaml() assert.Nil(t, v28YamlError) - v28PbText, v28PbTextError := v28.ToPbText() + v28PbText, v28PbTextError := v28.Marshal().ToPbText() assert.Nil(t, v28PbTextError) - assert.Nil(t, v28.FromJson(v28Json)) - assert.Nil(t, v28.FromYaml(v28Yaml)) - assert.Nil(t, v28.FromPbText(v28PbText)) + assert.Nil(t, v28.Unmarshal().FromJson(v28Json)) + assert.Nil(t, v28.Unmarshal().FromYaml(v28Yaml)) + assert.Nil(t, v28.Unmarshal().FromPbText(v28PbText)) v26.SetDecrement(v28) v26.HasChoice() v26.HasValue() @@ -435,26 +434,26 @@ func TestConfigGenerated(t *testing.T) { v26.Choice() v26.Value() v26.Values() - v26Json, v26JsonError := v26.ToJson() + v26Json, v26JsonError := v26.Marshal().ToJson() assert.Nil(t, v26JsonError) - v26Yaml, v26YamlError := v26.ToYaml() + v26Yaml, v26YamlError := v26.Marshal().ToYaml() assert.Nil(t, v26YamlError) - v26PbText, v26PbTextError := v26.ToPbText() + v26PbText, v26PbTextError := v26.Marshal().ToPbText() assert.Nil(t, v26PbTextError) - assert.Nil(t, v26.FromJson(v26Json)) - assert.Nil(t, v26.FromYaml(v26Yaml)) - assert.Nil(t, v26.FromPbText(v26PbText)) + assert.Nil(t, v26.Unmarshal().FromJson(v26Json)) + assert.Nil(t, v26.Unmarshal().FromYaml(v26Yaml)) + assert.Nil(t, v26.Unmarshal().FromPbText(v26PbText)) v25.SetMac(v26) v25.HasMac() - v25Json, v25JsonError := v25.ToJson() + v25Json, v25JsonError := v25.Marshal().ToJson() assert.Nil(t, v25JsonError) - v25Yaml, v25YamlError := v25.ToYaml() + v25Yaml, v25YamlError := v25.Marshal().ToYaml() assert.Nil(t, v25YamlError) - v25PbText, v25PbTextError := v25.ToPbText() + v25PbText, v25PbTextError := v25.Marshal().ToPbText() assert.Nil(t, v25PbTextError) - assert.Nil(t, v25.FromJson(v25Json)) - assert.Nil(t, v25.FromYaml(v25Yaml)) - assert.Nil(t, v25.FromPbText(v25PbText)) + assert.Nil(t, v25.Unmarshal().FromJson(v25Json)) + assert.Nil(t, v25.Unmarshal().FromYaml(v25Yaml)) + assert.Nil(t, v25.Unmarshal().FromPbText(v25PbText)) config.SetMacPattern(v25) v29 := config.IntegerPattern() v30 := v29.Integer() @@ -466,15 +465,15 @@ func TestConfigGenerated(t *testing.T) { v31.HasCount() v31.Step() v31.Count() - v31Json, v31JsonError := v31.ToJson() + v31Json, v31JsonError := v31.Marshal().ToJson() assert.Nil(t, v31JsonError) - v31Yaml, v31YamlError := v31.ToYaml() + v31Yaml, v31YamlError := v31.Marshal().ToYaml() assert.Nil(t, v31YamlError) - v31PbText, v31PbTextError := v31.ToPbText() + v31PbText, v31PbTextError := v31.Marshal().ToPbText() assert.Nil(t, v31PbTextError) - assert.Nil(t, v31.FromJson(v31Json)) - assert.Nil(t, v31.FromYaml(v31Yaml)) - assert.Nil(t, v31.FromPbText(v31PbText)) + assert.Nil(t, v31.Unmarshal().FromJson(v31Json)) + assert.Nil(t, v31.Unmarshal().FromYaml(v31Yaml)) + assert.Nil(t, v31.Unmarshal().FromPbText(v31PbText)) v30.SetIncrement(v31) v32 := v30.Decrement() v32.SetStart(49).SetStep(221).SetCount(1) @@ -483,15 +482,15 @@ func TestConfigGenerated(t *testing.T) { v32.HasCount() v32.Step() v32.Count() - v32Json, v32JsonError := v32.ToJson() + v32Json, v32JsonError := v32.Marshal().ToJson() assert.Nil(t, v32JsonError) - v32Yaml, v32YamlError := v32.ToYaml() + v32Yaml, v32YamlError := v32.Marshal().ToYaml() assert.Nil(t, v32YamlError) - v32PbText, v32PbTextError := v32.ToPbText() + v32PbText, v32PbTextError := v32.Marshal().ToPbText() assert.Nil(t, v32PbTextError) - assert.Nil(t, v32.FromJson(v32Json)) - assert.Nil(t, v32.FromYaml(v32Yaml)) - assert.Nil(t, v32.FromPbText(v32PbText)) + assert.Nil(t, v32.Unmarshal().FromJson(v32Json)) + assert.Nil(t, v32.Unmarshal().FromYaml(v32Yaml)) + assert.Nil(t, v32.Unmarshal().FromPbText(v32PbText)) v30.SetDecrement(v32) v30.HasChoice() v30.HasValue() @@ -499,26 +498,26 @@ func TestConfigGenerated(t *testing.T) { v30.HasDecrement() v30.Choice() v30.Values() - v30Json, v30JsonError := v30.ToJson() + v30Json, v30JsonError := v30.Marshal().ToJson() assert.Nil(t, v30JsonError) - v30Yaml, v30YamlError := v30.ToYaml() + v30Yaml, v30YamlError := v30.Marshal().ToYaml() assert.Nil(t, v30YamlError) - v30PbText, v30PbTextError := v30.ToPbText() + v30PbText, v30PbTextError := v30.Marshal().ToPbText() assert.Nil(t, v30PbTextError) - assert.Nil(t, v30.FromJson(v30Json)) - assert.Nil(t, v30.FromYaml(v30Yaml)) - assert.Nil(t, v30.FromPbText(v30PbText)) + assert.Nil(t, v30.Unmarshal().FromJson(v30Json)) + assert.Nil(t, v30.Unmarshal().FromYaml(v30Yaml)) + assert.Nil(t, v30.Unmarshal().FromPbText(v30PbText)) v29.SetInteger(v30) v29.HasInteger() - v29Json, v29JsonError := v29.ToJson() + v29Json, v29JsonError := v29.Marshal().ToJson() assert.Nil(t, v29JsonError) - v29Yaml, v29YamlError := v29.ToYaml() + v29Yaml, v29YamlError := v29.Marshal().ToYaml() assert.Nil(t, v29YamlError) - v29PbText, v29PbTextError := v29.ToPbText() + v29PbText, v29PbTextError := v29.Marshal().ToPbText() assert.Nil(t, v29PbTextError) - assert.Nil(t, v29.FromJson(v29Json)) - assert.Nil(t, v29.FromYaml(v29Yaml)) - assert.Nil(t, v29.FromPbText(v29PbText)) + assert.Nil(t, v29.Unmarshal().FromJson(v29Json)) + assert.Nil(t, v29.Unmarshal().FromYaml(v29Yaml)) + assert.Nil(t, v29.Unmarshal().FromPbText(v29PbText)) config.SetIntegerPattern(v29) v33 := config.ChecksumPattern() v34 := v33.Checksum() @@ -528,38 +527,38 @@ func TestConfigGenerated(t *testing.T) { v34.HasCustom() v34.Choice() v34.Generated() - v34Json, v34JsonError := v34.ToJson() + v34Json, v34JsonError := v34.Marshal().ToJson() assert.Nil(t, v34JsonError) - v34Yaml, v34YamlError := v34.ToYaml() + v34Yaml, v34YamlError := v34.Marshal().ToYaml() assert.Nil(t, v34YamlError) - v34PbText, v34PbTextError := v34.ToPbText() + v34PbText, v34PbTextError := v34.Marshal().ToPbText() assert.Nil(t, v34PbTextError) - assert.Nil(t, v34.FromJson(v34Json)) - assert.Nil(t, v34.FromYaml(v34Yaml)) - assert.Nil(t, v34.FromPbText(v34PbText)) + assert.Nil(t, v34.Unmarshal().FromJson(v34Json)) + assert.Nil(t, v34.Unmarshal().FromYaml(v34Yaml)) + assert.Nil(t, v34.Unmarshal().FromPbText(v34PbText)) v33.SetChecksum(v34) v33.HasChecksum() - v33Json, v33JsonError := v33.ToJson() + v33Json, v33JsonError := v33.Marshal().ToJson() assert.Nil(t, v33JsonError) - v33Yaml, v33YamlError := v33.ToYaml() + v33Yaml, v33YamlError := v33.Marshal().ToYaml() assert.Nil(t, v33YamlError) - v33PbText, v33PbTextError := v33.ToPbText() + v33PbText, v33PbTextError := v33.Marshal().ToPbText() assert.Nil(t, v33PbTextError) - assert.Nil(t, v33.FromJson(v33Json)) - assert.Nil(t, v33.FromYaml(v33Yaml)) - assert.Nil(t, v33.FromPbText(v33PbText)) + assert.Nil(t, v33.Unmarshal().FromJson(v33Json)) + assert.Nil(t, v33.Unmarshal().FromYaml(v33Yaml)) + assert.Nil(t, v33.Unmarshal().FromPbText(v33PbText)) config.SetChecksumPattern(v33) v35 := config.MObject() v35.SetStringParam("abc").SetInteger(24).SetFloat(100.11).SetDouble(1.7976931348623157e+308).SetMac("00:00:00:00:00:0a").SetIpv4("1.1.1.1").SetIpv6("2000::1").SetHex("0x12") - v35Json, v35JsonError := v35.ToJson() + v35Json, v35JsonError := v35.Marshal().ToJson() assert.Nil(t, v35JsonError) - v35Yaml, v35YamlError := v35.ToYaml() + v35Yaml, v35YamlError := v35.Marshal().ToYaml() assert.Nil(t, v35YamlError) - v35PbText, v35PbTextError := v35.ToPbText() + v35PbText, v35PbTextError := v35.Marshal().ToPbText() assert.Nil(t, v35PbTextError) - assert.Nil(t, v35.FromJson(v35Json)) - assert.Nil(t, v35.FromYaml(v35Yaml)) - assert.Nil(t, v35.FromPbText(v35PbText)) + assert.Nil(t, v35.Unmarshal().FromJson(v35Json)) + assert.Nil(t, v35.Unmarshal().FromYaml(v35Yaml)) + assert.Nil(t, v35.Unmarshal().FromPbText(v35PbText)) config.SetMObject(v35) v36 := config.HeaderChecksum() v36.SetGenerated("good").SetCustom(32949) @@ -568,15 +567,15 @@ func TestConfigGenerated(t *testing.T) { v36.HasCustom() v36.Choice() v36.Generated() - v36Json, v36JsonError := v36.ToJson() + v36Json, v36JsonError := v36.Marshal().ToJson() assert.Nil(t, v36JsonError) - v36Yaml, v36YamlError := v36.ToYaml() + v36Yaml, v36YamlError := v36.Marshal().ToYaml() assert.Nil(t, v36YamlError) - v36PbText, v36PbTextError := v36.ToPbText() + v36PbText, v36PbTextError := v36.Marshal().ToPbText() assert.Nil(t, v36PbTextError) - assert.Nil(t, v36.FromJson(v36Json)) - assert.Nil(t, v36.FromYaml(v36Yaml)) - assert.Nil(t, v36.FromPbText(v36PbText)) + assert.Nil(t, v36.Unmarshal().FromJson(v36Json)) + assert.Nil(t, v36.Unmarshal().FromYaml(v36Yaml)) + assert.Nil(t, v36.Unmarshal().FromPbText(v36PbText)) config.SetHeaderChecksum(v36) config.HasOptionalObject() config.HasIeee8021Qbb() @@ -603,13 +602,13 @@ func TestConfigGenerated(t *testing.T) { config.HasName() config.Response() config.H() - configJson, jerr := config.ToJson() + configJson, jerr := config.Marshal().ToJson() assert.Nil(t, jerr) - configYaml, yerr := config.ToYaml() + configYaml, yerr := config.Marshal().ToYaml() assert.Nil(t, yerr) - configPbText, pberr := config.ToPbText() + configPbText, pberr := config.Marshal().ToPbText() assert.Nil(t, pberr) - assert.Nil(t, config.FromJson(configJson)) - assert.Nil(t, config.FromYaml(configYaml)) - assert.Nil(t, config.FromPbText(configPbText)) + assert.Nil(t, config.Unmarshal().FromJson(configJson)) + assert.Nil(t, config.Unmarshal().FromYaml(configYaml)) + assert.Nil(t, config.Unmarshal().FromPbText(configPbText)) } diff --git a/pkg/generated_validate_test.go b/pkg/generated_validate_test.go index 8510fb7b..0527b35a 100644 --- a/pkg/generated_validate_test.go +++ b/pkg/generated_validate_test.go @@ -5,171 +5,126 @@ import ( goapi "github.com/open-traffic-generator/goapi/pkg" "github.com/stretchr/testify/assert" - "google.golang.org/protobuf/encoding/protojson" - "google.golang.org/protobuf/proto" ) func TestConfigGeneratedValidate(t *testing.T) { - opts := protojson.MarshalOptions{ - UseProtoNames: true, - AllowPartial: true, - EmitUnpopulated: false, - Indent: " ", - } - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() v1 := config.RequiredObject() - _ = v1.Validate() + _, err := v1.Marshal().ToYaml() + assert.NotNil(t, err) v2 := config.OptionalObject() - _ = v2.Validate() + _, err = v2.Marshal().ToJson() + assert.NotNil(t, err) v3 := config.E() - _ = v3.Validate() + _, err = v3.Marshal().ToYaml() + assert.NotNil(t, err) v4 := config.F() - _ = v4.Validate() + _, err = v4.Marshal().ToYaml() + assert.Nil(t, err) v5 := config.G().Add() - _ = v5.Validate() + _, err = v5.Marshal().ToYaml() + assert.Nil(t, err) v6 := config.J().Add() v7 := v6.JA() - _ = v7.Validate() + _, err = v7.Marshal().ToYaml() + assert.NotNil(t, err) v8 := v6.JB() - _ = v8.Validate() - _ = v6.Validate() + _, err = v8.Marshal().ToYaml() + assert.Nil(t, err) + _, err = v6.Marshal().ToYaml() + assert.Nil(t, err) v9 := config.K() v10 := v9.EObject() - _ = v10.Validate() + _, err = v10.Marshal().ToYaml() + assert.NotNil(t, err) v11 := v9.FObject() - _ = v11.Validate() - _ = v9.Validate() + _, err = v11.Marshal().ToYaml() + assert.Nil(t, err) + _, err = v9.Marshal().ToYaml() + assert.NotNil(t, err) v12 := config.L() v12.SetInteger(9).SetMac("00:00:00:00:00:0a::0b").SetIpv4("1.1.1.1.1").SetIpv6("2000::1::1").SetHex("0x12JKL") - data12, _ := opts.Marshal(v12.Msg()) - assert.NotNil(t, v12.FromJson(string(data12))) - assert.NotNil(t, v12.FromYaml(string(data12))) - prot_marshal12, _ := proto.Marshal(v12.Msg()) - assert.NotNil(t, v12.FromPbText(string(prot_marshal12))) + _, err = v12.Marshal().ToProto() + assert.NotNil(t, err) v13 := config.Level() v14 := v13.L1P1() v15 := v14.L2P1() - _ = v15.Validate() - _ = v14.Validate() - _ = v13.Validate() + _, err = v15.Marshal().ToYaml() + assert.Nil(t, err) + _, err = v13.Marshal().ToYaml() + assert.Nil(t, err) + _, err = v14.Marshal().ToYaml() + assert.Nil(t, err) v16 := config.Mandatory() - _ = v16.Validate() + _, err = v16.Marshal().ToYaml() + assert.NotNil(t, err) v17 := config.Ipv4Pattern() v18 := v17.Ipv4() v18.SetValue("1.1.1.1.1").SetValues([]string{"1.1.1.1.1"}) v19 := v18.Increment() v19.SetStart("1.1.1.1.1").SetStep("1.1.1.1.1") - data19, _ := opts.Marshal(v19.Msg()) - assert.NotNil(t, v19.FromJson(string(data19))) - assert.NotNil(t, v19.FromYaml(string(data19))) - prot_marshal19, _ := proto.Marshal(v19.Msg()) - assert.NotNil(t, v19.FromPbText(string(prot_marshal19))) + _, err = v19.Marshal().ToProto() + assert.NotNil(t, err) v20 := v18.Decrement() v20.SetStart("1.1.1.1.1").SetStep("1.1.1.1.1") - data20, _ := opts.Marshal(v20.Msg()) - assert.NotNil(t, v20.FromJson(string(data20))) - assert.NotNil(t, v20.FromYaml(string(data20))) - prot_marshal20, _ := proto.Marshal(v20.Msg()) - assert.NotNil(t, v20.FromPbText(string(prot_marshal20))) - data18, _ := opts.Marshal(v18.Msg()) - assert.NotNil(t, v18.FromJson(string(data18))) - assert.NotNil(t, v18.FromYaml(string(data18))) - prot_marshal18, _ := proto.Marshal(v18.Msg()) - assert.NotNil(t, v18.FromPbText(string(prot_marshal18))) - _ = v17.Validate() + _, err = v20.Marshal().ToProto() + assert.NotNil(t, err) + _, err = v18.Marshal().ToProto() + assert.NotNil(t, err) v21 := config.Ipv6Pattern() v22 := v21.Ipv6() v22.SetValue("2000::1::1").SetValues([]string{"2000::1::2"}) v23 := v22.Increment() v23.SetStart("2000::1::1").SetStep("2000::1::1") - data23, _ := opts.Marshal(v23.Msg()) - assert.NotNil(t, v23.FromJson(string(data23))) - assert.NotNil(t, v23.FromYaml(string(data23))) - prot_marshal23, _ := proto.Marshal(v23.Msg()) - assert.NotNil(t, v23.FromPbText(string(prot_marshal23))) + _, err = v23.Marshal().ToProto() + assert.NotNil(t, err) v24 := v22.Decrement() v24.SetStart("2000::1::1").SetStep("2000::1::1") - data24, _ := opts.Marshal(v24.Msg()) - assert.NotNil(t, v24.FromJson(string(data24))) - assert.NotNil(t, v24.FromYaml(string(data24))) - prot_marshal24, _ := proto.Marshal(v24.Msg()) - assert.NotNil(t, v24.FromPbText(string(prot_marshal24))) - data22, _ := opts.Marshal(v22.Msg()) - assert.NotNil(t, v22.FromJson(string(data22))) - assert.NotNil(t, v22.FromYaml(string(data22))) - prot_marshal22, _ := proto.Marshal(v22.Msg()) - assert.NotNil(t, v22.FromPbText(string(prot_marshal22))) - _ = v21.Validate() + _, err = v24.Marshal().ToProto() + assert.NotNil(t, err) + _, err = v22.Marshal().ToProto() + assert.NotNil(t, err) v25 := config.MacPattern() v26 := v25.Mac() v26.SetValue("00:00:00:00:00:0a::0b").SetValues([]string{"00:00:00:00:00:0a::b"}) v27 := v26.Increment() v27.SetStart("00:00:00:00:00:0a::0b").SetStep("00:00:00:00:00:0a::0b") - data27, _ := opts.Marshal(v27.Msg()) - assert.NotNil(t, v27.FromJson(string(data27))) - assert.NotNil(t, v27.FromYaml(string(data27))) - prot_marshal27, _ := proto.Marshal(v27.Msg()) - assert.NotNil(t, v27.FromPbText(string(prot_marshal27))) + _, err = v27.Marshal().ToProto() + assert.NotNil(t, err) v28 := v26.Decrement() v28.SetStart("00:00:00:00:00:0a::0b").SetStep("00:00:00:00:00:0a::0b") - data28, _ := opts.Marshal(v28.Msg()) - assert.NotNil(t, v28.FromJson(string(data28))) - assert.NotNil(t, v28.FromYaml(string(data28))) - prot_marshal28, _ := proto.Marshal(v28.Msg()) - assert.NotNil(t, v28.FromPbText(string(prot_marshal28))) - data26, _ := opts.Marshal(v26.Msg()) - assert.NotNil(t, v26.FromJson(string(data26))) - assert.NotNil(t, v26.FromYaml(string(data26))) - prot_marshal26, _ := proto.Marshal(v26.Msg()) - assert.NotNil(t, v26.FromPbText(string(prot_marshal26))) - _ = v25.Validate() + _, err = v28.Marshal().ToProto() + assert.NotNil(t, err) + _, err = v26.Marshal().ToProto() + assert.NotNil(t, err) + _, err = v25.Marshal().ToYaml() + assert.NotNil(t, err) v29 := config.IntegerPattern() v30 := v29.Integer() v30.SetValue(1).SetValues([]uint32{1}) v31 := v30.Increment() v31.SetStart(500).SetStep(500) - data31, _ := opts.Marshal(v31.Msg()) - assert.NotNil(t, v31.FromJson(string(data31))) - assert.NotNil(t, v31.FromYaml(string(data31))) - prot_marshal31, _ := proto.Marshal(v31.Msg()) - assert.NotNil(t, v31.FromPbText(string(prot_marshal31))) + _, err = v31.Marshal().ToProto() + assert.NotNil(t, err) v32 := v30.Decrement() v32.SetStart(500).SetStep(500) - data32, _ := opts.Marshal(v32.Msg()) - assert.NotNil(t, v32.FromJson(string(data32))) - assert.NotNil(t, v32.FromYaml(string(data32))) - prot_marshal32, _ := proto.Marshal(v32.Msg()) - assert.NotNil(t, v32.FromPbText(string(prot_marshal32))) - data30, _ := opts.Marshal(v30.Msg()) - assert.NotNil(t, v30.FromJson(string(data30))) - assert.NotNil(t, v30.FromYaml(string(data30))) - prot_marshal30, _ := proto.Marshal(v30.Msg()) - assert.NotNil(t, v30.FromPbText(string(prot_marshal30))) - _ = v29.Validate() + _, err = v32.Marshal().ToProto() + assert.NotNil(t, err) + _, err = v30.Marshal().ToProto() + assert.NotNil(t, err) v33 := config.ChecksumPattern() v34 := v33.Checksum() v34.SetCustom(500) - data34, _ := opts.Marshal(v34.Msg()) - assert.NotNil(t, v34.FromJson(string(data34))) - assert.NotNil(t, v34.FromYaml(string(data34))) - prot_marshal34, _ := proto.Marshal(v34.Msg()) - assert.NotNil(t, v34.FromPbText(string(prot_marshal34))) - _ = v33.Validate() + _, err = v34.Marshal().ToProto() + assert.NotNil(t, err) v35 := config.MObject() v35.SetInteger(9).SetMac("00:00:00:00:00:0a::0b").SetIpv4("1.1.1.1.1").SetIpv6("2000::1::1").SetHex("0x12JKL") - data35, _ := opts.Marshal(v35.Msg()) - assert.NotNil(t, v35.FromJson(string(data35))) - assert.NotNil(t, v35.FromYaml(string(data35))) - prot_marshal35, _ := proto.Marshal(v35.Msg()) - assert.NotNil(t, v35.FromPbText(string(prot_marshal35))) + _, err = v35.Marshal().ToProto() + assert.NotNil(t, err) v36 := config.HeaderChecksum() v36.SetCustom(12345678) - data36, _ := opts.Marshal(v36.Msg()) - assert.NotNil(t, v36.FromJson(string(data36))) - assert.NotNil(t, v36.FromYaml(string(data36))) - prot_marshal36, _ := proto.Marshal(v36.Msg()) - assert.NotNil(t, v36.FromPbText(string(prot_marshal36))) + _, err = v36.Marshal().ToProto() + assert.NotNil(t, err) } diff --git a/pkg/mock_grpcserver_test.go b/pkg/mock_grpcserver_test.go index b7c627c1..dd12bc3a 100644 --- a/pkg/mock_grpcserver_test.go +++ b/pkg/mock_grpcserver_test.go @@ -66,11 +66,11 @@ func (s *GrpcServer) SetConfig(ctx context.Context, req *sanity.SetConfigRequest resp = nil errObj := goapi.NewError() var code int32 = 500 - errObj.Msg().Code = &code + _ = errObj.SetCode(code) tmp := errObj.SetKind("internal") fmt.Println(tmp) - errObj.Msg().Errors = []string{"internal err 1"} - jsonStr, e := errObj.ToJson() + _ = errObj.SetErrors([]string{"internal err 1"}) + jsonStr, e := errObj.Marshal().ToJson() if e != nil { return resp, e } @@ -85,9 +85,9 @@ func (s *GrpcServer) SetConfig(ctx context.Context, req *sanity.SetConfigRequest s.Config = req.PrefixConfig errObj := goapi.NewError() var code int32 = 404 - errObj.Msg().Code = &code - errObj.Msg().Errors = []string{"returning err1", "returning err2"} - jsonStr, e := errObj.ToJson() + _ = errObj.SetCode(code) + _ = errObj.SetErrors([]string{"returning err1", "returning err2"}) + jsonStr, e := errObj.Marshal().ToJson() if e != nil { return resp, e } @@ -104,8 +104,9 @@ func (s *GrpcServer) GetConfig(ctx context.Context, req *empty.Empty) (*sanity.G } func (s *GrpcServer) GetVersion(ctx context.Context, req *empty.Empty) (*sanity.GetVersionResponse, error) { + ver, _ := goapi.NewApi().GetLocalVersion().Marshal().ToProto() resp := &sanity.GetVersionResponse{ - Version: goapi.NewApi().GetLocalVersion().Msg(), + Version: ver, } return resp, nil } @@ -118,11 +119,11 @@ func (s *GrpcServer) UpdateConfiguration(ctx context.Context, req *sanity.Update } else if req.UpdateConfig.G[0].GetName() == "Erkind" { errObj := goapi.NewError() var code int32 = 404 - errObj.Msg().Code = &code + _ = errObj.SetCode(code) tmp := errObj.SetKind("validation") fmt.Println(tmp) - errObj.Msg().Errors = []string{"invalid1", "invalid2"} - jsonStr, e := errObj.ToJson() + _ = errObj.SetErrors([]string{"invalid1", "invalid2"}) + jsonStr, e := errObj.Marshal().ToJson() if e != nil { return nil, e } diff --git a/pkg/mock_httpserver_test.go b/pkg/mock_httpserver_test.go index 63180c2c..847b577a 100644 --- a/pkg/mock_httpserver_test.go +++ b/pkg/mock_httpserver_test.go @@ -87,11 +87,11 @@ func (h *bundlerHandler) SetConfig(rbody goapi.PrefixConfig, r *http.Request) (g case goapi.PrefixConfigResponse.STATUS_500: err := goapi.NewError() var code int32 = 500 - err.Msg().Code = &code + _ = err.SetCode(code) e := err.SetKind("internal") fmt.Println(e) - err.Msg().Errors = []string{"internal err 1", "internal err 2", "internal err 3"} - jsonStr, _ := err.ToJson() + _ = err.SetErrors([]string{"internal err 1", "internal err 2", "internal err 3"}) + jsonStr, _ := err.Marshal().ToJson() return nil, fmt.Errorf(jsonStr) } return response, nil @@ -99,8 +99,8 @@ func (h *bundlerHandler) SetConfig(rbody goapi.PrefixConfig, r *http.Request) (g func (h *bundlerHandler) UpdateConfiguration(rbody goapi.UpdateConfig, r *http.Request) (goapi.UpdateConfigurationResponse, error) { response := goapi.NewUpdateConfigurationResponse() - data, _ := httpServer.Config.ToJson() - err := response.PrefixConfig().FromJson(data) + data, _ := httpServer.Config.Marshal().ToJson() + err := response.PrefixConfig().Unmarshal().FromJson(data) if err != nil { log.Print(err.Error()) } @@ -136,7 +136,8 @@ func (h *metricsHandler) GetController() interfaces.MetricsController { } func (h *metricsHandler) GetMetrics(req goapi.MetricsRequest, r *http.Request) (goapi.GetMetricsResponse, error) { - choice := req.Msg().GetChoice().String() + ch, _ := req.Marshal().ToProto() + choice := ch.GetChoice().String() switch choice { case "port": response := goapi.NewGetMetricsResponse() diff --git a/pkg/multiple_iter_test.go b/pkg/multiple_iter_test.go index ca048d08..5428594c 100644 --- a/pkg/multiple_iter_test.go +++ b/pkg/multiple_iter_test.go @@ -8,8 +8,7 @@ import ( ) func TestMultipleIter(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() config.SetA("test") config.SetB(1.234) config.SetC(32) @@ -29,7 +28,7 @@ func TestMultipleIter(t *testing.T) { assert.Equal(t, len(config.G2().Items()), 1) t.Log(config) // validating the warnings - err := config.Validate() + _, err := config.Marshal().ToYaml() if err != nil { t.Fatalf("error: %s", err.Error()) } diff --git a/pkg/perf_test.go b/pkg/perf_test.go index 412e2b42..0a0b42ff 100644 --- a/pkg/perf_test.go +++ b/pkg/perf_test.go @@ -11,8 +11,7 @@ import ( func TestPerf(t *testing.T) { start := time.Now() - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() config.SetA("asdf").SetB(12.2).SetC(1).SetH(true).SetI([]byte{1, 0, 0, 1, 0, 0, 1, 1}) config.SetCase(goapi.NewLayer1Ieee802X().SetFlowControl(true)) config.SetSpace1(10) @@ -54,13 +53,13 @@ func TestPerf(t *testing.T) { fmt.Printf("Time elapsed for manual configuration %d ms\n", (end.Nanosecond()-start.Nanosecond())/1000) jStart := time.Now() - json, j_err := config.ToJson() + json, j_err := config.Marshal().ToJson() jEnd := time.Now() yStart := time.Now() - yaml, y_err := config.ToYaml() + yaml, y_err := config.Marshal().ToYaml() yEnd := time.Now() pStart := time.Now() - pbText, p_err := config.ToPbText() + pbText, p_err := config.Marshal().ToPbText() pEnd := time.Now() fmt.Printf("Time elapsed to serialize to Json %d ms \n", (jEnd.Nanosecond()-jStart.Nanosecond())/1000) @@ -72,20 +71,20 @@ func TestPerf(t *testing.T) { assert.Nil(t, p_err) jDStart := time.Now() - jsonconf := api.NewPrefixConfig() - jdErr := jsonconf.FromJson(json) + jsonconf := goapi.NewPrefixConfig() + jdErr := jsonconf.Unmarshal().FromJson(json) assert.Nil(t, jdErr) jDEnd := time.Now() yDStart := time.Now() - yamlconf := api.NewPrefixConfig() - ydErr := yamlconf.FromYaml(yaml) + yamlconf := goapi.NewPrefixConfig() + ydErr := yamlconf.Unmarshal().FromYaml(yaml) assert.Nil(t, ydErr) yDEnd := time.Now() pDStart := time.Now() - pbConf := api.NewPrefixConfig() - pdErr := pbConf.FromPbText(pbText) + pbConf := goapi.NewPrefixConfig() + pdErr := pbConf.Unmarshal().FromPbText(pbText) assert.Nil(t, pdErr) pDEnd := time.Now() diff --git a/pkg/serdes_test.go b/pkg/serdes_test.go index 3648d0e9..6681e518 100644 --- a/pkg/serdes_test.go +++ b/pkg/serdes_test.go @@ -10,8 +10,8 @@ import ( "github.com/stretchr/testify/assert" ) -func NewFullyPopulatedPrefixConfig(api goapi.GoapiApi) goapi.PrefixConfig { - config := api.NewPrefixConfig() +func NewFullyPopulatedPrefixConfig(api goapi.Api) goapi.PrefixConfig { + config := goapi.NewPrefixConfig() config.SetA("asdf").SetB(12.2).SetC(1).SetH(true).SetI([]byte{1, 0, 0, 1, 0, 0, 1, 1}) config.RequiredObject().SetEA(1).SetEB(2) config.SetIeee8021Qbb(true) @@ -61,12 +61,12 @@ func TestPrefixConfigYamlSerDes(t *testing.T) { api := goapi.NewApi() c1 := NewFullyPopulatedPrefixConfig(api) - yaml1, err := c1.ToYaml() + yaml1, err := c1.Marshal().ToYaml() assert.Nil(t, err) - c2 := api.NewPrefixConfig() - yaml_err := c2.FromYaml(yaml1) + c2 := goapi.NewPrefixConfig() + yaml_err := c2.Unmarshal().FromYaml(yaml1) assert.Nil(t, yaml_err) - yaml2, err := c2.ToYaml() + yaml2, err := c2.Marshal().ToYaml() assert.Nil(t, err) assert.Equal(t, yaml1, yaml2) } @@ -75,12 +75,12 @@ func TestPrefixConfigJsonSerDes(t *testing.T) { api := goapi.NewApi() c1 := NewFullyPopulatedPrefixConfig(api) - json1, err := c1.ToJson() + json1, err := c1.Marshal().ToJson() assert.Nil(t, err) - c2 := api.NewPrefixConfig() - json_err := c2.FromJson(json1) + c2 := goapi.NewPrefixConfig() + json_err := c2.Unmarshal().FromJson(json1) assert.Nil(t, json_err) - json2, err := c2.ToJson() + json2, err := c2.Marshal().ToJson() assert.Nil(t, err) assert.Equal(t, json1, json2) } @@ -91,7 +91,7 @@ func TestPartialSerDes(t *testing.T) { // convert the configuration to a map[string]interface{} var jsonMap map[string]interface{} - c1json, err := c1.ToJson() + c1json, err := c1.Marshal().ToJson() assert.Nil(t, err) unmarsh_err := json.Unmarshal([]byte(c1json), &jsonMap) assert.Nil(t, unmarsh_err) @@ -103,15 +103,15 @@ func TestPartialSerDes(t *testing.T) { data2, _ := json.Marshal(jsonMap["g"].([]interface{})[0].(map[string]interface{})) // create a new config that consists of just the e object and the g object - c2 := api.NewPrefixConfig() - json_err := c2.E().FromJson(string(data1)) + c2 := goapi.NewPrefixConfig() + json_err := c2.E().Unmarshal().FromJson(string(data1)) assert.Nil(t, json_err) - json_err1 := c2.G().Add().FromJson(string(data2)) + json_err1 := c2.G().Add().Unmarshal().FromJson(string(data2)) assert.Nil(t, json_err1) - yaml1, err := c2.E().ToYaml() + yaml1, err := c2.E().Marshal().ToYaml() assert.Nil(t, err) fmt.Println(yaml1) - yaml2, err := c2.G().Add().ToYaml() + yaml2, err := c2.G().Add().Marshal().ToYaml() assert.Nil(t, err) fmt.Println(yaml2) } @@ -119,21 +119,20 @@ func TestPartialSerDes(t *testing.T) { func TestPrefixConfigPbTextSerDes(t *testing.T) { api := goapi.NewApi() c1 := NewFullyPopulatedPrefixConfig(api) - pbString, err := c1.ToPbText() + pbString, err := c1.Marshal().ToPbText() assert.Nil(t, err) - c2 := api.NewPrefixConfig() - pbtext_err := c2.FromPbText(pbString) + c2 := goapi.NewPrefixConfig() + pbtext_err := c2.Unmarshal().FromPbText(pbString) assert.Nil(t, pbtext_err) - c1json, err := c1.ToJson() + c1json, err := c1.Marshal().ToJson() assert.Nil(t, err) - c2json, err := c2.ToJson() + c2json, err := c2.Marshal().ToJson() assert.Nil(t, err) assert.Equal(t, c1json, c2json) } func TestArrayOfStringsSetGet(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() values := config.ListOfStringValues() assert.Equal(t, 0, len(values)) values = config.SetListOfStringValues([]string{"one", "two", "three"}).ListOfStringValues() @@ -141,8 +140,7 @@ func TestArrayOfStringsSetGet(t *testing.T) { } func TestArrayOfEnumsSetGet(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() values := config.DValues() assert.Equal(t, 0, len(values)) enums := []goapi.PrefixConfigDValuesEnum{ @@ -155,8 +153,7 @@ func TestArrayOfEnumsSetGet(t *testing.T) { } func TestArrayOfIntegersSetGet(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() values := config.ListOfIntegerValues() assert.Equal(t, 0, len(values)) values = config.SetListOfIntegerValues([]int32{1, 5, 23, 6}).ListOfIntegerValues() @@ -164,67 +161,60 @@ func TestArrayOfIntegersSetGet(t *testing.T) { } func TestValidJsonDecode(t *testing.T) { - // Valid FromJson - api := goapi.NewApi() - c1 := api.NewPrefixConfig() + // Valid Unmarshal().FromJson + c1 := goapi.NewPrefixConfig() input_str := `{"a":"ixia", "b" : 8.8, "c" : 1, "response" : "status_200", "required_object" : {"e_a": 1, "e_b": 2}}` - err := c1.FromJson(input_str) + err := c1.Unmarshal().FromJson(input_str) assert.Nil(t, err) } func TestBadKeyJsonDecode(t *testing.T) { // Valid Wrong key - api := goapi.NewApi() - c1 := api.NewPrefixConfig() + c1 := goapi.NewPrefixConfig() input_str := `{"a":"ixia", "bz" : 8.8, "c" : 1, "response" : "status_200", "required_object" : {"e_a": 1, "e_b": 2}}` - err := c1.FromJson(input_str) + err := c1.Unmarshal().FromJson(input_str) assert.NotNil(t, err) assert.Contains(t, err.Error(), `unmarshal error (line 1:14): unknown field "bz"`) } func TestBadEnumJsonDecode(t *testing.T) { // Valid Wrong key - api := goapi.NewApi() - c1 := api.NewPrefixConfig() + c1 := goapi.NewPrefixConfig() input_str := `{"a":"ixia", "b" : 8.8, "c" : 1, "response" : "status_800", "required_object" : {"e_a": 1, "e_b": 2}}` - err := c1.FromJson(input_str) + err := c1.Unmarshal().FromJson(input_str) assert.NotNil(t, err) assert.Contains(t, err.Error(), `unmarshal error (line 1:47): invalid value for enum type: "status_800"`) } func TestBadDatatypeJsonDecode(t *testing.T) { // Valid Wrong data type. configure "b" with string - api := goapi.NewApi() - c1 := api.NewPrefixConfig() + c1 := goapi.NewPrefixConfig() input_str := `{"a":"ixia", "b" : "abc", "c" : 1, "response" : "status_200", "required_object" : {"e_a": 1, "e_b": 2}}` - err := c1.FromJson(input_str) + err := c1.Unmarshal().FromJson(input_str) assert.NotNil(t, err) assert.Contains(t, err.Error(), `unmarshal error (line 1:20): invalid value for float type: "abc"`) } func TestBadDatastructureJsonDecode(t *testing.T) { // Valid Wrong data structure. configure "a" with array - api := goapi.NewApi() - c1 := api.NewPrefixConfig() + c1 := goapi.NewPrefixConfig() input_str := `{"a":["ixia"], "b" : 9.9, "c" : 1, "response" : "status_200", "required_object" : {"e_a": 1, "e_b": 2}}` - err := c1.FromJson(input_str) + err := c1.Unmarshal().FromJson(input_str) assert.NotNil(t, err) assert.Contains(t, err.Error(), `unmarshal error (line 1:6): invalid value for string type: [`) } func TestWithoutValueJsonDecode(t *testing.T) { // Valid without value - api := goapi.NewApi() - c1 := api.NewPrefixConfig() + c1 := goapi.NewPrefixConfig() input_str := `{"a": "ixia", "b" : 8.8, "c" : "", "response" : "status_200", "required_object" : {"e_a": 1, "e_b": 2}}` - err := c1.FromJson(input_str) + err := c1.Unmarshal().FromJson(input_str) assert.NotNil(t, err) assert.Contains(t, err.Error(), `unmarshal error (line 1:32): invalid value for int32 type: ""`) } func TestValidYamlDecode(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() var data = `a: Easy b: 12.2 c: 2 @@ -234,17 +224,16 @@ required_object: e_b: 2 response: status_200 ` - err := config.FromYaml(data) + err := config.Unmarshal().FromYaml(data) assert.Nil(t, err) - configYaml, err := config.ToYaml() + configYaml, err := config.Marshal().ToYaml() assert.Nil(t, err) assert.Equal(t, data, configYaml) } func TestBadKeyYamlDecode(t *testing.T) { // Valid Wrong key - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() var data = `a: Easy bz: 12.2 c: 2 @@ -253,14 +242,13 @@ required_object: e_a: 1 e_b: 2 ` - err := config.FromYaml(data) + err := config.Unmarshal().FromYaml(data) assert.NotNil(t, err) assert.Contains(t, err.Error(), `unmarshal error (line 1:13): unknown field "bz"`) } func TestBadEnumYamlDecode(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() var data = `a: Easy b: 12.2 c: 2 @@ -270,15 +258,14 @@ required_object: e_b: 2 response: status_800 ` - err := config.FromYaml(data) + err := config.Unmarshal().FromYaml(data) assert.NotNil(t, err) assert.Contains(t, err.Error(), `unmarshal error (line 1:84): invalid value for enum type: "status_800"`) } func TestBadDatatypeYamlDecode(t *testing.T) { // Valid Wrong data type. configure "b" with string - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() var data = `a: Easy b: abc c: 2 @@ -287,15 +274,14 @@ required_object: e_a: 1 e_b: 2 ` - err := config.FromYaml(data) + err := config.Unmarshal().FromYaml(data) assert.NotNil(t, err) assert.Contains(t, err.Error(), `unmarshal error (line 1:17): invalid value for float type: "abc"`) } func TestBadDatastructureYamlDecode(t *testing.T) { // Valid Wrong data structure. configure "a" with array - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() var data = `a: [Make It Easy] b: 9.9 c: 2 @@ -304,7 +290,7 @@ required_object: e_a: 1 e_b: 2 ` - err := config.FromYaml(data) + err := config.Unmarshal().FromYaml(data) assert.NotNil(t, err) assert.Contains(t, err.Error(), `unmarshal error (line 1:6): invalid value for string type: [`) } @@ -312,33 +298,36 @@ required_object: func TestSetMsg(t *testing.T) { api := goapi.NewApi() config := NewFullyPopulatedPrefixConfig(api) - copy := goapi.NewApi().NewPrefixConfig() - copy.SetMsg(config.Msg()) - configYaml, err := config.ToYaml() + copy := goapi.NewPrefixConfig() + p, err := config.Marshal().ToProto() + assert.Nil(t, err) + _, err = copy.Unmarshal().FromProto(p) assert.Nil(t, err) - copyYaml, err := copy.ToYaml() + configYaml, err := config.Marshal().ToYaml() + assert.Nil(t, err) + copyYaml, err := copy.Marshal().ToYaml() assert.Nil(t, err) assert.Equal(t, configYaml, copyYaml) } func TestNestedSetMsg(t *testing.T) { - api := goapi.NewApi() - eObject := goapi.NewApi().NewPrefixConfig().K().EObject() + eObject := goapi.NewPrefixConfig().K().EObject() eObject.SetEA(23423.22) eObject.SetEB(10.24) eObject.SetName("asdfasdf") - config := api.NewPrefixConfig() - config.K().EObject().SetMsg(eObject.Msg()) - yaml1, err := config.K().EObject().ToYaml() + config := goapi.NewPrefixConfig() + p, _ := eObject.Marshal().ToProto() + _, err := config.K().EObject().Unmarshal().FromProto(p) assert.Nil(t, err) - yaml2, err := eObject.ToYaml() + yaml1, err := config.K().EObject().Marshal().ToYaml() + assert.Nil(t, err) + yaml2, err := eObject.Marshal().ToYaml() assert.Nil(t, err) assert.Equal(t, yaml1, yaml2) } func TestAuto(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() config.SetA("asdf").SetB(12.2).SetC(1) config.RequiredObject().SetEA(1).SetEB(2) assert.Equal( diff --git a/pkg/servertests/service_a_test.go b/pkg/servertests/service_a_test.go index 08ec2802..b7e68eb2 100644 --- a/pkg/servertests/service_a_test.go +++ b/pkg/servertests/service_a_test.go @@ -21,7 +21,7 @@ func TestGetRootResponse(t *testing.T) { jsonResponse, _ := io.ReadAll(wr.Body) r := goapi.NewCommonResponseSuccess() - err := r.FromJson(string(jsonResponse)) + err := r.Unmarshal().FromJson(string(jsonResponse)) assert.Nil(t, err) assert.Equal(t, "from GetRootResponse", r.Message()) } @@ -34,7 +34,7 @@ func TestPostRootResponse(t *testing.T) { assert.Equal(t, http.StatusBadRequest, wr.Code) inputbody := goapi.NewApiTestInputBody().SetSomeString("this is the input body") - j, _ := inputbody.ToJson() + j, _ := inputbody.Marshal().ToJson() inputbuffer := bytes.NewBuffer([]byte(j)) req, _ = http.NewRequest(http.MethodPost, "/api/apitest", inputbuffer) @@ -44,7 +44,7 @@ func TestPostRootResponse(t *testing.T) { jsonResponse, _ := io.ReadAll(wr.Body) r := goapi.NewCommonResponseSuccess() - err := r.FromJson(string(jsonResponse)) + err := r.Unmarshal().FromJson(string(jsonResponse)) assert.Nil(t, err) assert.Equal(t, "this is the input body", r.Message()) } diff --git a/pkg/servertests/service_b.handler.go b/pkg/servertests/service_b.handler.go index 3dcecff7..d93c1968 100644 --- a/pkg/servertests/service_b.handler.go +++ b/pkg/servertests/service_b.handler.go @@ -46,9 +46,9 @@ func (h *serviceBHandler) GetSingleItem(r *http.Request) (goapi.GetSingleItemRes } else { err := goapi.NewError() var code int32 = 500 - err.Msg().Code = &code - err.Msg().Errors = []string{fmt.Sprintf("not found: id '%s'", id)} - jsonStr, _ := err.ToJson() + _ = err.SetCode(code) + _ = err.SetErrors([]string{fmt.Sprintf("not found: id '%s'", id)}) + jsonStr, _ := err.Marshal().ToJson() return nil, fmt.Errorf(jsonStr) } return result, nil diff --git a/pkg/servertests/service_b_test.go b/pkg/servertests/service_b_test.go index 09b892fb..17e9b460 100644 --- a/pkg/servertests/service_b_test.go +++ b/pkg/servertests/service_b_test.go @@ -19,7 +19,7 @@ func TestGetAllItems(t *testing.T) { jsonResponse, _ := io.ReadAll(wr.Body) r := goapi.NewServiceAbcItemList() - err := r.FromJson(string(jsonResponse)) + err := r.Unmarshal().FromJson(string(jsonResponse)) assert.Nil(t, err) items := r.Items().Items() assert.Equal(t, 2, len(items)) @@ -36,7 +36,7 @@ func TestGetSingleItem(t *testing.T) { jsonResponse, _ := io.ReadAll(wr.Body) r := goapi.NewServiceAbcItem() - err := r.FromJson(string(jsonResponse)) + err := r.Unmarshal().FromJson(string(jsonResponse)) assert.Nil(t, err) assert.Equal(t, "1", r.SomeId()) @@ -47,7 +47,7 @@ func TestGetSingleItem(t *testing.T) { jsonResponse, _ = io.ReadAll(wr.Body) errNew := goapi.NewError() - errFromJson := errNew.FromJson(string(jsonResponse)) + errFromJson := errNew.Unmarshal().FromJson(string(jsonResponse)) assert.Nil(t, errFromJson) assert.Equal(t, "not found: id '3'", errNew.Errors()[0]) } @@ -61,7 +61,7 @@ func TestGetSingleItemLevel2(t *testing.T) { jsonResponse, _ := io.ReadAll(wr.Body) r := goapi.NewServiceAbcItem() - err := r.FromJson(string(jsonResponse)) + err := r.Unmarshal().FromJson(string(jsonResponse)) assert.Nil(t, err) assert.Equal(t, "aa", r.PathId()) assert.Equal(t, "bb", r.Level2()) diff --git a/pkg/status_msg_test.go b/pkg/status_msg_test.go index 6532caf5..6e2df709 100644 --- a/pkg/status_msg_test.go +++ b/pkg/status_msg_test.go @@ -17,20 +17,18 @@ func TestStatusApi(t *testing.T) { grpcApi := goapi.NewApi() grpcApi.NewGrpcTransport().SetLocation(grpcServer.Location) - config := grpcApi.NewUpdateConfig() - warnStr := "UpdateConfiguration api is deprecated, please use post instead" + config := goapi.NewUpdateConfig() + config.G().Add().SetGA("str1") // check warning for grpc API _, err = grpcApi.UpdateConfiguration(config) if err != nil { t.Logf("error: %s", err.Error()) } - assert.Equal(t, grpcApi.Warnings(), warnStr) } func TestStatusMsgInPrimitiveAttrs(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() // setting all the primitive values which has x-status set config.SetA("test") @@ -45,7 +43,7 @@ func TestStatusMsgInPrimitiveAttrs(t *testing.T) { config.SetHexSlice([]string{"str1", "str2"}) // validating the warnings - err := config.Validate() + _, err := config.Marshal().ToYaml() if err != nil { t.Logf("error: %s", err.Error()) } @@ -60,14 +58,13 @@ func TestStatusMsgInPrimitiveAttrs(t *testing.T) { } func TestStatusMsgInStructAttrs(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() // setting a non primitive property with x-status config.E().SetEA(4.56) // validating the warnings - err := config.Validate() + _, err := config.Marshal().ToYaml() if err != nil { t.Logf("error: %s", err.Error()) } @@ -77,12 +74,11 @@ func TestStatusMsgInStructAttrs(t *testing.T) { } func TestStatusMsgInChoiceAttrs(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() j := config.J().Add() j.JB() - err := j.Validate() + _, err := j.Marshal().ToYaml() if err != nil { t.Logf("error: %s", err.Error()) } @@ -92,13 +88,12 @@ func TestStatusMsgInChoiceAttrs(t *testing.T) { } func TestStatusMsgInXEnumAttrs(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() config.SetResponse(goapi.PrefixConfigResponse.STATUS_404) // validating the warnings - err := config.Validate() + _, err := config.Marshal().ToYaml() if err != nil { t.Logf("error: %s", err.Error()) } @@ -109,7 +104,7 @@ func TestStatusMsgInXEnumAttrs(t *testing.T) { config.SetResponse(goapi.PrefixConfigResponse.STATUS_500) // validating the warnings - err = config.Validate() + _, err = config.Marshal().ToYaml() if err != nil { t.Logf("error: %s", err.Error()) } @@ -119,8 +114,7 @@ func TestStatusMsgInXEnumAttrs(t *testing.T) { } func TestStatusMsgInIterattrs(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() list := config.G() list.Append(goapi.NewGObject().SetGC(5.67)) @@ -129,7 +123,7 @@ func TestStatusMsgInIterattrs(t *testing.T) { assert.Len(t, list.Items(), 3) for _, item := range list.Items() { - err := item.Validate() + _, err := item.Marshal().ToYaml() if err != nil { t.Logf("error: %s", err.Error()) } @@ -140,10 +134,9 @@ func TestStatusMsgInIterattrs(t *testing.T) { } func TestStatusMsgInSchemaObjects(t *testing.T) { - api := goapi.NewApi() - config := api.NewUpdateConfig() + config := goapi.NewUpdateConfig() - err := config.Validate() + _, err := config.Marshal().ToYaml() if err != nil { t.Logf("error: %s", err.Error()) } @@ -158,7 +151,7 @@ func TestStatusMsgInSchemaObjects(t *testing.T) { assert.Len(t, list.Items(), 3) for _, item := range list.Items() { - err := item.Validate() + _, err := item.Marshal().ToYaml() if err != nil { t.Logf("error: %s", err.Error()) } diff --git a/pkg/transport_test.go b/pkg/transport_test.go index ef2b5944..8048f7a6 100644 --- a/pkg/transport_test.go +++ b/pkg/transport_test.go @@ -20,7 +20,7 @@ import ( "google.golang.org/grpc/credentials/insecure" ) -var apis []goapi.GoapiApi +var apis []goapi.Api func init() { err := StartMockGrpcServer() @@ -111,7 +111,7 @@ func TestUpdateConfigSuccess(t *testing.T) { if err != nil { log.Printf("error: %s", err.Error()) } - config2 := api.NewUpdateConfig() + config2 := goapi.NewUpdateConfig() config2.G().Add().SetName("G1").SetGA("ga string").SetGB(232) config3, err := api.UpdateConfiguration(config2) assert.Nil(t, err) @@ -122,28 +122,28 @@ func TestUpdateConfigSuccess(t *testing.T) { func TestGetMetrics(t *testing.T) { for _, api := range apis { metReq := goapi.NewMetricsRequest() - metReq.SetChoice(goapi.MetricsRequestChoice.PORT) + metReq.SetPort("p1") metrics, err := api.GetMetrics(metReq) assert.Nil(t, err) assert.NotNil(t, metrics) assert.Len(t, metrics.Ports().Items(), 2) - m_err := metrics.Validate() + _, m_err := metrics.Marshal().ToYaml() assert.Nil(t, m_err) assert.Equal(t, goapi.MetricsChoice.PORTS, metrics.Choice()) for _, row := range metrics.Ports().Items() { - log.Println(row.ToYaml()) + log.Println(row.Marshal().ToYaml()) } metReqflow := goapi.NewMetricsRequest() - metReqflow.SetChoice(goapi.MetricsRequestChoice.FLOW) + metReqflow.SetFlow("f1") metResp, err := api.GetMetrics(metReqflow) assert.Nil(t, err) assert.NotNil(t, metResp) assert.Len(t, metResp.Flows().Items(), 2) - m_err1 := metResp.Validate() + _, m_err1 := metResp.Marshal().ToYaml() assert.Nil(t, m_err1) assert.Equal(t, goapi.MetricsChoice.FLOWS, metResp.Choice()) for _, row := range metResp.Flows().Items() { - log.Println(row.ToYaml()) + log.Println(row.Marshal().ToYaml()) } } } @@ -153,13 +153,13 @@ func TestGetWarnings(t *testing.T) { resp, err := api.GetWarnings() assert.Nil(t, err) assert.NotNil(t, resp) - log.Println(resp.ToYaml()) + log.Println(resp.Marshal().ToYaml()) } } func TestClearWarnings(t *testing.T) { for _, api := range apis { - api.NewClearWarningsResponse() + goapi.NewClearWarningsResponse() res, err := api.ClearWarnings() assert.Nil(t, err) assert.NotNil(t, res) @@ -311,7 +311,7 @@ func TestGrpcErrorStructSetConfig(t *testing.T) { assert.NotNil(t, err) // if user wants to get the json now - errSt, _ := api.FromError(err) + errSt, _ := goapi.FromError(err) assert.Equal(t, errSt.Code(), int32(13)) assert.False(t, errSt.HasKind()) assert.Equal(t, errSt.Errors()[0], "returning err1") @@ -327,7 +327,7 @@ func TestHttpErrorStructSetConfig(t *testing.T) { assert.NotNil(t, err) // if user wants to get the json now - errSt, _ := api.FromError(err) + errSt, _ := goapi.FromError(err) assert.Equal(t, errSt.Code(), int32(500)) assert.Equal(t, errSt.Kind(), goapi.ErrorKind.INTERNAL) assert.Equal(t, errSt.Errors()[0], "internal err 1") @@ -344,7 +344,7 @@ func TestGrpcErrorStringSetConfig(t *testing.T) { assert.NotNil(t, err) // if user wants to get the json now - errSt, _ := api.FromError(err) + errSt, _ := goapi.FromError(err) assert.Equal(t, errSt.Code(), int32(2)) assert.False(t, errSt.HasKind()) assert.Equal(t, errSt.Errors()[0], "SetConfig has detected configuration errors") @@ -359,7 +359,7 @@ func TestHttpErrorStringSetConfig(t *testing.T) { assert.NotNil(t, err) // if user wants to get the json now - errSt, _ := api.FromError(err) + errSt, _ := goapi.FromError(err) assert.Equal(t, errSt.Code(), int32(500)) assert.Equal(t, errSt.Kind(), goapi.ErrorKind.INTERNAL) assert.Equal(t, errSt.Errors()[0], "client error !!!!") @@ -374,7 +374,7 @@ func TestGrpcErrorkindSetConfig(t *testing.T) { assert.NotNil(t, err) // if user wants to get the json now - errSt, _ := api.FromError(err) + errSt, _ := goapi.FromError(err) assert.Equal(t, errSt.Code(), int32(3)) assert.Equal(t, errSt.Kind(), goapi.ErrorKind.INTERNAL) assert.Equal(t, errSt.Errors()[0], "internal err 1") @@ -388,14 +388,14 @@ func TestGrpcErrorStringUpdate(t *testing.T) { if err != nil { log.Printf("error: %s", err.Error()) } - config2 := api.NewUpdateConfig() + config2 := goapi.NewUpdateConfig() config2.G().Add().SetName("ErStr").SetGA("ga string").SetGB(232) config3, err := api.UpdateConfiguration(config2) assert.Nil(t, config3) assert.NotNil(t, err) // if user wants to get the json now - errSt, _ := api.FromError(err) + errSt, _ := goapi.FromError(err) assert.Equal(t, errSt.Code(), int32(2)) assert.False(t, errSt.HasKind()) assert.Equal(t, errSt.Errors()[0], "unit test error") @@ -409,14 +409,14 @@ func TestGrpcErrorStructUpdate(t *testing.T) { if err != nil { log.Printf("error: %s", err.Error()) } - config2 := api.NewUpdateConfig() + config2 := goapi.NewUpdateConfig() config2.G().Add().SetName("Erkind").SetGA("ga string").SetGB(232) config3, err := api.UpdateConfiguration(config2) assert.Nil(t, config3) assert.NotNil(t, err) // if user wants to get the json now - errSt, _ := api.FromError(err) + errSt, _ := goapi.FromError(err) assert.Equal(t, errSt.Code(), int32(6)) assert.Equal(t, errSt.Kind(), goapi.ErrorKind.VALIDATION) assert.Equal(t, errSt.Errors()[0], "invalid1") diff --git a/pkg/unit1_test.go b/pkg/unit1_test.go index 0acddb66..4ef3ebc3 100644 --- a/pkg/unit1_test.go +++ b/pkg/unit1_test.go @@ -12,12 +12,12 @@ func TestToAndFromProtoMsg(t *testing.T) { fObj_proto := &sanity.FObject{} fObj := goapi.NewFObject() - obj, err := fObj.FromProto(fObj_proto) + obj, err := fObj.Unmarshal().FromProto(fObj_proto) assert.Nil(t, err) assert.Equal(t, obj.FA(), "some string") - proto_obj, err1 := obj.ToProto() + proto_obj, err1 := obj.Marshal().ToProto() d := "some string" var fa *string = &d diff --git a/pkg/unit_test.go b/pkg/unit_test.go index dab41dcf..33defbb7 100644 --- a/pkg/unit_test.go +++ b/pkg/unit_test.go @@ -26,8 +26,7 @@ func JSONBytesEqual(a, b []byte) (bool, error) { } func TestJsonSerialization(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() config.RequiredObject().SetEA(3.0).SetEB(47.234) config.SetA("asdf").SetB(12.2).SetC(1).SetH(true).SetI([]byte{1, 0, 0, 1, 0, 0, 1, 1}) config.SetResponse(goapi.PrefixConfigResponse.STATUS_200) @@ -69,7 +68,7 @@ func TestJsonSerialization(t *testing.T) { config.ChecksumPattern().Checksum().SetCustom(64) // TBD: this needs to be fixed as order of json keys is not guaranteed to be the same - // out := config.ToJson() + // out := config.Marshal().ToJson() // actualJson := []byte(out) // bs, err := ioutil.ReadFile("expected.json") // if err != nil { @@ -79,7 +78,7 @@ func TestJsonSerialization(t *testing.T) { // expectedJson := bs // eq, _ := JSONBytesEqual(actualJson, expectedJson) // assert.Equal(t, eq, true) - yaml, err := config.ToYaml() + yaml, err := config.Marshal().ToYaml() assert.Nil(t, err) log.Print(yaml) } @@ -88,9 +87,9 @@ func TestNewAndSet(t *testing.T) { c := goapi.NewPrefixConfig() c.SetE(goapi.NewEObject().SetEA(123.456).SetEB(453.123)) c.SetF(goapi.NewFObject().SetFA("fa string")) - yaml1, err := c.E().ToYaml() + yaml1, err := c.E().Marshal().ToYaml() assert.Nil(t, err) - yaml2, err := c.F().ToYaml() + yaml2, err := c.F().Marshal().ToYaml() assert.Nil(t, err) log.Println(yaml1) log.Println(yaml2) @@ -102,8 +101,7 @@ func TestSimpleTypes(t *testing.T) { var c int32 = 1 h := true i := []byte("sample string") - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() config.SetA("asdfg").SetB(12.2).SetC(1).SetH(true).SetI([]byte("sample string")) assert.Equal(t, a, config.A()) assert.Equal(t, b, config.B()) @@ -117,8 +115,7 @@ var gbValues = []int32{11, 22} var gcValues = []float32{11.11, 22.22} func TestIterAdd(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() config.G().Add().SetGA("1111").SetGB(11).SetGC(11.11) config.G().Add().SetGA("2222").SetGB(22).SetGC(22.22) @@ -131,8 +128,7 @@ func TestIterAdd(t *testing.T) { } func TestIterAppend(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() config.G().Add().SetGA("1111").SetGB(11).SetGC(11.11) g := config.G().Append(goapi.NewGObject().SetGA("2222").SetGB(22).SetGC(22.22)) @@ -151,8 +147,7 @@ func TestIterSet(t *testing.T) { assert.Equal(t, errValue, fmt.Sprintf("%v", err)) } }() - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() name := "new name set on slice" config.G().Add().SetName("original name set on add") config.G().Add() @@ -186,9 +181,8 @@ func TestListWrapFromJson(t *testing.T) { ], "h": true }` - api := goapi.NewApi() - config := api.NewPrefixConfig() - assert.Nil(t, config.FromJson(listWrap)) + config := goapi.NewPrefixConfig() + assert.Nil(t, config.Unmarshal().FromJson(listWrap)) assert.Equal(t, len(config.G().Items()), 1) } @@ -197,8 +191,7 @@ func TestEObject(t *testing.T) { eb := 1.2 mparam1 := "Mparam1" maparam2 := "Mparam2" - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() config.E().SetEA(1.1).SetEB(1.2).SetMParam1("Mparam1").SetMParam2("Mparam2") assert.Equal(t, ea, config.E().EA()) assert.Equal(t, eb, config.E().EB()) @@ -211,8 +204,7 @@ func TestGObject(t *testing.T) { gb := []int32{1, 2} gc := []float32{11.1, 22.2} ge := []float64{1.0, 2.0} - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() g1 := config.G().Add() g1.SetGA("g_1").SetGB(1).SetGC(11.1).SetGE(1.0) g2 := config.G().Add() @@ -224,15 +216,14 @@ func TestGObject(t *testing.T) { assert.Equal(t, gc[i], G.GC()) assert.Equal(t, ge[i], G.GE()) } - g1json, err := g1.ToJson() + g1json, err := g1.Marshal().ToJson() assert.Nil(t, err) - g1yaml, err := g1.ToYaml() + g1yaml, err := g1.Marshal().ToYaml() assert.Nil(t, err) log.Print(g1json, g1yaml) } func TestGObjectAppendMultiple(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() items := []goapi.GObject{ goapi.NewGObject().SetGA("g_1"), goapi.NewGObject().SetGA("g_2"), @@ -249,8 +240,7 @@ func TestGObjectAppend(t *testing.T) { gb := []int32{1, 2} gc := []float32{11.1, 22.2} ge := []float64{1.0, 2.0} - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() g1 := goapi.NewGObject() g1.SetGA("g_1").SetGB(1).SetGC(11.1).SetGE(1.0) g2 := goapi.NewGObject() @@ -262,14 +252,13 @@ func TestGObjectAppend(t *testing.T) { assert.Equal(t, gc[i], G.GC()) assert.Equal(t, ge[i], G.GE()) } - // log.Print(g1.ToJson(), g1.ToYaml()) + // log.Print(g1.Marshal().ToJson(), g1.Marshal().ToYaml()) } func TestLObject(t *testing.T) { var int_ int32 = 80 var float_ float32 = 100.11 - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() l := config.L() l.SetStringParam("test") l.SetInteger(80) @@ -296,8 +285,7 @@ func TestLObject(t *testing.T) { // Confirm the underlying protobuf EObject has been created by setting the // properties of the returned RequiredObject func TestRequiredObject(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() r := config.RequiredObject() r.SetEA(22.2) r.SetEB(66.1) @@ -310,8 +298,7 @@ func TestRequiredObject(t *testing.T) { // Confirm the underlying protobuf EObject has been created by setting the // properties of the returned OptionalObject func TestOptionalObject(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() r := config.OptionalObject() r.SetEA(22.2) r.SetEB(66.1) @@ -323,8 +310,7 @@ func TestResponseEnum(t *testing.T) { // for _, fld := range flds { // assert.NotEqual(t, fld.Name, "UNSPECIFIED") // } - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() config.SetResponse(goapi.PrefixConfigResponse.STATUS_400) assert.Equal(t, config.Response(), goapi.PrefixConfigResponse.STATUS_400) fmt.Println("response: ", config.Response()) @@ -335,7 +321,7 @@ func TestChoice(t *testing.T) { config := NewFullyPopulatedPrefixConfig(api) f := config.F() - fJson, err := f.ToJson() + fJson, err := f.Marshal().ToJson() assert.Nil(t, err) fmt.Println(fJson) f.SetFA("a fa string") @@ -347,14 +333,13 @@ func TestChoice(t *testing.T) { j.JB() assert.Equal(t, j.Choice(), goapi.JObjectChoice.J_B) - configYaml, err := config.ToYaml() + configYaml, err := config.Marshal().ToYaml() assert.Nil(t, err) fmt.Println(configYaml) } func TestHas(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() assert.False(t, config.HasE()) assert.False(t, config.HasF()) assert.False(t, config.HasChecksumPattern()) @@ -369,19 +354,17 @@ var BadMac = []string{ } func TestGoodMacValidation(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() mac := config.MacPattern().Mac().SetValue(GoodMac[0]) - err := mac.Validate() + _, err := mac.Marshal().ToYaml() assert.Nil(t, err) } func TestBadMacValidation(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() for _, mac := range BadMac { macObj := config.MacPattern().Mac().SetValue(mac) - err := macObj.Validate() + _, err := macObj.Marshal().ToYaml() if assert.Error(t, err) { assert.Contains(t, err.Error(), "Invalid Mac") } @@ -389,18 +372,16 @@ func TestBadMacValidation(t *testing.T) { } func TestGoodMacValues(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() mac := config.MacPattern().Mac().SetValues(GoodMac) - err := mac.Validate() + _, err := mac.Marshal().ToYaml() assert.Nil(t, err) } func TestBadMacValues(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() mac := config.MacPattern().Mac().SetValues(BadMac) - err := mac.Validate() + _, err := mac.Marshal().ToYaml() fmt.Println(err.Error()) if assert.Error(t, err) { assert.Contains(t, strings.ToLower(err.Error()), "invalid mac address") @@ -408,12 +389,11 @@ func TestBadMacValues(t *testing.T) { } func TestBadMacIncrement(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() mac := config.MacPattern().Mac().Increment().SetStart(GoodMac[0]) mac.SetStep(BadMac[0]) mac.SetCount(10) - err := mac.Validate() + _, err := mac.Marshal().ToYaml() fmt.Println(err.Error()) if assert.Error(t, err) { assert.Contains(t, strings.ToLower(err.Error()), "invalid mac address") @@ -421,12 +401,11 @@ func TestBadMacIncrement(t *testing.T) { } func TestBadMacDecrement(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() mac := config.MacPattern().Mac().Decrement().SetStart(BadMac[0]) mac.SetStep(GoodMac[0]) mac.SetCount(10) - err := mac.Validate() + _, err := mac.Marshal().ToYaml() fmt.Println(err.Error()) if assert.Error(t, err) { assert.Contains(t, strings.ToLower(err.Error()), "invalid mac address") @@ -437,19 +416,17 @@ var GoodIpv4 = []string{"1.1.1.1", "255.255.255.255"} var BadIpv4 = []string{"1.1. 1.1", "33.4", "asdf", "100", "-20", "::01", "1.1.1.1.1", "256.256.256.256", "-255.-255.-255.-255"} func TestGoodIpv4Validation(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() ipv4 := config.Ipv4Pattern().Ipv4().SetValue(GoodIpv4[0]) - err := ipv4.Validate() + _, err := ipv4.Marshal().ToYaml() assert.Nil(t, err) } func TestBadIpv4Validation(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() for _, ip := range BadIpv4 { ipv4 := config.Ipv4Pattern().Ipv4().SetValue(ip) - err := ipv4.Validate() + _, err := ipv4.Marshal().ToYaml() if assert.Error(t, err) { assert.Contains(t, err.Error(), "Invalid Ipv4") } @@ -457,34 +434,31 @@ func TestBadIpv4Validation(t *testing.T) { } func TestBadIpv4Values(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() ipv4 := config.Ipv4Pattern().Ipv4().SetValues(BadIpv4) - err := ipv4.Validate() + _, err := ipv4.Marshal().ToYaml() if assert.Error(t, err) { assert.Contains(t, err.Error(), "Invalid ipv4 addresses") } } func TestBadIpv4Increment(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() ipv4 := config.Ipv4Pattern().Ipv4().Increment().SetStart(GoodIpv4[0]) ipv4.SetStep(BadIpv4[0]) ipv4.SetCount(10) - err := ipv4.Validate() + _, err := ipv4.Marshal().ToYaml() if assert.Error(t, err) { assert.Contains(t, err.Error(), "Invalid Ipv4") } } func TestBadIpv4Decrement(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() ipv4 := config.Ipv4Pattern().Ipv4().Decrement().SetStart(GoodIpv4[0]) ipv4.SetStep(BadIpv4[0]) ipv4.SetCount(10) - err := ipv4.Validate() + _, err := ipv4.Marshal().ToYaml() if assert.Error(t, err) { assert.Contains(t, err.Error(), "Invalid Ipv4") } @@ -494,19 +468,17 @@ var GoodIpv6 = []string{"::", "1::", ": :", "abcd::1234", "aa:00bd:a:b:c:d:f:abc var BadIpv6 = []string{"33.4", "asdf", "1.1.1.1", "100", "-20", "65535::65535", "ab: :ab", "ab:ab:ab", "ffff0::ffff0"} func TestGoodIpv6Validation(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() ipv6 := config.Ipv6Pattern().Ipv6().SetValue(GoodIpv6[0]) - err := ipv6.Validate() + _, err := ipv6.Marshal().ToYaml() assert.Nil(t, err) } func TestBadIpv6Validation(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() for _, ip := range BadIpv6 { ipv6 := config.Ipv6Pattern().Ipv6().SetValue(ip) - err := ipv6.Validate() + _, err := ipv6.Marshal().ToYaml() if assert.Error(t, err) { assert.Contains(t, strings.ToLower(err.Error()), "invalid ipv6") } @@ -514,48 +486,44 @@ func TestBadIpv6Validation(t *testing.T) { } func TestBadIpv6Values(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() ipv6 := config.Ipv6Pattern().Ipv6().SetValues(BadIpv6) - err := ipv6.Validate() + _, err := ipv6.Marshal().ToYaml() if assert.Error(t, err) { assert.Contains(t, strings.ToLower(err.Error()), "invalid ipv6 address") } } func TestBadIpv6Increment(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() ipv6 := config.Ipv6Pattern().Ipv6().Increment().SetStart(GoodIpv6[0]) ipv6.SetStep(BadIpv6[0]) ipv6.SetCount(10) - err := ipv6.Validate() + _, err := ipv6.Marshal().ToYaml() if assert.Error(t, err) { assert.Contains(t, strings.ToLower(err.Error()), "invalid ipv6") } } func TestBadIpv6Decrement(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() ipv6 := config.Ipv6Pattern().Ipv6().Decrement().SetStart(GoodIpv6[0]) ipv6.SetStep(BadIpv6[0]) ipv6.SetCount(10) - err := ipv6.Validate() + _, err := ipv6.Marshal().ToYaml() if assert.Error(t, err) { assert.Contains(t, strings.ToLower(err.Error()), "invalid ipv6") } } func TestDefaultSimpleTypes(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() config.RequiredObject().SetEA(1).SetEB(2) config.SetA("asdf") config.SetB(65) config.SetC(33) config.SetResponse(goapi.PrefixConfigResponse.STATUS_200) - actual_result, err := config.ToJson() + actual_result, err := config.Marshal().ToJson() assert.Nil(t, err) expected_result := `{ "a":"asdf", @@ -572,10 +540,9 @@ func TestDefaultSimpleTypes(t *testing.T) { } func TestDefaultEObject(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() config.E().SetEA(1).SetEB(2) - actual_result, err := config.E().ToJson() + actual_result, err := config.E().Marshal().ToJson() assert.Nil(t, err) expected_result := ` { @@ -586,10 +553,9 @@ func TestDefaultEObject(t *testing.T) { } func TestDefaultFObject(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() config.F() - actual_result, err := config.F().ToJson() + actual_result, err := config.F().Marshal().ToJson() assert.Nil(t, err) expected_result := ` { @@ -600,8 +566,7 @@ func TestDefaultFObject(t *testing.T) { } func TestRequiredValidation(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() config.RequiredObject().SetEA(10.2).SetEB(20) config.SetA("abc") config.SetB(10.32) @@ -616,53 +581,51 @@ func TestRequiredValidation(t *testing.T) { SetIpv6("2001::1"). SetIpv4("1.1.1.1") config.SetResponse(goapi.PrefixConfigResponse.STATUS_400) - err := config.Validate() + _, err := config.Marshal().ToYaml() assert.Nil(t, err) } func TestHexPattern(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() l := config.L() l.SetHex("200000000000000b00000000200000000000000b00000000200000000000000b00000000") - err := l.Validate() + _, err := l.Marshal().ToYaml() assert.Nil(t, err) l.SetHex("0x00200000000000000b00000000200000000000000b00000000200000000000000b00000000") - err1 := l.Validate() + _, err1 := l.Marshal().ToYaml() assert.Nil(t, err1) l.SetHex("") - err2 := l.Validate() + _, err2 := l.Marshal().ToYaml() assert.NotNil(t, err2) l.SetHex("0x00200000000000000b00000000200000000000000b00000000200000000000000b0000000x0") - err3 := l.Validate() + _, err3 := l.Marshal().ToYaml() assert.NotNil(t, err3) l.SetHex("0x00") - err4 := l.Validate() + _, err4 := l.Marshal().ToYaml() assert.Nil(t, err4) l.SetHex("0XAF12") - err5 := l.Validate() + _, err5 := l.Marshal().ToYaml() assert.Nil(t, err5) } func TestChoice1(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() json := `{ "choice": "f_b", "f_b": 30.0 }` - g := config.F().FromJson(json) + g := config.F().Unmarshal().FromJson(json) assert.Nil(t, g) - configFjson, err := config.F().ToJson() + configFjson, err := config.F().Marshal().ToJson() assert.Nil(t, err) require.JSONEq(t, configFjson, json) json2 := `{ "choice": "f_a", "f_a": "this is f string" }` - f := config.F().FromJson(json2) + f := config.F().Unmarshal().FromJson(json2) assert.Nil(t, f) - configFjson2, err := config.F().ToJson() + configFjson2, err := config.F().Marshal().ToJson() assert.Nil(t, err) require.JSONEq(t, configFjson2, json2) fmt.Println(configFjson2) @@ -670,7 +633,7 @@ func TestChoice1(t *testing.T) { func TestRequiredField(t *testing.T) { mandate := goapi.NewMandate() - err := mandate.Validate() + _, err := mandate.Marshal().ToYaml() assert.NotNil(t, err) assert.Contains(t, err.Error(), "RequiredParam is required field") } @@ -678,11 +641,11 @@ func TestRequiredField(t *testing.T) { func TestRequiredEnumField(t *testing.T) { config := goapi.NewPrefixConfig() rc := config.RequiredChoiceObject() - err := rc.Validate() + _, err := rc.Marshal().ToYaml() assert.NotNil(t, err) rc.IntermediateObj() assert.Contains(t, err.Error(), "Choice is required field on interface RequiredChoiceParent") - err = rc.Validate() + _, err = rc.Marshal().ToYaml() assert.Nil(t, err) } @@ -696,7 +659,7 @@ func TestOptionalDefault(t *testing.T) { "g_d": "some string", "g_f": "a" }` - gObjectJson, err := gObject.ToJson() + gObjectJson, err := gObject.Marshal().ToJson() assert.Nil(t, err) require.JSONEq(t, gObjectJson, gJson) } @@ -714,7 +677,7 @@ func TestInterger64(t *testing.T) { }, "integer64": 100 }` - err := config.FromJson(int_64) + err := config.Unmarshal().FromJson(int_64) assert.Equal(t, config.Integer64(), int64(100)) assert.Nil(t, err) int_64_str := `{ @@ -727,7 +690,7 @@ func TestInterger64(t *testing.T) { "e_b" : 2 } }` - err1 := config.FromJson(int_64_str) + err1 := config.Unmarshal().FromJson(int_64_str) assert.Nil(t, err1) } @@ -745,7 +708,7 @@ func TestInt32Param(t *testing.T) { "int32_param": 100, "auto_int32_param": 101 }` - err := config.FromJson(int_32) + err := config.Unmarshal().FromJson(int_32) assert.Equal(t, config.Int32Param(), int32(100)) assert.Equal(t, config.AutoInt32Param(), int32(101)) assert.Nil(t, err) @@ -761,7 +724,7 @@ func TestInt32Param(t *testing.T) { "int32_list_param": ["100", "-1", "-500", 500], "auto_int32_list_param": ["100", "1001", "72", "909"] }` - err1 := config.FromJson(int32_list_str) + err1 := config.Unmarshal().FromJson(int32_list_str) assert.Equal(t, config.Int32ListParam(), []int32{100, -1, -500, 500}) assert.Equal(t, config.AutoInt32ListParam(), []int32{100, 1001, 72, 909}) assert.Nil(t, err1) @@ -780,7 +743,7 @@ func TestUint32Param(t *testing.T) { }, "uint32_param": 22 }` - err := config.FromJson(uint_32) + err := config.Unmarshal().FromJson(uint_32) assert.Equal(t, config.Uint32Param(), uint32(22)) assert.Nil(t, err) uint32_list_str := `{ @@ -794,7 +757,7 @@ func TestUint32Param(t *testing.T) { }, "uint32_list_param": ["100", "0", "500"] }` - err1 := config.FromJson(uint32_list_str) + err1 := config.Unmarshal().FromJson(uint32_list_str) assert.Equal(t, config.Uint32ListParam(), []uint32{100, 0, 500}) assert.Nil(t, err1) } @@ -812,7 +775,7 @@ func TestUInt64Param(t *testing.T) { }, "uint64_param": 4294967395 }` - err := config.FromJson(uint_64) + err := config.Unmarshal().FromJson(uint_64) assert.Nil(t, err) int32_list_str := `{ "a":"asdf", @@ -825,7 +788,7 @@ func TestUInt64Param(t *testing.T) { }, "uint64_list_param": ["4294967395", "4294967396", "4294967397"] }` - err1 := config.FromJson(int32_list_str) + err1 := config.Unmarshal().FromJson(int32_list_str) assert.Equal(t, config.Uint64ListParam(), []uint64{4294967395, 4294967396, 4294967397}) assert.Nil(t, err1) } @@ -838,7 +801,8 @@ func TestFromJsonToCleanObject(t *testing.T) { config.SetResponse(goapi.PrefixConfigResponse.STATUS_500) config.SetRequiredObject(goapi.NewEObject().SetEA(10.1).SetEB(30.234)) config.SetInteger64(200645) - assert.Nil(t, config.Validate()) + _, err := config.Marshal().ToYaml() + assert.Nil(t, err) new_json := `{ "a":"asdf", "b" : 65, @@ -850,9 +814,9 @@ func TestFromJsonToCleanObject(t *testing.T) { }, "h": false }` - err := config.FromJson(new_json) + err = config.Unmarshal().FromJson(new_json) assert.Nil(t, err) - configJson, err := config.ToJson() + configJson, err := config.Marshal().ToJson() assert.Nil(t, err) require.JSONEq(t, new_json, configJson) new_json1 := `{ @@ -865,7 +829,7 @@ func TestFromJsonToCleanObject(t *testing.T) { }, "h": false }` - err1 := config.FromJson(new_json1) + err1 := config.Unmarshal().FromJson(new_json1) assert.NotNil(t, err1) assert.Contains(t, err1.Error(), "A is required field") } @@ -877,7 +841,7 @@ func TestChoiceStale(t *testing.T) { "choice": "f_a", "f_a": "This is A Value" }` - fObjectJson, err := fObject.ToJson() + fObjectJson, err := fObject.Marshal().ToJson() assert.Nil(t, err) require.JSONEq(t, expected_json, fObjectJson) fObject.SetFB(30.245) @@ -885,7 +849,7 @@ func TestChoiceStale(t *testing.T) { "choice": "f_b", "f_b": 30.245 }` - fObjectJson2, err := fObject.ToJson() + fObjectJson2, err := fObject.Marshal().ToJson() assert.Nil(t, err) require.JSONEq(t, expected_json1, fObjectJson2) } @@ -930,8 +894,7 @@ func TestChoice2(t *testing.T) { } } }` - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() config.SetA("asdf").SetB(12.2).SetC(1) config.RequiredObject().SetEA(1).SetEB(2) config.K().FObject().SetFA("asf") @@ -939,7 +902,7 @@ func TestChoice2(t *testing.T) { config.E().SetEA(1.1).SetEB(1.2).SetMParam1("Mparam1").SetMParam2("Mparam2") config.J().Add().JA().SetEA(1.0).SetEB(2.0) config.J().Add().JB().SetFA("asf") - configJson, err := config.ToJson() + configJson, err := config.Marshal().ToJson() assert.Nil(t, err) log.Print(configJson) require.JSONEq(t, expected_json, configJson) @@ -952,13 +915,13 @@ func TestGetter(t *testing.T) { "choice": "f_a", "f_a": "some string" }` - fObjectJson, err := fObject.ToJson() + fObjectJson, err := fObject.Marshal().ToJson() assert.Nil(t, err) require.JSONEq(t, expected_json, fObjectJson) fObject1 := goapi.NewFObject() fObject1.Choice() - fObject1Json, err := fObject1.ToJson() + fObject1Json, err := fObject1.Marshal().ToJson() assert.Nil(t, err) require.JSONEq(t, expected_json, fObject1Json) @@ -970,7 +933,7 @@ func TestGetter(t *testing.T) { "value": "0.0.0.0" } }` - patternJson, err := pattern.ToJson() + patternJson, err := pattern.Marshal().ToJson() assert.Nil(t, err) require.JSONEq(t, exp_ipv4, patternJson) pattern.Ipv4().SetValue("10.1.1.1") @@ -984,7 +947,7 @@ func TestGetter(t *testing.T) { ] } }` - patternJson1, err := pattern.ToJson() + patternJson1, err := pattern.Marshal().ToJson() assert.Nil(t, err) require.JSONEq(t, exp_ipv41, patternJson1) pattern.Ipv4().SetValues([]string{"20.1.1.1"}) @@ -994,29 +957,27 @@ func TestGetter(t *testing.T) { "choice": "generated", "generated": "good" }` - checksumJson, err := checksum.ToJson() + checksumJson, err := checksum.Marshal().ToJson() assert.Nil(t, err) require.JSONEq(t, ch_json, checksumJson) fmt.Println(checksumJson) } func TestStringLength(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() config.SetA("asdf").SetB(12.2).SetC(1).SetH(true).SetI([]byte{1, 0, 0, 1, 0, 0, 1, 1}) config.RequiredObject().SetEA(1).SetEB(2) config.SetIeee8021Qbb(true) config.SetFullDuplex100Mb(2) config.SetResponse(goapi.PrefixConfigResponse.STATUS_200) config.SetStrLen("123456") - configJson, err := config.ToJson() + configJson, err := config.Marshal().ToJson() assert.Nil(t, err) log.Print(configJson) } func TestListClear(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() list := config.G() list.Append(goapi.NewGObject().SetGA("a1")) list.Append(goapi.NewGObject().SetGA("a2")) @@ -1052,12 +1013,11 @@ func TestConfigHas200Result(t *testing.T) { } func TestFromJsonErrors(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() json := `{ "abc": "test" }` - err := config.FromJson(json) + err := config.Unmarshal().FromJson(json) assert.Contains(t, err.Error(), "unmarshal error") json1 := `{ "choice": "g_e", @@ -1065,19 +1025,18 @@ func TestFromJsonErrors(t *testing.T) { "g_b": "20" }` gObj := goapi.NewGObject() - err1 := gObj.FromJson(json1) + err1 := gObj.Unmarshal().FromJson(json1) assert.Nil(t, err1) json2 := `{ "choice": "f_t" }` fObj := goapi.NewFObject() - err2 := fObj.FromJson(json2) + err2 := fObj.Unmarshal().FromJson(json2) assert.Contains(t, err2.Error(), "unmarshal error") } func TestStringLengthError(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() config.SetA("asdf").SetB(12.2).SetC(1).SetH(true).SetI([]byte{1, 0, 0, 1, 0, 0, 1, 1}).SetName("config") config.SetSpace1(1) config.RequiredObject().SetEA(1).SetEB(2) @@ -1088,15 +1047,14 @@ func TestStringLengthError(t *testing.T) { config.StrLen() config.Space1() config.Name() - err := config.Validate() + _, err := config.Marshal().ToYaml() if assert.Error(t, err) { assert.Contains(t, strings.ToLower(err.Error()), "3 <= length of prefixconfig.strlen <= 6 but got 8") } } func TestIncorrectChoiceEnum(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() config.SetA("asdf").SetB(12.2).SetC(1).SetH(true).SetI([]byte{1, 0, 0, 1, 0, 0, 1, 1}) config.RequiredObject().SetEA(1).SetEB(2) config.SetIeee8021Qbb(true) @@ -1107,7 +1065,7 @@ func TestIncorrectChoiceEnum(t *testing.T) { config.Ieee8021Qbb() config.FullDuplex100Mb() config.Response() - err := config.Validate() + _, err := config.Marshal().ToYaml() if assert.Error(t, err) { assert.Contains(t, strings.ToLower(err.Error()), "status_600 is not a valid choice") } @@ -1115,7 +1073,7 @@ func TestIncorrectChoiceEnum(t *testing.T) { func TestEObjectValidation(t *testing.T) { eObject := goapi.NewEObject() - err := eObject.Validate() + _, err := eObject.Marshal().ToYaml() if assert.Error(t, err) { assert.Contains(t, strings.ToLower(err.Error()), "ea is required field on interface eobject\neb is required field on interface eobject") } @@ -1123,15 +1081,14 @@ func TestEObjectValidation(t *testing.T) { func TestMObjectValidation(t *testing.T) { mObject := goapi.NewMObject() - err := mObject.Validate() + _, err := mObject.Marshal().ToYaml() if assert.Error(t, err) { assert.Contains(t, strings.ToLower(err.Error()), "required field on interface mobject") } } func TestMobjectValidationError(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() config.RequiredObject().SetEA(10.2).SetEB(20) config.SetA("abc") config.SetB(10.32) @@ -1146,7 +1103,7 @@ func TestMobjectValidationError(t *testing.T) { SetIpv6("2001::1::1"). SetIpv4("1.1.1.1.2") config.SetResponse(goapi.PrefixConfigResponse.STATUS_400) - err := config.Validate() + _, err := config.Marshal().ToYaml() assert.NotNil(t, err) if assert.Error(t, err) { assert.Contains(t, strings.ToLower(err.Error()), @@ -1158,8 +1115,7 @@ func TestMobjectValidationError(t *testing.T) { } func TestLObjectError(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() l := config.L() l.SetStringParam("test") l.SetInteger(180) @@ -1169,7 +1125,7 @@ func TestLObjectError(t *testing.T) { l.SetIpv4("1.1.1.1.1.1") l.SetIpv6("2000::1:::4") l.SetHex("0x12KJN") - err := config.Validate() + _, err := config.Marshal().ToYaml() assert.NotNil(t, err) if assert.Error(t, err) { assert.Contains(t, strings.ToLower(err.Error()), @@ -1181,46 +1137,47 @@ func TestLObjectError(t *testing.T) { } func TestIeee802x(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() config.SetCase(goapi.NewLayer1Ieee802X()) config.Case() l1 := goapi.NewLayer1Ieee802X() l1.SetFlowControl(true) - l1.SetMsg(l1.Msg()) + p, _ := l1.Marshal().ToProto() + _, err := l1.Unmarshal().FromProto(p) + assert.Nil(t, err) l1.FlowControl() l1.HasFlowControl() - l1json, err := l1.ToJson() + l1json, err := l1.Marshal().ToJson() assert.Nil(t, err) - l1yaml, err := l1.ToYaml() + l1yaml, err := l1.Marshal().ToYaml() assert.Nil(t, err) - l1pbText, err := l1.ToPbText() + l1pbText, err := l1.Marshal().ToPbText() assert.Nil(t, err) - assert.Nil(t, l1.FromJson(l1json)) - assert.Nil(t, l1.FromYaml(l1yaml)) - assert.Nil(t, l1.FromPbText(l1pbText)) + assert.Nil(t, l1.Unmarshal().FromJson(l1json)) + assert.Nil(t, l1.Unmarshal().FromYaml(l1yaml)) + assert.Nil(t, l1.Unmarshal().FromPbText(l1pbText)) } func TestLevelFour(t *testing.T) { new_level_four := goapi.NewLevelFour() - new_level_four.Msg() - new_level_four.SetMsg(new_level_four.Msg()) + p, _ := new_level_four.Marshal().ToProto() + _, err := new_level_four.Unmarshal().FromProto(p) + assert.Nil(t, err) new_level_four.HasL4P1() new_level_four.SetL4P1(new_level_four.L4P1()) - fourJson, err := new_level_four.ToJson() + fourJson, err := new_level_four.Marshal().ToJson() assert.Nil(t, err) - fourYaml, err := new_level_four.ToYaml() + fourYaml, err := new_level_four.Marshal().ToYaml() assert.Nil(t, err) - fourPbText, err := new_level_four.ToPbText() + fourPbText, err := new_level_four.Marshal().ToPbText() assert.Nil(t, err) - assert.Nil(t, new_level_four.FromJson(fourJson)) - assert.Nil(t, new_level_four.FromYaml(fourYaml)) - assert.Nil(t, new_level_four.FromPbText(fourPbText)) + assert.Nil(t, new_level_four.Unmarshal().FromJson(fourJson)) + assert.Nil(t, new_level_four.Unmarshal().FromYaml(fourYaml)) + assert.Nil(t, new_level_four.Unmarshal().FromPbText(fourPbText)) } func TestIterAppendJObject(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() config.J().Add() j := config.J().Append(goapi.NewJObject()) @@ -1228,11 +1185,12 @@ func TestIterAppendJObject(t *testing.T) { } func TestIterSetJObject(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() config.J().Add().JA().SetEA(100) config.J().Add() - j := config.J().Set(1, goapi.NewJObject().SetChoice("j_b")) + jObj := goapi.NewJObject() + jObj.JB() + j := config.J().Set(1, jObj) assert.Contains(t, j.Items()[1].Choice(), "j_b") assert.Len(t, config.J().Items(), 2) @@ -1284,8 +1242,7 @@ func TestIterSetPortMetrics(t *testing.T) { } func TestFromYamlErrors(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() incorrect_format := `{ "a":"asdf", "b" : 65, @@ -1297,7 +1254,7 @@ func TestFromYamlErrors(t *testing.T) { "e_b" : 2 }` - assert.NotNil(t, config.FromYaml(incorrect_format)) + assert.NotNil(t, config.Unmarshal().FromYaml(incorrect_format)) incorrect_key := `{ "a":"asdf", "z" : 65, @@ -1309,7 +1266,7 @@ func TestFromYamlErrors(t *testing.T) { "e_b" : 2 } }` - assert.NotNil(t, config.FromYaml(incorrect_key)) + assert.NotNil(t, config.Unmarshal().FromYaml(incorrect_key)) incorrect_value := `{ "a":"asdf", "b" : 65, @@ -1322,12 +1279,11 @@ func TestFromYamlErrors(t *testing.T) { "e_b" : 2 } }` - assert.NotNil(t, config.FromYaml(incorrect_value)) + assert.NotNil(t, config.Unmarshal().FromYaml(incorrect_value)) } func TestFromPbTextErrors(t *testing.T) { - api := goapi.NewApi() - config := api.NewPrefixConfig() + config := goapi.NewPrefixConfig() incorrect_format := `{ "a":"asdf", "b" : 65, @@ -1339,7 +1295,7 @@ func TestFromPbTextErrors(t *testing.T) { "e_b" : 2 }` - assert.NotNil(t, config.FromPbText(incorrect_format)) + assert.NotNil(t, config.Unmarshal().FromPbText(incorrect_format)) incorrect_key := `{ "a":"asdf", "z" : 65, @@ -1351,7 +1307,7 @@ func TestFromPbTextErrors(t *testing.T) { "e_b" : 2 } }` - assert.NotNil(t, config.FromPbText(incorrect_key)) + assert.NotNil(t, config.Unmarshal().FromPbText(incorrect_key)) } func TestUpdateConfig(t *testing.T) { @@ -1360,145 +1316,145 @@ func TestUpdateConfig(t *testing.T) { config1.SetResponse(goapi.PrefixConfigResponse.STATUS_200) _, set_err := api.SetConfig(config1) assert.Nil(t, set_err) - config2 := api.NewUpdateConfig() + config2 := goapi.NewUpdateConfig() config2.G().Add().SetName("G1").SetGA("ga string").SetGB(232) - config2PbText, err := config2.ToPbText() + config2PbText, err := config2.Marshal().ToPbText() assert.Nil(t, err) - config2Json, err := config2.ToJson() + config2Json, err := config2.Marshal().ToJson() assert.Nil(t, err) - config2Yaml, err := config2.ToYaml() + config2Yaml, err := config2.Marshal().ToYaml() assert.Nil(t, err) - assert.Nil(t, config2.FromJson(config2Json)) - assert.Nil(t, config2.FromYaml(config2Yaml)) - assert.Nil(t, config2.FromPbText(config2PbText)) + assert.Nil(t, config2.Unmarshal().FromJson(config2Json)) + assert.Nil(t, config2.Unmarshal().FromYaml(config2Yaml)) + assert.Nil(t, config2.Unmarshal().FromPbText(config2PbText)) // config2.SetMsg(config2.Msg()) config3, err := api.UpdateConfiguration(config2) assert.Nil(t, err) assert.NotNil(t, config3) - config3Yaml, err := config3.ToYaml() + config3Yaml, err := config3.Marshal().ToYaml() assert.Nil(t, err) log.Println(config3Yaml) } } func TestNewSetConfigResponse(t *testing.T) { - api := goapi.NewApi() - new_resp := api.NewSetConfigResponse() + new_resp := goapi.NewSetConfigResponse() new_resp.SetResponseBytes([]byte{0, 1}) - new_resp.SetMsg(new_resp.Msg()) - new_resp.Msg() + p, _ := new_resp.Marshal().ToProto() + _, err := new_resp.Unmarshal().FromProto(p) + assert.Nil(t, err) new_resp.HasResponseBytes() - respJson, err := new_resp.ToJson() + respJson, err := new_resp.Marshal().ToJson() assert.Nil(t, err) - respYaml, err := new_resp.ToYaml() + respYaml, err := new_resp.Marshal().ToYaml() assert.Nil(t, err) - respPbText, err := new_resp.ToPbText() + respPbText, err := new_resp.Marshal().ToPbText() assert.Nil(t, err) - assert.Nil(t, new_resp.FromJson(respJson)) - assert.Nil(t, new_resp.FromYaml(respYaml)) - assert.Nil(t, new_resp.FromPbText(respPbText)) + assert.Nil(t, new_resp.Unmarshal().FromJson(respJson)) + assert.Nil(t, new_resp.Unmarshal().FromYaml(respYaml)) + assert.Nil(t, new_resp.Unmarshal().FromPbText(respPbText)) } func TestNewUpdateConfigResponse(t *testing.T) { - api := goapi.NewApi() - new_resp := api.NewUpdateConfigurationResponse() - new_resp.SetMsg(new_resp.Msg()) - new_resp.Msg() + new_resp := goapi.NewUpdateConfigurationResponse() + p, _ := new_resp.Marshal().ToProto() + _, err := new_resp.Unmarshal().FromProto(p) + assert.Nil(t, err) new_resp.HasPrefixConfig() - respJson, err := new_resp.ToJson() + respJson, err := new_resp.Marshal().ToJson() assert.Nil(t, err) - respYaml, err := new_resp.ToYaml() + respYaml, err := new_resp.Marshal().ToYaml() assert.Nil(t, err) - respPbText, err := new_resp.ToPbText() + respPbText, err := new_resp.Marshal().ToPbText() assert.Nil(t, err) - assert.Nil(t, new_resp.FromJson(respJson)) - assert.Nil(t, new_resp.FromYaml(respYaml)) - assert.Nil(t, new_resp.FromPbText(respPbText)) + assert.Nil(t, new_resp.Unmarshal().FromJson(respJson)) + assert.Nil(t, new_resp.Unmarshal().FromYaml(respYaml)) + assert.Nil(t, new_resp.Unmarshal().FromPbText(respPbText)) } func TestNewGetConfigResponse(t *testing.T) { - api := goapi.NewApi() - new_resp := api.NewGetConfigResponse() - new_resp.SetMsg(new_resp.Msg()) - new_resp.Msg() + new_resp := goapi.NewGetConfigResponse() + p, _ := new_resp.Marshal().ToProto() + _, err := new_resp.Unmarshal().FromProto(p) + assert.Nil(t, err) new_resp.HasPrefixConfig() - respJson, err := new_resp.ToJson() + respJson, err := new_resp.Marshal().ToJson() assert.Nil(t, err) - respYaml, err := new_resp.ToYaml() + respYaml, err := new_resp.Marshal().ToYaml() assert.Nil(t, err) - respPbText, err := new_resp.ToPbText() + respPbText, err := new_resp.Marshal().ToPbText() assert.Nil(t, err) - assert.Nil(t, new_resp.FromJson(respJson)) - assert.Nil(t, new_resp.FromYaml(respYaml)) - assert.Nil(t, new_resp.FromPbText(respPbText)) + assert.Nil(t, new_resp.Unmarshal().FromJson(respJson)) + assert.Nil(t, new_resp.Unmarshal().FromYaml(respYaml)) + assert.Nil(t, new_resp.Unmarshal().FromPbText(respPbText)) } func TestNewGetMetricsResponse(t *testing.T) { - api := goapi.NewApi() - new_resp := api.NewGetMetricsResponse() - new_resp.SetMsg(new_resp.Msg()) - new_resp.Msg() + new_resp := goapi.NewGetMetricsResponse() + p, _ := new_resp.Marshal().ToProto() + _, err := new_resp.Unmarshal().FromProto(p) + assert.Nil(t, err) new_resp.HasMetrics() - respJson, err := new_resp.ToJson() + respJson, err := new_resp.Marshal().ToJson() assert.Nil(t, err) - respYaml, err := new_resp.ToYaml() + respYaml, err := new_resp.Marshal().ToYaml() assert.Nil(t, err) - respPbText, err := new_resp.ToPbText() + respPbText, err := new_resp.Marshal().ToPbText() assert.Nil(t, err) - assert.Nil(t, new_resp.FromJson(respJson)) - assert.Nil(t, new_resp.FromYaml(respYaml)) - assert.Nil(t, new_resp.FromPbText(respPbText)) + assert.Nil(t, new_resp.Unmarshal().FromJson(respJson)) + assert.Nil(t, new_resp.Unmarshal().FromYaml(respYaml)) + assert.Nil(t, new_resp.Unmarshal().FromPbText(respPbText)) } func TestNewGetWarningsResponse(t *testing.T) { - api := goapi.NewApi() - new_resp := api.NewGetWarningsResponse() - new_resp.SetMsg(new_resp.Msg()) - new_resp.Msg() + new_resp := goapi.NewGetWarningsResponse() + p, _ := new_resp.Marshal().ToProto() + _, err := new_resp.Unmarshal().FromProto(p) + assert.Nil(t, err) new_resp.HasWarningDetails() - respJson, err := new_resp.ToJson() + respJson, err := new_resp.Marshal().ToJson() assert.Nil(t, err) - respYaml, err := new_resp.ToYaml() + respYaml, err := new_resp.Marshal().ToYaml() assert.Nil(t, err) - respPbText, err := new_resp.ToPbText() + respPbText, err := new_resp.Marshal().ToPbText() assert.Nil(t, err) - assert.Nil(t, new_resp.FromJson(respJson)) - assert.Nil(t, new_resp.FromYaml(respYaml)) - assert.Nil(t, new_resp.FromPbText(respPbText)) + assert.Nil(t, new_resp.Unmarshal().FromJson(respJson)) + assert.Nil(t, new_resp.Unmarshal().FromYaml(respYaml)) + assert.Nil(t, new_resp.Unmarshal().FromPbText(respPbText)) } func TestNewClearWarningsResponse(t *testing.T) { - api := goapi.NewApi() - new_resp := api.NewClearWarningsResponse() - new_resp.SetMsg(new_resp.Msg()) - new_resp.Msg() + new_resp := goapi.NewClearWarningsResponse() + p, _ := new_resp.Marshal().ToProto() + _, err := new_resp.Unmarshal().FromProto(p) + assert.Nil(t, err) new_resp.HasResponseString() new_resp.SetResponseString("success") - respJson, err := new_resp.ToJson() + respJson, err := new_resp.Marshal().ToJson() assert.Nil(t, err) - respYaml, err := new_resp.ToYaml() + respYaml, err := new_resp.Marshal().ToYaml() assert.Nil(t, err) - respPbText, err := new_resp.ToPbText() + respPbText, err := new_resp.Marshal().ToPbText() assert.Nil(t, err) - assert.Nil(t, new_resp.FromJson(respJson)) - assert.Nil(t, new_resp.FromYaml(respYaml)) - assert.Nil(t, new_resp.FromPbText(respPbText)) + assert.Nil(t, new_resp.Unmarshal().FromJson(respJson)) + assert.Nil(t, new_resp.Unmarshal().FromYaml(respYaml)) + assert.Nil(t, new_resp.Unmarshal().FromPbText(respPbText)) } func TestNewError(t *testing.T) { new_err := goapi.NewError() var code int32 = 500 - new_err.Msg().Code = &code - new_err.Msg().Errors = []string{"err1"} - respJson, err := new_err.ToJson() + _ = new_err.SetCode(code) + _ = new_err.SetErrors([]string{"err1"}) + respJson, err := new_err.Marshal().ToJson() assert.Nil(t, err) - respYaml, err := new_err.ToYaml() + respYaml, err := new_err.Marshal().ToYaml() assert.Nil(t, err) - respPbText, err := new_err.ToPbText() + respPbText, err := new_err.Marshal().ToPbText() assert.Nil(t, err) - assert.Nil(t, new_err.FromJson(respJson)) - assert.Nil(t, new_err.FromYaml(respYaml)) - assert.Nil(t, new_err.FromPbText(respPbText)) + assert.Nil(t, new_err.Unmarshal().FromJson(respJson)) + assert.Nil(t, new_err.Unmarshal().FromYaml(respYaml)) + assert.Nil(t, new_err.Unmarshal().FromPbText(respPbText)) er := new_err.SetErrors(new_err.Errors()) if er != nil { fmt.Println(er) @@ -1507,32 +1463,34 @@ func TestNewError(t *testing.T) { func TestNewMetrics(t *testing.T) { new_metrics := goapi.NewMetrics() - new_metrics.SetMsg(new_metrics.Msg()) - new_metrics.Msg() - respJson, err := new_metrics.ToJson() + p, _ := new_metrics.Marshal().ToProto() + _, err := new_metrics.Unmarshal().FromProto(p) + assert.Nil(t, err) + respJson, err := new_metrics.Marshal().ToJson() assert.Nil(t, err) - respYaml, err := new_metrics.ToYaml() + respYaml, err := new_metrics.Marshal().ToYaml() assert.Nil(t, err) - respPbText, err := new_metrics.ToPbText() + respPbText, err := new_metrics.Marshal().ToPbText() assert.Nil(t, err) - assert.Nil(t, new_metrics.FromJson(respJson)) - assert.Nil(t, new_metrics.FromYaml(respYaml)) - assert.Nil(t, new_metrics.FromPbText(respPbText)) + assert.Nil(t, new_metrics.Unmarshal().FromJson(respJson)) + assert.Nil(t, new_metrics.Unmarshal().FromYaml(respYaml)) + assert.Nil(t, new_metrics.Unmarshal().FromPbText(respPbText)) } func TestNewWarningDetails(t *testing.T) { new_warnings := goapi.NewWarningDetails() - new_warnings.SetMsg(new_warnings.Msg()) - new_warnings.Msg() - respJson, err := new_warnings.ToJson() + p, _ := new_warnings.Marshal().ToProto() + _, err := new_warnings.Unmarshal().FromProto(p) assert.Nil(t, err) - respYaml, err := new_warnings.ToYaml() + respJson, err := new_warnings.Marshal().ToJson() assert.Nil(t, err) - respPbText, err := new_warnings.ToPbText() + respYaml, err := new_warnings.Marshal().ToYaml() assert.Nil(t, err) - assert.Nil(t, new_warnings.FromJson(respJson)) - assert.Nil(t, new_warnings.FromYaml(respYaml)) - assert.Nil(t, new_warnings.FromPbText(respPbText)) + respPbText, err := new_warnings.Marshal().ToPbText() + assert.Nil(t, err) + assert.Nil(t, new_warnings.Unmarshal().FromJson(respJson)) + assert.Nil(t, new_warnings.Unmarshal().FromYaml(respYaml)) + assert.Nil(t, new_warnings.Unmarshal().FromPbText(respPbText)) } func TestNewPortMetric(t *testing.T) { @@ -1540,21 +1498,23 @@ func TestNewPortMetric(t *testing.T) { new_port_metric.SetName("portmetric") new_port_metric.SetTxFrames(1000) new_port_metric.SetRxFrames(2000) - new_port_metric.SetMsg(new_port_metric.Msg()) - new_port_metric.Msg() - respJson, err := new_port_metric.ToJson() + p, _ := new_port_metric.Marshal().ToProto() + _, err := new_port_metric.Unmarshal().FromProto(p) + assert.Nil(t, err) + respJson, err := new_port_metric.Marshal().ToJson() assert.Nil(t, err) - respYaml, err := new_port_metric.ToYaml() + respYaml, err := new_port_metric.Marshal().ToYaml() assert.Nil(t, err) - respPbText, err := new_port_metric.ToPbText() + respPbText, err := new_port_metric.Marshal().ToPbText() assert.Nil(t, err) - assert.Nil(t, new_port_metric.FromJson(respJson)) - assert.Nil(t, new_port_metric.FromYaml(respYaml)) - assert.Nil(t, new_port_metric.FromPbText(respPbText)) + assert.Nil(t, new_port_metric.Unmarshal().FromJson(respJson)) + assert.Nil(t, new_port_metric.Unmarshal().FromYaml(respYaml)) + assert.Nil(t, new_port_metric.Unmarshal().FromPbText(respPbText)) new_port_metric.Name() new_port_metric.RxFrames() new_port_metric.TxFrames() - assert.Nil(t, new_port_metric.Validate()) + _, err = new_port_metric.Marshal().ToYaml() + assert.Nil(t, err) } func TestItemsMethod(t *testing.T) { @@ -1562,31 +1522,31 @@ func TestItemsMethod(t *testing.T) { config1 := NewFullyPopulatedPrefixConfig(api) config1.G().Add().SetGA("this is GA string") assert.Equal(t, config1.G(), config1.G()) - config2 := api.NewPrefixConfig() - config1Json, err := config1.ToJson() + config2 := goapi.NewPrefixConfig() + config1Json, err := config1.Marshal().ToJson() assert.Nil(t, err) - json_err := config2.FromJson(config1Json) + json_err := config2.Unmarshal().FromJson(config1Json) assert.Nil(t, json_err) assert.Len(t, config1.G().Items(), 2) assert.Len(t, config2.G().Items(), 2) for ind, obj := range config1.G().Items() { - objJson, err := obj.ToJson() + objJson, err := obj.Marshal().ToJson() assert.Nil(t, err) - gJson, err := config2.G().Items()[ind].ToJson() + gJson, err := config2.G().Items()[ind].Marshal().ToJson() assert.Nil(t, err) assert.Equal(t, objJson, gJson) } - configJson1, err := config1.ToJson() + configJson1, err := config1.Marshal().ToJson() assert.Nil(t, err) - config2Json, err := config2.ToJson() + config2Json, err := config2.Marshal().ToJson() assert.Nil(t, err) require.JSONEq(t, configJson1, config2Json) config2.G().Add().SetGB(200000) assert.Len(t, config2.G().Items(), 3) for ind, obj := range config1.G().Items() { - objJson1, err := obj.ToJson() + objJson1, err := obj.Marshal().ToJson() assert.Nil(t, err) - gJson1, err := config2.G().Items()[ind].ToJson() + gJson1, err := config2.G().Items()[ind].Marshal().ToJson() assert.Nil(t, err) assert.Equal(t, objJson1, gJson1) } @@ -1602,46 +1562,46 @@ func TestStructGetterMethod(t *testing.T) { assert.Equal(t, val, jObject.JA()) jObject1 := goapi.NewJObject() - jOject1json, err := jObject.ToJson() + jOject1json, err := jObject.Marshal().ToJson() assert.Nil(t, err) - err1 := jObject1.FromJson(jOject1json) + err1 := jObject1.Unmarshal().FromJson(jOject1json) assert.Nil(t, err1) assert.Equal(t, jObject1.JA(), jObject1.JA()) jObject2 := goapi.NewJObject() val2 := jObject2.JA() val2.SetEA(0.23495).SetEB(1.456) - jObject2Json, err := jObject.ToJson() + jObject2Json, err := jObject.Marshal().ToJson() assert.Nil(t, err) - err2 := jObject2.FromJson(jObject2Json) + err2 := jObject2.Unmarshal().FromJson(jObject2Json) assert.Nil(t, err2) assert.NotEqual(t, val2, jObject2.JA()) } func TestFromJsonEmpty(t *testing.T) { fObject := goapi.NewFObject() - value1, err := fObject.ToJson() + value1, err := fObject.Marshal().ToJson() assert.Nil(t, err) - value2, err := fObject.ToYaml() + value2, err := fObject.Marshal().ToYaml() assert.Nil(t, err) - value3, err := fObject.ToPbText() + value3, err := fObject.Marshal().ToPbText() assert.Nil(t, err) for i, v := range []string{"", ``, `{}`, "{}"} { - err1 := fObject.FromJson(v) + err1 := fObject.Unmarshal().FromJson(v) assert.Nil(t, err1) - err2 := fObject.FromYaml(v) + err2 := fObject.Unmarshal().FromYaml(v) assert.Nil(t, err2) if i < 2 { - err3 := fObject.FromPbText(v) + err3 := fObject.Unmarshal().FromPbText(v) assert.Nil(t, err3) } } - fObjectJson, err := fObject.ToJson() + fObjectJson, err := fObject.Marshal().ToJson() assert.Nil(t, err) - fObjectYaml, err := fObject.ToYaml() + fObjectYaml, err := fObject.Marshal().ToYaml() assert.Nil(t, err) - fObjectPbText, err := fObject.ToPbText() + fObjectPbText, err := fObject.Marshal().ToPbText() assert.Nil(t, err) require.JSONEq(t, value1, fObjectJson) require.Equal(t, value2, fObjectYaml) @@ -1659,10 +1619,10 @@ func TestChoiceDefaults(t *testing.T) { "e_b": 6.78 } }` - j, err0 := jObject.ToJson() + j, err0 := jObject.Marshal().ToJson() assert.Nil(t, err0) require.JSONEq(t, json, j) - jObject.SetChoice(goapi.JObjectChoice.J_B) + jObject.JB() json1 := ` { "choice": "j_b", @@ -1671,7 +1631,7 @@ func TestChoiceDefaults(t *testing.T) { "f_a": "some string" } }` - j1, err1 := jObject.ToJson() + j1, err1 := jObject.Marshal().ToJson() assert.Nil(t, err1) require.JSONEq(t, json1, j1) jObject.JB().FB() @@ -1683,7 +1643,7 @@ func TestChoiceDefaults(t *testing.T) { "f_b": 3 } }` - j2, err2 := jObject.ToJson() + j2, err2 := jObject.Marshal().ToJson() assert.Nil(t, err2) require.JSONEq(t, json2, j2) integer := goapi.NewIntegerPattern() @@ -1697,7 +1657,7 @@ func TestChoiceDefaults(t *testing.T) { ] } }` - j3, err3 := integer.ToJson() + j3, err3 := integer.Marshal().ToJson() assert.Nil(t, err3) require.JSONEq(t, json3, j3) integer.Integer().SetValues([]uint32{1, 2, 3}) @@ -1710,7 +1670,7 @@ func TestChoiceDefaults(t *testing.T) { ] } }` - j4, err4 := integer.ToJson() + j4, err4 := integer.Marshal().ToJson() assert.Nil(t, err4) require.JSONEq(t, json4, j4) } @@ -1723,7 +1683,7 @@ func TestSetterWrapperHolder(t *testing.T) { "choice": "ports" } }` - metricsrespJson, err := metricsResp.ToJson() + metricsrespJson, err := metricsResp.Marshal().ToJson() assert.Nil(t, err) require.JSONEq(t, json1, metricsrespJson) fmt.Println(metricsrespJson) @@ -1740,12 +1700,12 @@ func TestSetterWrapperHolder(t *testing.T) { ] } }` - metricsrespJson1, err := metricsResp.ToJson() + metricsrespJson1, err := metricsResp.Marshal().ToJson() assert.Nil(t, err) fmt.Println(metricsrespJson1) require.JSONEq(t, json, metricsrespJson1) metricsResp.SetMetrics(goapi.NewMetrics()) - metricsrespJson2, err := metricsResp.ToJson() + metricsrespJson2, err := metricsResp.Marshal().ToJson() assert.Nil(t, err) require.JSONEq(t, json1, metricsrespJson2) fmt.Println(metricsrespJson2) @@ -1786,8 +1746,8 @@ func TestClone(t *testing.T) { // assert.Len(t, config.Warnings(), 0) -// // Warning by ToJson -// data, err := config.ToJson() +// // Warning by Marshal().ToJson +// data, err := config.Marshal().ToJson() // assert.Nil(t, err) // warnings = config.Warnings() @@ -1804,8 +1764,8 @@ func TestClone(t *testing.T) { // config1 := api.NewPrefixConfig() -// // Warning by FromJson -// err1 := config1.FromJson(data) +// // Warning by Unmarshal().FromJson +// err1 := config1.Unmarshal().FromJson(data) // assert.Nil(t, err1) // warnings = config1.Warnings() @@ -1837,25 +1797,25 @@ func TestClone(t *testing.T) { // // Two similar objects with same Name. // prefix.WList().Add().SetWName("global_unique_similar_obj") // prefix.WList().Add().SetWName("global_unique_similar_obj") -// _, err := prefix.ToJson() +// _, err := prefix.Marshal().ToJson() // assert.NotNil(t, err) // assert.Contains(t, err.Error(), "global_unique_similar_obj already exists") // // Two similar objects with different name // prefix.WList().Items()[1].SetWName("global_unique_similar_obj1") -// _, err = prefix.ToJson() +// _, err = prefix.Marshal().ToJson() // assert.Nil(t, err) // // Two different objects with same name // prefix.SetName("global_unique") // prefix.WList().Add().SetWName("global_unique") -// _, err = prefix.ToJson() +// _, err = prefix.Marshal().ToJson() // assert.NotNil(t, err) // assert.Contains(t, err.Error(), "global_unique already exists") // // Two different objects with different name // prefix.SetName("global_unique1") -// _, err = prefix.ToJson() +// _, err = prefix.Marshal().ToJson() // assert.Nil(t, err) // // ******************************************** @@ -1865,19 +1825,19 @@ func TestClone(t *testing.T) { // // Two similar objects with same Name. // prefix.XList().Add().SetName("local_unique") // prefix.XList().Add().SetName("local_unique") -// _, err = prefix.ToJson() +// _, err = prefix.Marshal().ToJson() // assert.NotNil(t, err) // assert.Contains(t, err.Error(), "local_unique already exists") // // Two similar objects with different name // prefix.XList().Items()[0].SetName("local_unique1") -// _, err = prefix.ToJson() +// _, err = prefix.Marshal().ToJson() // assert.Nil(t, err) // // Two different objects with same name // prefix.SetName("local_global_mix") // prefix.ZObject().SetName("local_global_mix") -// _, err = prefix.ToJson() +// _, err = prefix.Marshal().ToJson() // assert.NotNil(t, err) // } @@ -1905,12 +1865,12 @@ func TestClone(t *testing.T) { // // serialize with non existing name // prefix_.YObject().SetYName("wObj3") -// _, err = prefix_.ToJson() +// _, err = prefix_.Marshal().ToJson() // assert.NotNil(t, err) // // serialize with valid data // prefix_.YObject().SetYName("wObj1") -// data, j_err := prefix_.ToJson() +// data, j_err := prefix_.Marshal().ToJson() // assert.Nil(t, j_err) // re := regexp.MustCompile(`y_name.+wObj1`) @@ -1920,7 +1880,7 @@ func TestClone(t *testing.T) { // // Deserialize with non-existing name // prefix1 := goapi.NewPrefixConfig() // fmt.Println(data) -// err1 := prefix1.FromJson(data) +// err1 := prefix1.Unmarshal().FromJson(data) // assert.NotNil(t, err1) // fmt.Println(err1.Error()) @@ -1929,6 +1889,6 @@ func TestClone(t *testing.T) { // // data = strings.Replace(data, `"y_name": "wObj3"`, `"y_name": "wObj1"`, 1) // // Deserialize with valid name -// err2 := prefix1.FromJson(data) +// err2 := prefix1.Unmarshal().FromJson(data) // assert.Nil(t, err2) // } diff --git a/setup.py b/setup.py index 4be114d9..e3a69757 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ import setuptools pkg_name = "openapiart" -version = "0.3.4" +version = "0.3.7" base_dir = os.path.dirname(os.path.abspath(__file__)) with open(os.path.join(base_dir, "readme.md")) as fid: From d32e5e26da582c082ca8af8d35aa5fabdd168a62 Mon Sep 17 00:00:00 2001 From: Github Actions Bot Date: Wed, 3 Jan 2024 14:08:56 +0000 Subject: [PATCH 23/27] Update auto generated go code --- artifacts/goapi/go.mod | 6 +- artifacts/goapi/go.sum | 136 +- artifacts/goapi/goapi.go | 9995 ++++++++++------- .../httpapi/controllers/apitest_controller.go | 30 +- .../httpapi/controllers/bundler_controller.go | 32 +- .../controllers/capabilities_controller.go | 10 +- .../httpapi/controllers/metrics_controller.go | 30 +- .../controllers/serviceabc_controller.go | 30 +- .../__pycache__/__init__.cpython-310.pyc | Bin 2490 -> 2490 bytes .../__pycache__/openapi_pb2.cpython-310.pyc | Bin 18647 -> 18647 bytes .../openapi_pb2_grpc.cpython-310.pyc | Bin 9104 -> 9104 bytes .../pyapi/__pycache__/pyapi.cpython-310.pyc | Bin 151698 -> 151698 bytes artifacts/pyapi/requirements.txt | 6 +- 13 files changed, 6233 insertions(+), 4042 deletions(-) diff --git a/artifacts/goapi/go.mod b/artifacts/goapi/go.mod index cc390891..6429af46 100644 --- a/artifacts/goapi/go.mod +++ b/artifacts/goapi/go.mod @@ -6,8 +6,8 @@ require ( github.com/Masterminds/semver/v3 v3.2.1 github.com/ghodss/yaml v1.0.0 github.com/golang/protobuf v1.5.3 - github.com/gorilla/mux v1.8.0 + github.com/gorilla/mux v1.8.1 github.com/stretchr/testify v1.8.4 - google.golang.org/grpc v1.58.3 - google.golang.org/protobuf v1.31.0 + google.golang.org/grpc v1.60.1 + google.golang.org/protobuf v1.32.0 ) diff --git a/artifacts/goapi/go.sum b/artifacts/goapi/go.sum index 868ed5d4..3ff15d96 100644 --- a/artifacts/goapi/go.sum +++ b/artifacts/goapi/go.sum @@ -38,6 +38,9 @@ cloud.google.com/go v0.107.0/go.mod h1:wpc2eNrD7hXUTy8EKS10jkxpZBjASrORK7goS+3YX 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 v0.110.8/go.mod h1:Iz8AkXJf1qmxC3Oxoep8R1T36w8B92yU29PcBhHO5fk= 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= @@ -55,12 +58,15 @@ cloud.google.com/go/aiplatform v1.35.0/go.mod h1:7MFT/vCaOyZT/4IIFfxH4ErVg/4ku6l 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/aiplatform v1.50.0/go.mod h1:IRc2b8XAMTa9ZmfJV1BCCQbieWWvDnP1A8znyz5N7y4= 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= @@ -121,14 +127,19 @@ cloud.google.com/go/automl v1.13.1/go.mod h1:1aowgAHWYZU27MybSCFiukPO7xnyawv7pt3 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/baremetalsolution v1.2.0/go.mod h1:68wi9AwPYkEWIUT4SvSGS9UJwKzNpshjHsH4lzk8iOw= 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/batch v1.4.1/go.mod h1:KdBmDD61K0ovcxoRHGrN6GmOBWeAOyCgKD0Mugx4Fkk= 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= @@ -143,6 +154,8 @@ cloud.google.com/go/bigquery v1.48.0/go.mod h1:QAwSz+ipNgfL5jxiaK7weyOhzdoAy1zFm 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/bigquery v1.55.0/go.mod h1:9Y5I3PN9kQWuid6183JFhOGOW3GcirA5LpsKCUn+2ec= 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= @@ -150,12 +163,14 @@ cloud.google.com/go/billing v1.7.0/go.mod h1:q457N3Hbj9lYwwRbnlD7vUpyjq6u5U1RAOA 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/billing v1.17.0/go.mod h1:Z9+vZXEq+HwH7bhJkyI4OQcR6TSbeMrjlpEjO2vzY64= 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/binaryauthorization v1.7.0/go.mod h1:Zn+S6QqTMn6odcMU1zDZCJxPjU2tZPV1oDl45lWY154= 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= @@ -165,16 +180,20 @@ cloud.google.com/go/channel v1.9.0/go.mod h1:jcu05W0my9Vx4mt3/rEHpfxc9eKi9XwsdDL 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/channel v1.17.0/go.mod h1:RpbhJsGi/lXWAUM1eF4IbQGbsfVlg2o8Iiy2/YLfVT0= 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/cloudbuild v1.14.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/clouddms v1.7.0/go.mod h1:MW1dC6SOtI/tPNCciTsXtsGNEM0i0OccykPvv3hiYeM= 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= @@ -182,6 +201,7 @@ cloud.google.com/go/cloudtasks v1.8.0/go.mod h1:gQXUIwCSOI4yPVK7DgTVFiiP0ZW/eQky 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= @@ -199,7 +219,7 @@ cloud.google.com/go/compute v1.19.0/go.mod h1:rikpw2y+UMidAe9tISo04EHNOIf42RLYF/ 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 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= @@ -208,17 +228,21 @@ cloud.google.com/go/contactcenterinsights v1.3.0/go.mod h1:Eu2oemoePuEFc/xKFPjbT 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/container v1.26.0/go.mod h1:YJCmRet6+6jnYYRS000T6k0D0xUXQgBSaJ7VwI8FBj4= 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/containeranalysis v0.11.0/go.mod h1:4n2e99ZwpGxpNcz+YsFT1dfOHPQFGcAC8FN2M2/ne/U= 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= @@ -229,6 +253,8 @@ cloud.google.com/go/datacatalog v1.12.0/go.mod h1:CWae8rFkfp6LzLumKOnmVh4+Zle4A3 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/datacatalog v1.17.1/go.mod h1:nCSYFHgtxh2MiEktWIz71s/X+7ds/UT9kp0PC7waCzE= 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= @@ -252,9 +278,13 @@ cloud.google.com/go/dataplex v1.4.0/go.mod h1:X51GfLXEMVJ6UN47ESVqvlsRplbLhcsAt0 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/dataplex v1.9.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/dataproc/v2 v2.0.1/go.mod h1:7Ez3KRHdFGcfY7GcevBbvozX+zyWGcwLJvvAMwCaoZ4= +cloud.google.com/go/dataproc/v2 v2.2.0/go.mod h1:lZR7AQtwZPvmINx5J87DSOOpTfof9LVZju6/Qo4lmcY= 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= @@ -265,6 +295,8 @@ cloud.google.com/go/datastore v1.10.0/go.mod h1:PC5UzAmDEkAmkfaknstTYbNpgE49HAgW 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/datastore v1.14.0/go.mod h1:GAeStMBIt9bPS7jMJA85kgkpsMkvseWWXiaHya9Jes8= 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= @@ -272,11 +304,13 @@ cloud.google.com/go/datastream v1.5.0/go.mod h1:6TZMMNPwjUqZHBKPQ1wwXpb0d5VDVPl2 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= @@ -286,6 +320,8 @@ cloud.google.com/go/dialogflow v1.29.0/go.mod h1:b+2bzMe+k1s9V+F2jbJwpHPzrnIyHih 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/dialogflow v1.43.0/go.mod h1:pDUJdi4elL0MFmt1REMvFkdsUTYSHq+rTCS8wg0S3+M= 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= @@ -297,6 +333,8 @@ cloud.google.com/go/documentai v1.10.0/go.mod h1:vod47hKQIPeCfN2QS/jULIvQTugbmdc 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/documentai v1.22.1/go.mod h1:LKs22aDHbJv7ufXuPypzRO7rG3ALLJxzdCXDPutw4Qc= 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= @@ -316,6 +354,7 @@ cloud.google.com/go/eventarc v1.8.0/go.mod h1:imbzxkyAU4ubfsaKYdQg04WS1NvncblHEu 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= @@ -323,6 +362,8 @@ cloud.google.com/go/filestore v1.6.0/go.mod h1:di5unNuss/qfZTw2U9nhFqo8/ZDSc466d 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/firestore v1.12.0/go.mod h1:b38dKhgzlmNNGTNZZwe7ZRFEuRab1Hay3/DBsIGKKy4= +cloud.google.com/go/firestore v1.13.0/go.mod h1:QojqqOh8IntInDUSTAh0c8ZsPYAr68Ma8c5DWOy8xb8= 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= @@ -340,6 +381,8 @@ cloud.google.com/go/gaming v1.10.1/go.mod h1:XQQvtfP8Rb9Rxnxm5wFVpAp9zCQkJi2bLIb 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/gkebackup v1.3.1/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= @@ -353,6 +396,7 @@ cloud.google.com/go/gkemulticloud v0.3.0/go.mod h1:7orzy7O0S+5kq95e4Hpn7RysVA7dP 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= @@ -371,12 +415,14 @@ cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCta 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/iam v1.1.2/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/iap v1.9.0/go.mod h1:01OFxd1R+NFrg78S+hoPV5PxEzv22HXaNqUUlmNHFuY= 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= @@ -395,18 +441,22 @@ cloud.google.com/go/kms v1.10.0/go.mod h1:ng3KTUtQQU9bPX3+QGLsflZIHlkbn8amFAMY63 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/kms v1.15.2/go.mod h1:3hopT4+7ooWRCjc2DxgnpESFxhIraaI2IpAVUEhbT/w= 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/language v1.11.0/go.mod h1:uDx+pFDdAKTY8ehpWbiXyQdz8tDSYLJbQcXsCkjYyvQ= 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/logging v1.8.1/go.mod h1:TJjR+SimHwuC8MZ9cjByQulAMgni+RkXeI3wwctHJEI= 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= @@ -420,6 +470,8 @@ cloud.google.com/go/managedidentities v1.6.1/go.mod h1:h/irGhTN2SkZ64F43tfGPMbHn 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= @@ -436,11 +488,13 @@ cloud.google.com/go/metastore v1.7.0/go.mod h1:s45D0B4IlsINu87/AsWiEVYbLaIMeUSox 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/monitoring v1.16.0/go.mod h1:Ptp15HgAyM1fNICAojDMoNc/wUmn67mLHQfyqbw+poY= 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= @@ -448,10 +502,12 @@ cloud.google.com/go/networkconnectivity v1.7.0/go.mod h1:RMuSbkdbPwNMQjB5HBWD5Mp 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/networkconnectivity v1.13.0/go.mod h1:SAnGPes88pl7QRLUen2HmcBSE9AowVAcdug8c0RSBFk= 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/networkmanagement v1.9.0/go.mod h1:UTUaEU9YwbCAhhz3jEOHr+2/K/MrBk2XxOLS89LQzFw= 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= @@ -464,10 +520,12 @@ cloud.google.com/go/notebooks v1.5.0/go.mod h1:q8mwhnP9aR8Hpfnrc5iN5IBhrXUy8S2vu 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/notebooks v1.10.0/go.mod h1:SOPYMZnttHxqot0SGSFSkRrwE29eqnKPBJFqgWmiK2k= 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/optimization v1.5.0/go.mod h1:evo1OvTxeBRBu6ydPlrIRizKY/LJKo/drDMMRKqGEUU= 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= @@ -499,6 +557,8 @@ cloud.google.com/go/policytroubleshooter v1.4.0/go.mod h1:DZT4BcRw3QoO8ota9xw/LK 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/policytroubleshooter v1.9.0/go.mod h1:+E2Lga7TycpeSTj2FsH4oXxTnrbHJGRlKhVZBLGgU64= 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= @@ -513,6 +573,7 @@ cloud.google.com/go/pubsub v1.27.1/go.mod h1:hQN39ymbV9geqBnfQq6Xf63yNhUAhv9CZhz 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= @@ -536,6 +597,7 @@ cloud.google.com/go/recommender v1.7.0/go.mod h1:XLHs/W+T8olwlGOgfQenXBTbIseGclC 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/recommender v1.11.0/go.mod h1:kPiRQhPyTJ9kyXPCG6u/dlPLbYfFlkwHNRwdzPVAoII= 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= @@ -562,6 +624,7 @@ cloud.google.com/go/run v0.2.0/go.mod h1:CNtKsTA1sDcnqqIFR3Pb5Tq0usWxJJvsWOCPldR 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= @@ -601,6 +664,7 @@ cloud.google.com/go/servicedirectory v1.7.0/go.mod h1:5p/U5oyvgYGYejufvxhgwjL8UV 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= @@ -617,6 +681,7 @@ cloud.google.com/go/spanner v1.41.0/go.mod h1:MLYDBJR/dY4Wt7ZaMIQ7rXOTLjYrmxLE/5 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/spanner v1.49.0/go.mod h1:eGj9mQGK8+hkgSVbHNQ06pQ4oS+cyc4tXXd6Dif1KoM= 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= @@ -624,6 +689,7 @@ cloud.google.com/go/speech v1.9.0/go.mod h1:xQ0jTcmnRFFM2RfX/U+rk6FQNUF6DQlydUSy 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= @@ -666,6 +732,8 @@ cloud.google.com/go/translate v1.5.0/go.mod h1:29YDSYveqqpA1CQFD7NQuP49xymq17RXN 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/translate v1.9.0/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= @@ -673,6 +741,8 @@ cloud.google.com/go/video v1.13.0/go.mod h1:ulzkYlYgCp15N2AokzKjy7MQ9ejuynOJdf1t 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/video v1.20.0/go.mod h1:U3G3FTnsvAGqglq9LxgqzOiBc/Nt8zis8S+850N2DUM= 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= @@ -696,6 +766,7 @@ cloud.google.com/go/vmwareengine v0.1.0/go.mod h1:RsdNEf/8UDvKllXhMz5J40XxDrNJNN 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= @@ -716,6 +787,7 @@ cloud.google.com/go/workflows v1.8.0/go.mod h1:ysGhmEajwZxGn1OhGOGKsTXc5PyxOc0vf 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= +cloud.google.com/go/workflows v1.12.0/go.mod h1:PYhSk2b6DhZ508tj8HXKaBh+OFe+xdl0dHF/tJdzPQM= 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= @@ -810,6 +882,7 @@ github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGw 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-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= @@ -889,11 +962,13 @@ github.com/google/s2a-go v0.1.3/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkj 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/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/enterprise-certificate-proxy v0.2.4/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= @@ -908,10 +983,11 @@ github.com/googleapis/gax-go/v2 v2.7.1/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38 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/gax-go/v2 v2.12.0/go.mod h1:y+aIqrI5eb1YGMVJfuV3185Ts/D7qKpsEkdD5+I6QGU= 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/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= -github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= +github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= 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= @@ -1026,7 +1102,7 @@ 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= @@ -1147,8 +1223,8 @@ 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 h1:cfawfvKITfUsFCeJIHJrbSxpeu/E81khclypR0GVT50= -golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= +golang.org/x/net v0.16.0 h1:7eBu7KsSvFDtSXUIDbh3aqlK4DPsZ1rByC8PFfBThos= +golang.org/x/net v0.16.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= @@ -1179,7 +1255,7 @@ 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/oauth2 v0.13.0/go.mod h1:/JMhi4ZRXAf4HG9LiNmxvk+45+96RUlVThiH8FzNBn0= 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= @@ -1198,6 +1274,7 @@ golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJ 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/sync v0.4.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= @@ -1278,8 +1355,8 @@ 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 h1:SqMFp9UcQJZa+pmYuAKjd9xq1f0j5rLcDIk0mj4qAsA= -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= @@ -1291,7 +1368,7 @@ 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= @@ -1309,8 +1386,8 @@ 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 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4= -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= @@ -1459,6 +1536,7 @@ google.golang.org/api v0.122.0/go.mod h1:gcitW0lvnyWjSp9nKxAbdHKIZ6vF4aajGueeslZ 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/api v0.128.0/go.mod h1:Y611qgqaE92On/7g65MQgxYul3c0rEB894kniWLY750= 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= @@ -1466,6 +1544,7 @@ google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww 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/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= 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= @@ -1600,19 +1679,29 @@ google.golang.org/genproto v0.0.0-20230331144136-dcfb400f0633/go.mod h1:UUQDJDOl 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-20230711160842-782d3b101e98 h1:Z0hjGZePRE0ZBWotvtrwxFNrNE9CUAGtplaDK5NNI/g= -google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98/go.mod h1:S7mY02OqCJTD0E1OiQy1F72PWFB4bZJ87cAtLPYgDR0= +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-20230821184602-ccc8af3d0e93/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4= +google.golang.org/genproto v0.0.0-20230913181813-007df8e322eb/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4= +google.golang.org/genproto v0.0.0-20230920204549-e6e6cdab5c13/go.mod h1:CCviP9RmpZ1mxVr8MUjCnSiY09IbAXZxhLE6EhHIdPU= +google.golang.org/genproto v0.0.0-20231002182017-d307bd883b97 h1:SeZZZx0cP0fqUyA+oRzP9k7cSwJlvDFiROO72uwD6i0= +google.golang.org/genproto v0.0.0-20231002182017-d307bd883b97/go.mod h1:t1VqOqqvce95G3hIDCT5FeO3YUc6Q4Oe24L/+rNMxRk= 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/go.mod h1:rsr7RhLuwsDKL7RmgDDCUc6yaGr1iqceVb5Wv6f6YvQ= +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-20230913181813-007df8e322eb/go.mod h1:KjSP20unUpOx5kyQUFa7k4OJg0qeJ7DEZflGDu2p6Bk= +google.golang.org/genproto/googleapis/api v0.0.0-20230920204549-e6e6cdab5c13/go.mod h1:RdyHbowztCGQySiCvQPgWQWgWhGnouTdCflKoDBt32U= +google.golang.org/genproto/googleapis/api v0.0.0-20231002182017-d307bd883b97/go.mod h1:iargEX0SFPm3xcfMI0d1domjg0ZF4Aa0p2awqyxhvF0= 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= @@ -1620,8 +1709,12 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20230526203410-71b5a4ffd15e/go. 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/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-20230920183334-c177e329c48b/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230920204549-e6e6cdab5c13/go.mod h1:KSqppvjFjtoCI+KGd4PELB0qLNxdJHRGqRI09mB6pQA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20231002182017-d307bd883b97 h1:6GQBEOdGkX6MMTLT9V+TjtIRZCw9VPD5Z+yHY9wMgS0= +google.golang.org/genproto/googleapis/rpc v0.0.0-20231002182017-d307bd883b97/go.mod h1:v7nGkzlmW8P3n/bKmWBn2WpBjpOEx8Q6gMueudAmKfY= 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= @@ -1664,9 +1757,11 @@ google.golang.org/grpc v1.52.3/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5v 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.1/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= 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 v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo= +google.golang.org/grpc v1.60.1 h1:26+wFr+cNqSGFcOXcabYC0lUVJVRa2Sb2ortSK7VrEU= +google.golang.org/grpc v1.60.1/go.mod h1:OlCHIeLYqSSsLi6i49B5QGdzaMZK9+M7LXN2FKz4eGM= 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= @@ -1685,8 +1780,9 @@ google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqw 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= +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= diff --git a/artifacts/goapi/goapi.go b/artifacts/goapi/goapi.go index ac3be5e0..9ff94aba 100644 --- a/artifacts/goapi/goapi.go +++ b/artifacts/goapi/goapi.go @@ -19,11 +19,64 @@ import ( openapi "github.com/open-traffic-generator/goapi/pkg/openapi" "google.golang.org/grpc" "google.golang.org/grpc/credentials/insecure" + "google.golang.org/grpc/status" "google.golang.org/protobuf/encoding/protojson" "google.golang.org/protobuf/proto" "google.golang.org/protobuf/types/known/emptypb" ) +// function related to error handling +func FromError(err error) (Error, bool) { + if rErr, ok := err.(Error); ok { + return rErr, true + } + + rErr := NewError() + if err := rErr.Unmarshal().FromJson(err.Error()); err == nil { + return rErr, true + } + + return fromGrpcError(err) +} + +func setResponseErr(obj Error, code int32, message string) { + errors := []string{} + errors = append(errors, message) + obj.msg().Code = &code + obj.msg().Errors = errors +} + +// parses and return errors for grpc response +func fromGrpcError(err error) (Error, bool) { + st, ok := status.FromError(err) + if ok { + rErr := NewError() + if err := rErr.Unmarshal().FromJson(st.Message()); err == nil { + var code = int32(st.Code()) + rErr.msg().Code = &code + return rErr, true + } + + setResponseErr(rErr, int32(st.Code()), st.Message()) + return rErr, true + } + + return nil, false +} + +// parses and return errors for http responses +func fromHttpError(statusCode int, body []byte) Error { + rErr := NewError() + bStr := string(body) + if err := rErr.Unmarshal().FromJson(bStr); err == nil { + return rErr + } + + setResponseErr(rErr, int32(statusCode), bStr) + + return rErr +} + type versionMeta struct { checkVersion bool localVersion Version @@ -31,7 +84,7 @@ type versionMeta struct { checkError error } type goapiApi struct { - api + apiSt grpcClient openapi.OpenapiClient httpClient httpClient versionMeta *versionMeta @@ -87,7 +140,7 @@ func (api *goapiApi) Close() error { } // NewApi returns a new instance of the top level interface hierarchy -func NewApi() GoapiApi { +func NewApi() Api { api := goapiApi{} api.versionMeta = &versionMeta{checkVersion: false} return &api @@ -150,61 +203,8 @@ func (api *goapiApi) httpSendRecv(urlPath string, jsonBody string, method string } // GoapiApi demonstrates the features of the OpenAPIArt package -type GoapiApi interface { - Api - // PrefixConfig is container which retains the configuration - // NewPrefixConfig returns a new instance of PrefixConfig. - NewPrefixConfig() PrefixConfig - // UpdateConfig is under Review: the whole schema is being reviewed - // - // Object to Test required Parameter - // NewUpdateConfig returns a new instance of UpdateConfig. - NewUpdateConfig() UpdateConfig - // MetricsRequest is description is TBD - // NewMetricsRequest returns a new instance of MetricsRequest. - NewMetricsRequest() MetricsRequest - // ApiTestInputBody is description is TBD - // NewApiTestInputBody returns a new instance of ApiTestInputBody. - NewApiTestInputBody() ApiTestInputBody - // SetConfigResponse is description is TBD - // NewSetConfigResponse returns a new instance of SetConfigResponse. - NewSetConfigResponse() SetConfigResponse - // UpdateConfigurationResponse is description is TBD - // NewUpdateConfigurationResponse returns a new instance of UpdateConfigurationResponse. - NewUpdateConfigurationResponse() UpdateConfigurationResponse - // GetConfigResponse is description is TBD - // NewGetConfigResponse returns a new instance of GetConfigResponse. - NewGetConfigResponse() GetConfigResponse - // GetMetricsResponse is description is TBD - // NewGetMetricsResponse returns a new instance of GetMetricsResponse. - NewGetMetricsResponse() GetMetricsResponse - // GetWarningsResponse is description is TBD - // NewGetWarningsResponse returns a new instance of GetWarningsResponse. - NewGetWarningsResponse() GetWarningsResponse - // ClearWarningsResponse is description is TBD - // NewClearWarningsResponse returns a new instance of ClearWarningsResponse. - NewClearWarningsResponse() ClearWarningsResponse - // GetRootResponseResponse is description is TBD - // NewGetRootResponseResponse returns a new instance of GetRootResponseResponse. - NewGetRootResponseResponse() GetRootResponseResponse - // DummyResponseTestResponse is description is TBD - // NewDummyResponseTestResponse returns a new instance of DummyResponseTestResponse. - NewDummyResponseTestResponse() DummyResponseTestResponse - // PostRootResponseResponse is description is TBD - // NewPostRootResponseResponse returns a new instance of PostRootResponseResponse. - NewPostRootResponseResponse() PostRootResponseResponse - // GetAllItemsResponse is description is TBD - // NewGetAllItemsResponse returns a new instance of GetAllItemsResponse. - NewGetAllItemsResponse() GetAllItemsResponse - // GetSingleItemResponse is description is TBD - // NewGetSingleItemResponse returns a new instance of GetSingleItemResponse. - NewGetSingleItemResponse() GetSingleItemResponse - // GetSingleItemLevel2Response is description is TBD - // NewGetSingleItemLevel2Response returns a new instance of GetSingleItemLevel2Response. - NewGetSingleItemLevel2Response() GetSingleItemLevel2Response - // GetVersionResponse is description is TBD - // NewGetVersionResponse returns a new instance of GetVersionResponse. - NewGetVersionResponse() GetVersionResponse +type Api interface { + api // SetConfig sets configuration resources. SetConfig(prefixConfig PrefixConfig) ([]byte, error) // UpdateConfiguration deprecated: please use post instead @@ -245,74 +245,6 @@ type GoapiApi interface { CheckVersionCompatibility() error } -func (api *goapiApi) NewPrefixConfig() PrefixConfig { - return NewPrefixConfig() -} - -func (api *goapiApi) NewUpdateConfig() UpdateConfig { - return NewUpdateConfig() -} - -func (api *goapiApi) NewMetricsRequest() MetricsRequest { - return NewMetricsRequest() -} - -func (api *goapiApi) NewApiTestInputBody() ApiTestInputBody { - return NewApiTestInputBody() -} - -func (api *goapiApi) NewSetConfigResponse() SetConfigResponse { - return NewSetConfigResponse() -} - -func (api *goapiApi) NewUpdateConfigurationResponse() UpdateConfigurationResponse { - return NewUpdateConfigurationResponse() -} - -func (api *goapiApi) NewGetConfigResponse() GetConfigResponse { - return NewGetConfigResponse() -} - -func (api *goapiApi) NewGetMetricsResponse() GetMetricsResponse { - return NewGetMetricsResponse() -} - -func (api *goapiApi) NewGetWarningsResponse() GetWarningsResponse { - return NewGetWarningsResponse() -} - -func (api *goapiApi) NewClearWarningsResponse() ClearWarningsResponse { - return NewClearWarningsResponse() -} - -func (api *goapiApi) NewGetRootResponseResponse() GetRootResponseResponse { - return NewGetRootResponseResponse() -} - -func (api *goapiApi) NewDummyResponseTestResponse() DummyResponseTestResponse { - return NewDummyResponseTestResponse() -} - -func (api *goapiApi) NewPostRootResponseResponse() PostRootResponseResponse { - return NewPostRootResponseResponse() -} - -func (api *goapiApi) NewGetAllItemsResponse() GetAllItemsResponse { - return NewGetAllItemsResponse() -} - -func (api *goapiApi) NewGetSingleItemResponse() GetSingleItemResponse { - return NewGetSingleItemResponse() -} - -func (api *goapiApi) NewGetSingleItemLevel2Response() GetSingleItemLevel2Response { - return NewGetSingleItemLevel2Response() -} - -func (api *goapiApi) NewGetVersionResponse() GetVersionResponse { - return NewGetVersionResponse() -} - func (api *goapiApi) GetLocalVersion() Version { if api.versionMeta.localVersion == nil { api.versionMeta.localVersion = NewVersion().SetApiSpecVersion("0.0.1").SetSdkVersion("0.0.1") @@ -393,7 +325,7 @@ func (api *goapiApi) CheckVersionCompatibility() error { func (api *goapiApi) SetConfig(prefixConfig PrefixConfig) ([]byte, error) { - if err := prefixConfig.Validate(); err != nil { + if err := prefixConfig.validate(); err != nil { return nil, err } @@ -406,12 +338,12 @@ func (api *goapiApi) SetConfig(prefixConfig PrefixConfig) ([]byte, error) { if err := api.grpcConnect(); err != nil { return nil, err } - request := openapi.SetConfigRequest{PrefixConfig: prefixConfig.Msg()} + request := openapi.SetConfigRequest{PrefixConfig: prefixConfig.msg()} ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) defer cancelFunc() resp, err := api.grpcClient.SetConfig(ctx, &request) if err != nil { - if er, ok := api.fromGrpcError(err); ok { + if er, ok := fromGrpcError(err); ok { return nil, er } return nil, err @@ -425,7 +357,7 @@ func (api *goapiApi) SetConfig(prefixConfig PrefixConfig) ([]byte, error) { func (api *goapiApi) UpdateConfiguration(updateConfig UpdateConfig) (PrefixConfig, error) { api.addWarnings("UpdateConfiguration api is deprecated, please use post instead") - if err := updateConfig.Validate(); err != nil { + if err := updateConfig.validate(); err != nil { return nil, err } @@ -438,19 +370,19 @@ func (api *goapiApi) UpdateConfiguration(updateConfig UpdateConfig) (PrefixConfi if err := api.grpcConnect(); err != nil { return nil, err } - request := openapi.UpdateConfigurationRequest{UpdateConfig: updateConfig.Msg()} + request := openapi.UpdateConfigurationRequest{UpdateConfig: updateConfig.msg()} ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) defer cancelFunc() resp, err := api.grpcClient.UpdateConfiguration(ctx, &request) if err != nil { - if er, ok := api.fromGrpcError(err); ok { + if er, ok := fromGrpcError(err); ok { return nil, er } return nil, err } ret := NewPrefixConfig() if resp.GetPrefixConfig() != nil { - return ret.SetMsg(resp.GetPrefixConfig()), nil + return ret.setMsg(resp.GetPrefixConfig()), nil } return ret, nil @@ -472,14 +404,14 @@ func (api *goapiApi) GetConfig() (PrefixConfig, error) { defer cancelFunc() resp, err := api.grpcClient.GetConfig(ctx, &request) if err != nil { - if er, ok := api.fromGrpcError(err); ok { + if er, ok := fromGrpcError(err); ok { return nil, er } return nil, err } ret := NewPrefixConfig() if resp.GetPrefixConfig() != nil { - return ret.SetMsg(resp.GetPrefixConfig()), nil + return ret.setMsg(resp.GetPrefixConfig()), nil } return ret, nil @@ -487,7 +419,7 @@ func (api *goapiApi) GetConfig() (PrefixConfig, error) { func (api *goapiApi) GetMetrics(metricsRequest MetricsRequest) (Metrics, error) { - if err := metricsRequest.Validate(); err != nil { + if err := metricsRequest.validate(); err != nil { return nil, err } @@ -500,19 +432,19 @@ func (api *goapiApi) GetMetrics(metricsRequest MetricsRequest) (Metrics, error) if err := api.grpcConnect(); err != nil { return nil, err } - request := openapi.GetMetricsRequest{MetricsRequest: metricsRequest.Msg()} + request := openapi.GetMetricsRequest{MetricsRequest: metricsRequest.msg()} ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) defer cancelFunc() resp, err := api.grpcClient.GetMetrics(ctx, &request) if err != nil { - if er, ok := api.fromGrpcError(err); ok { + if er, ok := fromGrpcError(err); ok { return nil, er } return nil, err } ret := NewMetrics() if resp.GetMetrics() != nil { - return ret.SetMsg(resp.GetMetrics()), nil + return ret.setMsg(resp.GetMetrics()), nil } return ret, nil @@ -534,14 +466,14 @@ func (api *goapiApi) GetWarnings() (WarningDetails, error) { defer cancelFunc() resp, err := api.grpcClient.GetWarnings(ctx, &request) if err != nil { - if er, ok := api.fromGrpcError(err); ok { + if er, ok := fromGrpcError(err); ok { return nil, er } return nil, err } ret := NewWarningDetails() if resp.GetWarningDetails() != nil { - return ret.SetMsg(resp.GetWarningDetails()), nil + return ret.setMsg(resp.GetWarningDetails()), nil } return ret, nil @@ -563,7 +495,7 @@ func (api *goapiApi) ClearWarnings() (*string, error) { defer cancelFunc() resp, err := api.grpcClient.ClearWarnings(ctx, &request) if err != nil { - if er, ok := api.fromGrpcError(err); ok { + if er, ok := fromGrpcError(err); ok { return nil, er } return nil, err @@ -591,14 +523,14 @@ func (api *goapiApi) GetRootResponse() (CommonResponseSuccess, error) { defer cancelFunc() resp, err := api.grpcClient.GetRootResponse(ctx, &request) if err != nil { - if er, ok := api.fromGrpcError(err); ok { + if er, ok := fromGrpcError(err); ok { return nil, er } return nil, err } ret := NewCommonResponseSuccess() if resp.GetCommonResponseSuccess() != nil { - return ret.SetMsg(resp.GetCommonResponseSuccess()), nil + return ret.setMsg(resp.GetCommonResponseSuccess()), nil } return ret, nil @@ -620,7 +552,7 @@ func (api *goapiApi) DummyResponseTest() (*string, error) { defer cancelFunc() resp, err := api.grpcClient.DummyResponseTest(ctx, &request) if err != nil { - if er, ok := api.fromGrpcError(err); ok { + if er, ok := fromGrpcError(err); ok { return nil, er } return nil, err @@ -634,7 +566,7 @@ func (api *goapiApi) DummyResponseTest() (*string, error) { func (api *goapiApi) PostRootResponse(apiTestInputBody ApiTestInputBody) (CommonResponseSuccess, error) { - if err := apiTestInputBody.Validate(); err != nil { + if err := apiTestInputBody.validate(); err != nil { return nil, err } @@ -647,19 +579,19 @@ func (api *goapiApi) PostRootResponse(apiTestInputBody ApiTestInputBody) (Common if err := api.grpcConnect(); err != nil { return nil, err } - request := openapi.PostRootResponseRequest{ApiTestInputBody: apiTestInputBody.Msg()} + request := openapi.PostRootResponseRequest{ApiTestInputBody: apiTestInputBody.msg()} ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) defer cancelFunc() resp, err := api.grpcClient.PostRootResponse(ctx, &request) if err != nil { - if er, ok := api.fromGrpcError(err); ok { + if er, ok := fromGrpcError(err); ok { return nil, er } return nil, err } ret := NewCommonResponseSuccess() if resp.GetCommonResponseSuccess() != nil { - return ret.SetMsg(resp.GetCommonResponseSuccess()), nil + return ret.setMsg(resp.GetCommonResponseSuccess()), nil } return ret, nil @@ -681,14 +613,14 @@ func (api *goapiApi) GetAllItems() (ServiceAbcItemList, error) { defer cancelFunc() resp, err := api.grpcClient.GetAllItems(ctx, &request) if err != nil { - if er, ok := api.fromGrpcError(err); ok { + if er, ok := fromGrpcError(err); ok { return nil, er } return nil, err } ret := NewServiceAbcItemList() if resp.GetServiceAbcItemList() != nil { - return ret.SetMsg(resp.GetServiceAbcItemList()), nil + return ret.setMsg(resp.GetServiceAbcItemList()), nil } return ret, nil @@ -710,14 +642,14 @@ func (api *goapiApi) GetSingleItem() (ServiceAbcItem, error) { defer cancelFunc() resp, err := api.grpcClient.GetSingleItem(ctx, &request) if err != nil { - if er, ok := api.fromGrpcError(err); ok { + if er, ok := fromGrpcError(err); ok { return nil, er } return nil, err } ret := NewServiceAbcItem() if resp.GetServiceAbcItem() != nil { - return ret.SetMsg(resp.GetServiceAbcItem()), nil + return ret.setMsg(resp.GetServiceAbcItem()), nil } return ret, nil @@ -739,14 +671,14 @@ func (api *goapiApi) GetSingleItemLevel2() (ServiceAbcItem, error) { defer cancelFunc() resp, err := api.grpcClient.GetSingleItemLevel2(ctx, &request) if err != nil { - if er, ok := api.fromGrpcError(err); ok { + if er, ok := fromGrpcError(err); ok { return nil, er } return nil, err } ret := NewServiceAbcItem() if resp.GetServiceAbcItem() != nil { - return ret.SetMsg(resp.GetServiceAbcItem()), nil + return ret.setMsg(resp.GetServiceAbcItem()), nil } return ret, nil @@ -765,21 +697,21 @@ func (api *goapiApi) GetVersion() (Version, error) { defer cancelFunc() resp, err := api.grpcClient.GetVersion(ctx, &request) if err != nil { - if er, ok := api.fromGrpcError(err); ok { + if er, ok := fromGrpcError(err); ok { return nil, er } return nil, err } ret := NewVersion() if resp.GetVersion() != nil { - return ret.SetMsg(resp.GetVersion()), nil + return ret.setMsg(resp.GetVersion()), nil } return ret, nil } func (api *goapiApi) httpSetConfig(prefixConfig PrefixConfig) ([]byte, error) { - prefixConfigJson, err := prefixConfig.ToJson() + prefixConfigJson, err := prefixConfig.Marshal().ToJson() if err != nil { return nil, err } @@ -796,12 +728,12 @@ func (api *goapiApi) httpSetConfig(prefixConfig PrefixConfig) ([]byte, error) { if resp.StatusCode == 200 { return bodyBytes, nil } else { - return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + return nil, fromHttpError(resp.StatusCode, bodyBytes) } } func (api *goapiApi) httpUpdateConfiguration(updateConfig UpdateConfig) (PrefixConfig, error) { - updateConfigJson, err := updateConfig.ToJson() + updateConfigJson, err := updateConfig.Marshal().ToJson() if err != nil { return nil, err } @@ -816,13 +748,13 @@ func (api *goapiApi) httpUpdateConfiguration(updateConfig UpdateConfig) (PrefixC return nil, err } if resp.StatusCode == 200 { - obj := api.NewUpdateConfigurationResponse().PrefixConfig() - if err := obj.FromJson(string(bodyBytes)); err != nil { + obj := NewUpdateConfigurationResponse().PrefixConfig() + if err := obj.Unmarshal().FromJson(string(bodyBytes)); err != nil { return nil, err } return obj, nil } else { - return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + return nil, fromHttpError(resp.StatusCode, bodyBytes) } } @@ -837,18 +769,18 @@ func (api *goapiApi) httpGetConfig() (PrefixConfig, error) { return nil, err } if resp.StatusCode == 200 { - obj := api.NewGetConfigResponse().PrefixConfig() - if err := obj.FromJson(string(bodyBytes)); err != nil { + obj := NewGetConfigResponse().PrefixConfig() + if err := obj.Unmarshal().FromJson(string(bodyBytes)); err != nil { return nil, err } return obj, nil } else { - return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + return nil, fromHttpError(resp.StatusCode, bodyBytes) } } func (api *goapiApi) httpGetMetrics(metricsRequest MetricsRequest) (Metrics, error) { - metricsRequestJson, err := metricsRequest.ToJson() + metricsRequestJson, err := metricsRequest.Marshal().ToJson() if err != nil { return nil, err } @@ -863,13 +795,13 @@ func (api *goapiApi) httpGetMetrics(metricsRequest MetricsRequest) (Metrics, err return nil, err } if resp.StatusCode == 200 { - obj := api.NewGetMetricsResponse().Metrics() - if err := obj.FromJson(string(bodyBytes)); err != nil { + obj := NewGetMetricsResponse().Metrics() + if err := obj.Unmarshal().FromJson(string(bodyBytes)); err != nil { return nil, err } return obj, nil } else { - return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + return nil, fromHttpError(resp.StatusCode, bodyBytes) } } @@ -884,13 +816,13 @@ func (api *goapiApi) httpGetWarnings() (WarningDetails, error) { return nil, err } if resp.StatusCode == 200 { - obj := api.NewGetWarningsResponse().WarningDetails() - if err := obj.FromJson(string(bodyBytes)); err != nil { + obj := NewGetWarningsResponse().WarningDetails() + if err := obj.Unmarshal().FromJson(string(bodyBytes)); err != nil { return nil, err } return obj, nil } else { - return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + return nil, fromHttpError(resp.StatusCode, bodyBytes) } } @@ -908,7 +840,7 @@ func (api *goapiApi) httpClearWarnings() (*string, error) { bodyString := string(bodyBytes) return &bodyString, nil } else { - return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + return nil, fromHttpError(resp.StatusCode, bodyBytes) } } @@ -923,13 +855,13 @@ func (api *goapiApi) httpGetRootResponse() (CommonResponseSuccess, error) { return nil, err } if resp.StatusCode == 200 { - obj := api.NewGetRootResponseResponse().CommonResponseSuccess() - if err := obj.FromJson(string(bodyBytes)); err != nil { + obj := NewGetRootResponseResponse().CommonResponseSuccess() + if err := obj.Unmarshal().FromJson(string(bodyBytes)); err != nil { return nil, err } return obj, nil } else { - return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + return nil, fromHttpError(resp.StatusCode, bodyBytes) } } @@ -947,12 +879,12 @@ func (api *goapiApi) httpDummyResponseTest() (*string, error) { bodyString := string(bodyBytes) return &bodyString, nil } else { - return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + return nil, fromHttpError(resp.StatusCode, bodyBytes) } } func (api *goapiApi) httpPostRootResponse(apiTestInputBody ApiTestInputBody) (CommonResponseSuccess, error) { - apiTestInputBodyJson, err := apiTestInputBody.ToJson() + apiTestInputBodyJson, err := apiTestInputBody.Marshal().ToJson() if err != nil { return nil, err } @@ -967,13 +899,13 @@ func (api *goapiApi) httpPostRootResponse(apiTestInputBody ApiTestInputBody) (Co return nil, err } if resp.StatusCode == 200 { - obj := api.NewPostRootResponseResponse().CommonResponseSuccess() - if err := obj.FromJson(string(bodyBytes)); err != nil { + obj := NewPostRootResponseResponse().CommonResponseSuccess() + if err := obj.Unmarshal().FromJson(string(bodyBytes)); err != nil { return nil, err } return obj, nil } else { - return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + return nil, fromHttpError(resp.StatusCode, bodyBytes) } } @@ -988,13 +920,13 @@ func (api *goapiApi) httpGetAllItems() (ServiceAbcItemList, error) { return nil, err } if resp.StatusCode == 200 { - obj := api.NewGetAllItemsResponse().ServiceAbcItemList() - if err := obj.FromJson(string(bodyBytes)); err != nil { + obj := NewGetAllItemsResponse().ServiceAbcItemList() + if err := obj.Unmarshal().FromJson(string(bodyBytes)); err != nil { return nil, err } return obj, nil } else { - return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + return nil, fromHttpError(resp.StatusCode, bodyBytes) } } @@ -1009,13 +941,13 @@ func (api *goapiApi) httpGetSingleItem() (ServiceAbcItem, error) { return nil, err } if resp.StatusCode == 200 { - obj := api.NewGetSingleItemResponse().ServiceAbcItem() - if err := obj.FromJson(string(bodyBytes)); err != nil { + obj := NewGetSingleItemResponse().ServiceAbcItem() + if err := obj.Unmarshal().FromJson(string(bodyBytes)); err != nil { return nil, err } return obj, nil } else { - return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + return nil, fromHttpError(resp.StatusCode, bodyBytes) } } @@ -1030,13 +962,13 @@ func (api *goapiApi) httpGetSingleItemLevel2() (ServiceAbcItem, error) { return nil, err } if resp.StatusCode == 200 { - obj := api.NewGetSingleItemLevel2Response().ServiceAbcItem() - if err := obj.FromJson(string(bodyBytes)); err != nil { + obj := NewGetSingleItemLevel2Response().ServiceAbcItem() + if err := obj.Unmarshal().FromJson(string(bodyBytes)); err != nil { return nil, err } return obj, nil } else { - return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + return nil, fromHttpError(resp.StatusCode, bodyBytes) } } @@ -1051,13 +983,13 @@ func (api *goapiApi) httpGetVersion() (Version, error) { return nil, err } if resp.StatusCode == 200 { - obj := api.NewGetVersionResponse().Version() - if err := obj.FromJson(string(bodyBytes)); err != nil { + obj := NewGetVersionResponse().Version() + if err := obj.Unmarshal().FromJson(string(bodyBytes)); err != nil { return nil, err } return obj, nil } else { - return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + return nil, fromHttpError(resp.StatusCode, bodyBytes) } } @@ -1065,6 +997,8 @@ func (api *goapiApi) httpGetVersion() (Version, error) { type prefixConfig struct { validation obj *openapi.PrefixConfig + marshaller marshalPrefixConfig + unMarshaller unMarshalPrefixConfig requiredObjectHolder EObject optionalObjectHolder EObject eHolder EObject @@ -1100,26 +1034,70 @@ func NewPrefixConfig() PrefixConfig { return &obj } -func (obj *prefixConfig) Msg() *openapi.PrefixConfig { +func (obj *prefixConfig) msg() *openapi.PrefixConfig { return obj.obj } -func (obj *prefixConfig) SetMsg(msg *openapi.PrefixConfig) PrefixConfig { +func (obj *prefixConfig) setMsg(msg *openapi.PrefixConfig) PrefixConfig { obj.setNil() proto.Merge(obj.obj, msg) return obj } -func (obj *prefixConfig) ToProto() (*openapi.PrefixConfig, error) { - err := obj.validateToAndFrom() +type marshalprefixConfig struct { + obj *prefixConfig +} + +type marshalPrefixConfig interface { + // ToProto marshals PrefixConfig to protobuf object *openapi.PrefixConfig + ToProto() (*openapi.PrefixConfig, error) + // ToPbText marshals PrefixConfig to protobuf text + ToPbText() (string, error) + // ToYaml marshals PrefixConfig to YAML text + ToYaml() (string, error) + // ToJson marshals PrefixConfig to JSON text + ToJson() (string, error) +} + +type unMarshalprefixConfig struct { + obj *prefixConfig +} + +type unMarshalPrefixConfig interface { + // FromProto unmarshals PrefixConfig from protobuf object *openapi.PrefixConfig + FromProto(msg *openapi.PrefixConfig) (PrefixConfig, error) + // FromPbText unmarshals PrefixConfig from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PrefixConfig from YAML text + FromYaml(value string) error + // FromJson unmarshals PrefixConfig from JSON text + FromJson(value string) error +} + +func (obj *prefixConfig) Marshal() marshalPrefixConfig { + if obj.marshaller == nil { + obj.marshaller = &marshalprefixConfig{obj: obj} + } + return obj.marshaller +} + +func (obj *prefixConfig) Unmarshal() unMarshalPrefixConfig { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalprefixConfig{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalprefixConfig) ToProto() (*openapi.PrefixConfig, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *prefixConfig) FromProto(msg *openapi.PrefixConfig) (PrefixConfig, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalprefixConfig) FromProto(msg *openapi.PrefixConfig) (PrefixConfig, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -1127,33 +1105,33 @@ func (obj *prefixConfig) FromProto(msg *openapi.PrefixConfig) (PrefixConfig, err return newObj, nil } -func (obj *prefixConfig) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalprefixConfig) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *prefixConfig) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalprefixConfig) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *prefixConfig) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalprefixConfig) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -1162,7 +1140,7 @@ func (obj *prefixConfig) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -1173,7 +1151,7 @@ func (obj *prefixConfig) ToYaml() (string, error) { return string(data), nil } -func (obj *prefixConfig) FromYaml(value string) error { +func (m *unMarshalprefixConfig) FromYaml(value string) error { if value == "" { value = "{}" } @@ -1185,21 +1163,21 @@ func (obj *prefixConfig) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *prefixConfig) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalprefixConfig) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -1209,14 +1187,14 @@ func (obj *prefixConfig) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *prefixConfig) FromJson(value string) error { +func (m *unMarshalprefixConfig) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -1224,13 +1202,13 @@ func (obj *prefixConfig) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - err := obj.validateToAndFrom() + m.obj.setNil() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -1243,14 +1221,14 @@ func (obj *prefixConfig) validateToAndFrom() error { return obj.validationResult() } -func (obj *prefixConfig) Validate() error { +func (obj *prefixConfig) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *prefixConfig) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -1258,16 +1236,16 @@ func (obj *prefixConfig) String() string { } func (obj *prefixConfig) Clone() (PrefixConfig, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewPrefixConfig() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -1310,30 +1288,18 @@ func (obj *prefixConfig) setNil() { // PrefixConfig is container which retains the configuration type PrefixConfig interface { Validation - // Msg marshals PrefixConfig to protobuf object *openapi.PrefixConfig + // msg marshals PrefixConfig to protobuf object *openapi.PrefixConfig // and doesn't set defaults - Msg() *openapi.PrefixConfig - // SetMsg unmarshals PrefixConfig from protobuf object *openapi.PrefixConfig + msg() *openapi.PrefixConfig + // setMsg unmarshals PrefixConfig from protobuf object *openapi.PrefixConfig // and doesn't set defaults - SetMsg(*openapi.PrefixConfig) PrefixConfig - // ToProto marshals PrefixConfig to protobuf object *openapi.PrefixConfig - ToProto() (*openapi.PrefixConfig, error) - // ToPbText marshals PrefixConfig to protobuf text - ToPbText() (string, error) - // ToYaml marshals PrefixConfig to YAML text - ToYaml() (string, error) - // ToJson marshals PrefixConfig to JSON text - ToJson() (string, error) - // FromProto unmarshals PrefixConfig from protobuf object *openapi.PrefixConfig - FromProto(msg *openapi.PrefixConfig) (PrefixConfig, error) - // FromPbText unmarshals PrefixConfig from protobuf text - FromPbText(value string) error - // FromYaml unmarshals PrefixConfig from YAML text - FromYaml(value string) error - // FromJson unmarshals PrefixConfig from JSON text - FromJson(value string) error - // Validate validates PrefixConfig - Validate() error + setMsg(*openapi.PrefixConfig) PrefixConfig + // provides marshal interface + Marshal() marshalPrefixConfig + // provides unmarshal interface + Unmarshal() unMarshalPrefixConfig + // validate validates PrefixConfig + validate() error // A stringer function String() string // Clones the object @@ -1642,7 +1608,7 @@ type PrefixConfig interface { // RequiredObject returns a EObject func (obj *prefixConfig) RequiredObject() EObject { if obj.obj.RequiredObject == nil { - obj.obj.RequiredObject = NewEObject().Msg() + obj.obj.RequiredObject = NewEObject().msg() } if obj.requiredObjectHolder == nil { obj.requiredObjectHolder = &eObject{obj: obj.obj.RequiredObject} @@ -1655,7 +1621,7 @@ func (obj *prefixConfig) RequiredObject() EObject { func (obj *prefixConfig) SetRequiredObject(value EObject) PrefixConfig { obj.requiredObjectHolder = nil - obj.obj.RequiredObject = value.Msg() + obj.obj.RequiredObject = value.msg() return obj } @@ -1664,7 +1630,7 @@ func (obj *prefixConfig) SetRequiredObject(value EObject) PrefixConfig { // OptionalObject returns a EObject func (obj *prefixConfig) OptionalObject() EObject { if obj.obj.OptionalObject == nil { - obj.obj.OptionalObject = NewEObject().Msg() + obj.obj.OptionalObject = NewEObject().msg() } if obj.optionalObjectHolder == nil { obj.optionalObjectHolder = &eObject{obj: obj.obj.OptionalObject} @@ -1683,7 +1649,7 @@ func (obj *prefixConfig) HasOptionalObject() bool { func (obj *prefixConfig) SetOptionalObject(value EObject) PrefixConfig { obj.optionalObjectHolder = nil - obj.obj.OptionalObject = value.Msg() + obj.obj.OptionalObject = value.msg() return obj } @@ -1896,7 +1862,7 @@ func (obj *prefixConfig) SetDValues(value []PrefixConfigDValuesEnum) PrefixConfi // E returns a EObject func (obj *prefixConfig) E() EObject { if obj.obj.E == nil { - obj.obj.E = NewEObject().Msg() + obj.obj.E = NewEObject().msg() } if obj.eHolder == nil { obj.eHolder = &eObject{obj: obj.obj.E} @@ -1919,7 +1885,7 @@ func (obj *prefixConfig) HasE() bool { func (obj *prefixConfig) SetE(value EObject) PrefixConfig { obj.eHolder = nil - obj.obj.E = value.Msg() + obj.obj.E = value.msg() return obj } @@ -1928,7 +1894,7 @@ func (obj *prefixConfig) SetE(value EObject) PrefixConfig { // F returns a FObject func (obj *prefixConfig) F() FObject { if obj.obj.F == nil { - obj.obj.F = NewFObject().Msg() + obj.obj.F = NewFObject().msg() } if obj.fHolder == nil { obj.fHolder = &fObject{obj: obj.obj.F} @@ -1947,7 +1913,7 @@ func (obj *prefixConfig) HasF() bool { func (obj *prefixConfig) SetF(value FObject) PrefixConfig { obj.fHolder = nil - obj.obj.F = value.Msg() + obj.obj.F = value.msg() return obj } @@ -2009,7 +1975,7 @@ func (obj *prefixConfigGObjectIter) Add() GObject { func (obj *prefixConfigGObjectIter) Append(items ...GObject) PrefixConfigGObjectIter { for _, item := range items { - newObj := item.Msg() + newObj := item.msg() *obj.fieldPtr = append(*obj.fieldPtr, newObj) obj.gObjectSlice = append(obj.gObjectSlice, item) } @@ -2017,7 +1983,7 @@ func (obj *prefixConfigGObjectIter) Append(items ...GObject) PrefixConfigGObject } func (obj *prefixConfigGObjectIter) Set(index int, newObj GObject) PrefixConfigGObjectIter { - (*obj.fieldPtr)[index] = newObj.Msg() + (*obj.fieldPtr)[index] = newObj.msg() obj.gObjectSlice[index] = newObj return obj } @@ -2133,7 +2099,7 @@ func (obj *prefixConfigJObjectIter) Add() JObject { func (obj *prefixConfigJObjectIter) Append(items ...JObject) PrefixConfigJObjectIter { for _, item := range items { - newObj := item.Msg() + newObj := item.msg() *obj.fieldPtr = append(*obj.fieldPtr, newObj) obj.jObjectSlice = append(obj.jObjectSlice, item) } @@ -2141,7 +2107,7 @@ func (obj *prefixConfigJObjectIter) Append(items ...JObject) PrefixConfigJObject } func (obj *prefixConfigJObjectIter) Set(index int, newObj JObject) PrefixConfigJObjectIter { - (*obj.fieldPtr)[index] = newObj.Msg() + (*obj.fieldPtr)[index] = newObj.msg() obj.jObjectSlice[index] = newObj return obj } @@ -2167,7 +2133,7 @@ func (obj *prefixConfigJObjectIter) appendHolderSlice(item JObject) PrefixConfig // K returns a KObject func (obj *prefixConfig) K() KObject { if obj.obj.K == nil { - obj.obj.K = NewKObject().Msg() + obj.obj.K = NewKObject().msg() } if obj.kHolder == nil { obj.kHolder = &kObject{obj: obj.obj.K} @@ -2186,7 +2152,7 @@ func (obj *prefixConfig) HasK() bool { func (obj *prefixConfig) SetK(value KObject) PrefixConfig { obj.kHolder = nil - obj.obj.K = value.Msg() + obj.obj.K = value.msg() return obj } @@ -2195,7 +2161,7 @@ func (obj *prefixConfig) SetK(value KObject) PrefixConfig { // L returns a LObject func (obj *prefixConfig) L() LObject { if obj.obj.L == nil { - obj.obj.L = NewLObject().Msg() + obj.obj.L = NewLObject().msg() } if obj.lHolder == nil { obj.lHolder = &lObject{obj: obj.obj.L} @@ -2214,7 +2180,7 @@ func (obj *prefixConfig) HasL() bool { func (obj *prefixConfig) SetL(value LObject) PrefixConfig { obj.lHolder = nil - obj.obj.L = value.Msg() + obj.obj.L = value.msg() return obj } @@ -2265,7 +2231,7 @@ func (obj *prefixConfig) SetListOfIntegerValues(value []int32) PrefixConfig { // Level returns a LevelOne func (obj *prefixConfig) Level() LevelOne { if obj.obj.Level == nil { - obj.obj.Level = NewLevelOne().Msg() + obj.obj.Level = NewLevelOne().msg() } if obj.levelHolder == nil { obj.levelHolder = &levelOne{obj: obj.obj.Level} @@ -2284,7 +2250,7 @@ func (obj *prefixConfig) HasLevel() bool { func (obj *prefixConfig) SetLevel(value LevelOne) PrefixConfig { obj.levelHolder = nil - obj.obj.Level = value.Msg() + obj.obj.Level = value.msg() return obj } @@ -2293,7 +2259,7 @@ func (obj *prefixConfig) SetLevel(value LevelOne) PrefixConfig { // Mandatory returns a Mandate func (obj *prefixConfig) Mandatory() Mandate { if obj.obj.Mandatory == nil { - obj.obj.Mandatory = NewMandate().Msg() + obj.obj.Mandatory = NewMandate().msg() } if obj.mandatoryHolder == nil { obj.mandatoryHolder = &mandate{obj: obj.obj.Mandatory} @@ -2312,7 +2278,7 @@ func (obj *prefixConfig) HasMandatory() bool { func (obj *prefixConfig) SetMandatory(value Mandate) PrefixConfig { obj.mandatoryHolder = nil - obj.obj.Mandatory = value.Msg() + obj.obj.Mandatory = value.msg() return obj } @@ -2321,7 +2287,7 @@ func (obj *prefixConfig) SetMandatory(value Mandate) PrefixConfig { // Ipv4Pattern returns a Ipv4Pattern func (obj *prefixConfig) Ipv4Pattern() Ipv4Pattern { if obj.obj.Ipv4Pattern == nil { - obj.obj.Ipv4Pattern = NewIpv4Pattern().Msg() + obj.obj.Ipv4Pattern = NewIpv4Pattern().msg() } if obj.ipv4PatternHolder == nil { obj.ipv4PatternHolder = &ipv4Pattern{obj: obj.obj.Ipv4Pattern} @@ -2340,7 +2306,7 @@ func (obj *prefixConfig) HasIpv4Pattern() bool { func (obj *prefixConfig) SetIpv4Pattern(value Ipv4Pattern) PrefixConfig { obj.ipv4PatternHolder = nil - obj.obj.Ipv4Pattern = value.Msg() + obj.obj.Ipv4Pattern = value.msg() return obj } @@ -2349,7 +2315,7 @@ func (obj *prefixConfig) SetIpv4Pattern(value Ipv4Pattern) PrefixConfig { // Ipv6Pattern returns a Ipv6Pattern func (obj *prefixConfig) Ipv6Pattern() Ipv6Pattern { if obj.obj.Ipv6Pattern == nil { - obj.obj.Ipv6Pattern = NewIpv6Pattern().Msg() + obj.obj.Ipv6Pattern = NewIpv6Pattern().msg() } if obj.ipv6PatternHolder == nil { obj.ipv6PatternHolder = &ipv6Pattern{obj: obj.obj.Ipv6Pattern} @@ -2368,7 +2334,7 @@ func (obj *prefixConfig) HasIpv6Pattern() bool { func (obj *prefixConfig) SetIpv6Pattern(value Ipv6Pattern) PrefixConfig { obj.ipv6PatternHolder = nil - obj.obj.Ipv6Pattern = value.Msg() + obj.obj.Ipv6Pattern = value.msg() return obj } @@ -2377,7 +2343,7 @@ func (obj *prefixConfig) SetIpv6Pattern(value Ipv6Pattern) PrefixConfig { // MacPattern returns a MacPattern func (obj *prefixConfig) MacPattern() MacPattern { if obj.obj.MacPattern == nil { - obj.obj.MacPattern = NewMacPattern().Msg() + obj.obj.MacPattern = NewMacPattern().msg() } if obj.macPatternHolder == nil { obj.macPatternHolder = &macPattern{obj: obj.obj.MacPattern} @@ -2396,7 +2362,7 @@ func (obj *prefixConfig) HasMacPattern() bool { func (obj *prefixConfig) SetMacPattern(value MacPattern) PrefixConfig { obj.macPatternHolder = nil - obj.obj.MacPattern = value.Msg() + obj.obj.MacPattern = value.msg() return obj } @@ -2405,7 +2371,7 @@ func (obj *prefixConfig) SetMacPattern(value MacPattern) PrefixConfig { // IntegerPattern returns a IntegerPattern func (obj *prefixConfig) IntegerPattern() IntegerPattern { if obj.obj.IntegerPattern == nil { - obj.obj.IntegerPattern = NewIntegerPattern().Msg() + obj.obj.IntegerPattern = NewIntegerPattern().msg() } if obj.integerPatternHolder == nil { obj.integerPatternHolder = &integerPattern{obj: obj.obj.IntegerPattern} @@ -2424,7 +2390,7 @@ func (obj *prefixConfig) HasIntegerPattern() bool { func (obj *prefixConfig) SetIntegerPattern(value IntegerPattern) PrefixConfig { obj.integerPatternHolder = nil - obj.obj.IntegerPattern = value.Msg() + obj.obj.IntegerPattern = value.msg() return obj } @@ -2433,7 +2399,7 @@ func (obj *prefixConfig) SetIntegerPattern(value IntegerPattern) PrefixConfig { // ChecksumPattern returns a ChecksumPattern func (obj *prefixConfig) ChecksumPattern() ChecksumPattern { if obj.obj.ChecksumPattern == nil { - obj.obj.ChecksumPattern = NewChecksumPattern().Msg() + obj.obj.ChecksumPattern = NewChecksumPattern().msg() } if obj.checksumPatternHolder == nil { obj.checksumPatternHolder = &checksumPattern{obj: obj.obj.ChecksumPattern} @@ -2452,7 +2418,7 @@ func (obj *prefixConfig) HasChecksumPattern() bool { func (obj *prefixConfig) SetChecksumPattern(value ChecksumPattern) PrefixConfig { obj.checksumPatternHolder = nil - obj.obj.ChecksumPattern = value.Msg() + obj.obj.ChecksumPattern = value.msg() return obj } @@ -2461,7 +2427,7 @@ func (obj *prefixConfig) SetChecksumPattern(value ChecksumPattern) PrefixConfig // Case returns a Layer1Ieee802X func (obj *prefixConfig) Case() Layer1Ieee802X { if obj.obj.Case == nil { - obj.obj.Case = NewLayer1Ieee802X().Msg() + obj.obj.Case = NewLayer1Ieee802X().msg() } if obj.caseHolder == nil { obj.caseHolder = &layer1Ieee802X{obj: obj.obj.Case} @@ -2480,7 +2446,7 @@ func (obj *prefixConfig) HasCase() bool { func (obj *prefixConfig) SetCase(value Layer1Ieee802X) PrefixConfig { obj.caseHolder = nil - obj.obj.Case = value.Msg() + obj.obj.Case = value.msg() return obj } @@ -2489,7 +2455,7 @@ func (obj *prefixConfig) SetCase(value Layer1Ieee802X) PrefixConfig { // MObject returns a MObject func (obj *prefixConfig) MObject() MObject { if obj.obj.MObject == nil { - obj.obj.MObject = NewMObject().Msg() + obj.obj.MObject = NewMObject().msg() } if obj.mObjectHolder == nil { obj.mObjectHolder = &mObject{obj: obj.obj.MObject} @@ -2508,7 +2474,7 @@ func (obj *prefixConfig) HasMObject() bool { func (obj *prefixConfig) SetMObject(value MObject) PrefixConfig { obj.mObjectHolder = nil - obj.obj.MObject = value.Msg() + obj.obj.MObject = value.msg() return obj } @@ -2560,7 +2526,7 @@ func (obj *prefixConfig) SetInteger64List(value []int64) PrefixConfig { // HeaderChecksum returns a PatternPrefixConfigHeaderChecksum func (obj *prefixConfig) HeaderChecksum() PatternPrefixConfigHeaderChecksum { if obj.obj.HeaderChecksum == nil { - obj.obj.HeaderChecksum = NewPatternPrefixConfigHeaderChecksum().Msg() + obj.obj.HeaderChecksum = NewPatternPrefixConfigHeaderChecksum().msg() } if obj.headerChecksumHolder == nil { obj.headerChecksumHolder = &patternPrefixConfigHeaderChecksum{obj: obj.obj.HeaderChecksum} @@ -2579,7 +2545,7 @@ func (obj *prefixConfig) HasHeaderChecksum() bool { func (obj *prefixConfig) SetHeaderChecksum(value PatternPrefixConfigHeaderChecksum) PrefixConfig { obj.headerChecksumHolder = nil - obj.obj.HeaderChecksum = value.Msg() + obj.obj.HeaderChecksum = value.msg() return obj } @@ -2641,7 +2607,7 @@ func (obj *prefixConfig) SetHexSlice(value []string) PrefixConfig { // AutoFieldTest returns a PatternPrefixConfigAutoFieldTest func (obj *prefixConfig) AutoFieldTest() PatternPrefixConfigAutoFieldTest { if obj.obj.AutoFieldTest == nil { - obj.obj.AutoFieldTest = NewPatternPrefixConfigAutoFieldTest().Msg() + obj.obj.AutoFieldTest = NewPatternPrefixConfigAutoFieldTest().msg() } if obj.autoFieldTestHolder == nil { obj.autoFieldTestHolder = &patternPrefixConfigAutoFieldTest{obj: obj.obj.AutoFieldTest} @@ -2660,7 +2626,7 @@ func (obj *prefixConfig) HasAutoFieldTest() bool { func (obj *prefixConfig) SetAutoFieldTest(value PatternPrefixConfigAutoFieldTest) PrefixConfig { obj.autoFieldTestHolder = nil - obj.obj.AutoFieldTest = value.Msg() + obj.obj.AutoFieldTest = value.msg() return obj } @@ -2744,7 +2710,7 @@ func (obj *prefixConfigWObjectIter) Add() WObject { func (obj *prefixConfigWObjectIter) Append(items ...WObject) PrefixConfigWObjectIter { for _, item := range items { - newObj := item.Msg() + newObj := item.msg() *obj.fieldPtr = append(*obj.fieldPtr, newObj) obj.wObjectSlice = append(obj.wObjectSlice, item) } @@ -2752,7 +2718,7 @@ func (obj *prefixConfigWObjectIter) Append(items ...WObject) PrefixConfigWObject } func (obj *prefixConfigWObjectIter) Set(index int, newObj WObject) PrefixConfigWObjectIter { - (*obj.fieldPtr)[index] = newObj.Msg() + (*obj.fieldPtr)[index] = newObj.msg() obj.wObjectSlice[index] = newObj return obj } @@ -2831,7 +2797,7 @@ func (obj *prefixConfigZObjectIter) Add() ZObject { func (obj *prefixConfigZObjectIter) Append(items ...ZObject) PrefixConfigZObjectIter { for _, item := range items { - newObj := item.Msg() + newObj := item.msg() *obj.fieldPtr = append(*obj.fieldPtr, newObj) obj.zObjectSlice = append(obj.zObjectSlice, item) } @@ -2839,7 +2805,7 @@ func (obj *prefixConfigZObjectIter) Append(items ...ZObject) PrefixConfigZObject } func (obj *prefixConfigZObjectIter) Set(index int, newObj ZObject) PrefixConfigZObjectIter { - (*obj.fieldPtr)[index] = newObj.Msg() + (*obj.fieldPtr)[index] = newObj.msg() obj.zObjectSlice[index] = newObj return obj } @@ -2865,7 +2831,7 @@ func (obj *prefixConfigZObjectIter) appendHolderSlice(item ZObject) PrefixConfig // ZObject returns a ZObject func (obj *prefixConfig) ZObject() ZObject { if obj.obj.ZObject == nil { - obj.obj.ZObject = NewZObject().Msg() + obj.obj.ZObject = NewZObject().msg() } if obj.zObjectHolder == nil { obj.zObjectHolder = &zObject{obj: obj.obj.ZObject} @@ -2884,7 +2850,7 @@ func (obj *prefixConfig) HasZObject() bool { func (obj *prefixConfig) SetZObject(value ZObject) PrefixConfig { obj.zObjectHolder = nil - obj.obj.ZObject = value.Msg() + obj.obj.ZObject = value.msg() return obj } @@ -2893,7 +2859,7 @@ func (obj *prefixConfig) SetZObject(value ZObject) PrefixConfig { // YObject returns a YObject func (obj *prefixConfig) YObject() YObject { if obj.obj.YObject == nil { - obj.obj.YObject = NewYObject().Msg() + obj.obj.YObject = NewYObject().msg() } if obj.yObjectHolder == nil { obj.yObjectHolder = &yObject{obj: obj.obj.YObject} @@ -2912,7 +2878,7 @@ func (obj *prefixConfig) HasYObject() bool { func (obj *prefixConfig) SetYObject(value YObject) PrefixConfig { obj.yObjectHolder = nil - obj.obj.YObject = value.Msg() + obj.obj.YObject = value.msg() return obj } @@ -2974,7 +2940,7 @@ func (obj *prefixConfigChoiceObjectIter) Add() ChoiceObject { func (obj *prefixConfigChoiceObjectIter) Append(items ...ChoiceObject) PrefixConfigChoiceObjectIter { for _, item := range items { - newObj := item.Msg() + newObj := item.msg() *obj.fieldPtr = append(*obj.fieldPtr, newObj) obj.choiceObjectSlice = append(obj.choiceObjectSlice, item) } @@ -2982,7 +2948,7 @@ func (obj *prefixConfigChoiceObjectIter) Append(items ...ChoiceObject) PrefixCon } func (obj *prefixConfigChoiceObjectIter) Set(index int, newObj ChoiceObject) PrefixConfigChoiceObjectIter { - (*obj.fieldPtr)[index] = newObj.Msg() + (*obj.fieldPtr)[index] = newObj.msg() obj.choiceObjectSlice[index] = newObj return obj } @@ -3008,7 +2974,7 @@ func (obj *prefixConfigChoiceObjectIter) appendHolderSlice(item ChoiceObject) Pr // RequiredChoiceObject returns a RequiredChoiceParent func (obj *prefixConfig) RequiredChoiceObject() RequiredChoiceParent { if obj.obj.RequiredChoiceObject == nil { - obj.obj.RequiredChoiceObject = NewRequiredChoiceParent().Msg() + obj.obj.RequiredChoiceObject = NewRequiredChoiceParent().msg() } if obj.requiredChoiceObjectHolder == nil { obj.requiredChoiceObjectHolder = &requiredChoiceParent{obj: obj.obj.RequiredChoiceObject} @@ -3027,7 +2993,7 @@ func (obj *prefixConfig) HasRequiredChoiceObject() bool { func (obj *prefixConfig) SetRequiredChoiceObject(value RequiredChoiceParent) PrefixConfig { obj.requiredChoiceObjectHolder = nil - obj.obj.RequiredChoiceObject = value.Msg() + obj.obj.RequiredChoiceObject = value.msg() return obj } @@ -3584,8 +3550,10 @@ func (obj *prefixConfig) setDefault() { // ***** UpdateConfig ***** type updateConfig struct { validation - obj *openapi.UpdateConfig - gHolder UpdateConfigGObjectIter + obj *openapi.UpdateConfig + marshaller marshalUpdateConfig + unMarshaller unMarshalUpdateConfig + gHolder UpdateConfigGObjectIter } func NewUpdateConfig() UpdateConfig { @@ -3594,26 +3562,70 @@ func NewUpdateConfig() UpdateConfig { return &obj } -func (obj *updateConfig) Msg() *openapi.UpdateConfig { +func (obj *updateConfig) msg() *openapi.UpdateConfig { return obj.obj } -func (obj *updateConfig) SetMsg(msg *openapi.UpdateConfig) UpdateConfig { +func (obj *updateConfig) setMsg(msg *openapi.UpdateConfig) UpdateConfig { obj.setNil() proto.Merge(obj.obj, msg) return obj } -func (obj *updateConfig) ToProto() (*openapi.UpdateConfig, error) { - err := obj.validateToAndFrom() +type marshalupdateConfig struct { + obj *updateConfig +} + +type marshalUpdateConfig interface { + // ToProto marshals UpdateConfig to protobuf object *openapi.UpdateConfig + ToProto() (*openapi.UpdateConfig, error) + // ToPbText marshals UpdateConfig to protobuf text + ToPbText() (string, error) + // ToYaml marshals UpdateConfig to YAML text + ToYaml() (string, error) + // ToJson marshals UpdateConfig to JSON text + ToJson() (string, error) +} + +type unMarshalupdateConfig struct { + obj *updateConfig +} + +type unMarshalUpdateConfig interface { + // FromProto unmarshals UpdateConfig from protobuf object *openapi.UpdateConfig + FromProto(msg *openapi.UpdateConfig) (UpdateConfig, error) + // FromPbText unmarshals UpdateConfig from protobuf text + FromPbText(value string) error + // FromYaml unmarshals UpdateConfig from YAML text + FromYaml(value string) error + // FromJson unmarshals UpdateConfig from JSON text + FromJson(value string) error +} + +func (obj *updateConfig) Marshal() marshalUpdateConfig { + if obj.marshaller == nil { + obj.marshaller = &marshalupdateConfig{obj: obj} + } + return obj.marshaller +} + +func (obj *updateConfig) Unmarshal() unMarshalUpdateConfig { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalupdateConfig{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalupdateConfig) ToProto() (*openapi.UpdateConfig, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *updateConfig) FromProto(msg *openapi.UpdateConfig) (UpdateConfig, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalupdateConfig) FromProto(msg *openapi.UpdateConfig) (UpdateConfig, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -3621,33 +3633,33 @@ func (obj *updateConfig) FromProto(msg *openapi.UpdateConfig) (UpdateConfig, err return newObj, nil } -func (obj *updateConfig) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalupdateConfig) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *updateConfig) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalupdateConfig) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *updateConfig) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalupdateConfig) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -3656,7 +3668,7 @@ func (obj *updateConfig) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -3667,7 +3679,7 @@ func (obj *updateConfig) ToYaml() (string, error) { return string(data), nil } -func (obj *updateConfig) FromYaml(value string) error { +func (m *unMarshalupdateConfig) FromYaml(value string) error { if value == "" { value = "{}" } @@ -3679,21 +3691,21 @@ func (obj *updateConfig) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *updateConfig) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalupdateConfig) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -3703,14 +3715,14 @@ func (obj *updateConfig) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *updateConfig) FromJson(value string) error { +func (m *unMarshalupdateConfig) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -3718,13 +3730,13 @@ func (obj *updateConfig) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - err := obj.validateToAndFrom() + m.obj.setNil() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -3737,14 +3749,14 @@ func (obj *updateConfig) validateToAndFrom() error { return obj.validationResult() } -func (obj *updateConfig) Validate() error { +func (obj *updateConfig) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *updateConfig) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -3752,16 +3764,16 @@ func (obj *updateConfig) String() string { } func (obj *updateConfig) Clone() (UpdateConfig, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewUpdateConfig() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -3780,30 +3792,18 @@ func (obj *updateConfig) setNil() { // Object to Test required Parameter type UpdateConfig interface { Validation - // Msg marshals UpdateConfig to protobuf object *openapi.UpdateConfig + // msg marshals UpdateConfig to protobuf object *openapi.UpdateConfig // and doesn't set defaults - Msg() *openapi.UpdateConfig - // SetMsg unmarshals UpdateConfig from protobuf object *openapi.UpdateConfig + msg() *openapi.UpdateConfig + // setMsg unmarshals UpdateConfig from protobuf object *openapi.UpdateConfig // and doesn't set defaults - SetMsg(*openapi.UpdateConfig) UpdateConfig - // ToProto marshals UpdateConfig to protobuf object *openapi.UpdateConfig - ToProto() (*openapi.UpdateConfig, error) - // ToPbText marshals UpdateConfig to protobuf text - ToPbText() (string, error) - // ToYaml marshals UpdateConfig to YAML text - ToYaml() (string, error) - // ToJson marshals UpdateConfig to JSON text - ToJson() (string, error) - // FromProto unmarshals UpdateConfig from protobuf object *openapi.UpdateConfig - FromProto(msg *openapi.UpdateConfig) (UpdateConfig, error) - // FromPbText unmarshals UpdateConfig from protobuf text - FromPbText(value string) error - // FromYaml unmarshals UpdateConfig from YAML text - FromYaml(value string) error - // FromJson unmarshals UpdateConfig from JSON text - FromJson(value string) error - // Validate validates UpdateConfig - Validate() error + setMsg(*openapi.UpdateConfig) UpdateConfig + // provides marshal interface + Marshal() marshalUpdateConfig + // provides unmarshal interface + Unmarshal() unMarshalUpdateConfig + // validate validates UpdateConfig + validate() error // A stringer function String() string // Clones the object @@ -3873,7 +3873,7 @@ func (obj *updateConfigGObjectIter) Add() GObject { func (obj *updateConfigGObjectIter) Append(items ...GObject) UpdateConfigGObjectIter { for _, item := range items { - newObj := item.Msg() + newObj := item.msg() *obj.fieldPtr = append(*obj.fieldPtr, newObj) obj.gObjectSlice = append(obj.gObjectSlice, item) } @@ -3881,7 +3881,7 @@ func (obj *updateConfigGObjectIter) Append(items ...GObject) UpdateConfigGObject } func (obj *updateConfigGObjectIter) Set(index int, newObj GObject) UpdateConfigGObjectIter { - (*obj.fieldPtr)[index] = newObj.Msg() + (*obj.fieldPtr)[index] = newObj.msg() obj.gObjectSlice[index] = newObj return obj } @@ -3933,7 +3933,9 @@ func (obj *updateConfig) setDefault() { // ***** MetricsRequest ***** type metricsRequest struct { validation - obj *openapi.MetricsRequest + obj *openapi.MetricsRequest + marshaller marshalMetricsRequest + unMarshaller unMarshalMetricsRequest } func NewMetricsRequest() MetricsRequest { @@ -3942,26 +3944,70 @@ func NewMetricsRequest() MetricsRequest { return &obj } -func (obj *metricsRequest) Msg() *openapi.MetricsRequest { +func (obj *metricsRequest) msg() *openapi.MetricsRequest { return obj.obj } -func (obj *metricsRequest) SetMsg(msg *openapi.MetricsRequest) MetricsRequest { +func (obj *metricsRequest) setMsg(msg *openapi.MetricsRequest) MetricsRequest { proto.Merge(obj.obj, msg) return obj } -func (obj *metricsRequest) ToProto() (*openapi.MetricsRequest, error) { - err := obj.validateToAndFrom() +type marshalmetricsRequest struct { + obj *metricsRequest +} + +type marshalMetricsRequest interface { + // ToProto marshals MetricsRequest to protobuf object *openapi.MetricsRequest + ToProto() (*openapi.MetricsRequest, error) + // ToPbText marshals MetricsRequest to protobuf text + ToPbText() (string, error) + // ToYaml marshals MetricsRequest to YAML text + ToYaml() (string, error) + // ToJson marshals MetricsRequest to JSON text + ToJson() (string, error) +} + +type unMarshalmetricsRequest struct { + obj *metricsRequest +} + +type unMarshalMetricsRequest interface { + // FromProto unmarshals MetricsRequest from protobuf object *openapi.MetricsRequest + FromProto(msg *openapi.MetricsRequest) (MetricsRequest, error) + // FromPbText unmarshals MetricsRequest from protobuf text + FromPbText(value string) error + // FromYaml unmarshals MetricsRequest from YAML text + FromYaml(value string) error + // FromJson unmarshals MetricsRequest from JSON text + FromJson(value string) error +} + +func (obj *metricsRequest) Marshal() marshalMetricsRequest { + if obj.marshaller == nil { + obj.marshaller = &marshalmetricsRequest{obj: obj} + } + return obj.marshaller +} + +func (obj *metricsRequest) Unmarshal() unMarshalMetricsRequest { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalmetricsRequest{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalmetricsRequest) ToProto() (*openapi.MetricsRequest, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *metricsRequest) FromProto(msg *openapi.MetricsRequest) (MetricsRequest, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalmetricsRequest) FromProto(msg *openapi.MetricsRequest) (MetricsRequest, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -3969,33 +4015,33 @@ func (obj *metricsRequest) FromProto(msg *openapi.MetricsRequest) (MetricsReques return newObj, nil } -func (obj *metricsRequest) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalmetricsRequest) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *metricsRequest) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalmetricsRequest) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *metricsRequest) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalmetricsRequest) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -4004,7 +4050,7 @@ func (obj *metricsRequest) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -4015,7 +4061,7 @@ func (obj *metricsRequest) ToYaml() (string, error) { return string(data), nil } -func (obj *metricsRequest) FromYaml(value string) error { +func (m *unMarshalmetricsRequest) FromYaml(value string) error { if value == "" { value = "{}" } @@ -4027,21 +4073,21 @@ func (obj *metricsRequest) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *metricsRequest) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalmetricsRequest) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -4051,14 +4097,14 @@ func (obj *metricsRequest) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *metricsRequest) FromJson(value string) error { +func (m *unMarshalmetricsRequest) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -4066,13 +4112,13 @@ func (obj *metricsRequest) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - err := obj.validateToAndFrom() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -4085,14 +4131,14 @@ func (obj *metricsRequest) validateToAndFrom() error { return obj.validationResult() } -func (obj *metricsRequest) Validate() error { +func (obj *metricsRequest) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *metricsRequest) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -4100,16 +4146,16 @@ func (obj *metricsRequest) String() string { } func (obj *metricsRequest) Clone() (MetricsRequest, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewMetricsRequest() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -4119,30 +4165,18 @@ func (obj *metricsRequest) Clone() (MetricsRequest, error) { // MetricsRequest is description is TBD type MetricsRequest interface { Validation - // Msg marshals MetricsRequest to protobuf object *openapi.MetricsRequest + // msg marshals MetricsRequest to protobuf object *openapi.MetricsRequest // and doesn't set defaults - Msg() *openapi.MetricsRequest - // SetMsg unmarshals MetricsRequest from protobuf object *openapi.MetricsRequest + msg() *openapi.MetricsRequest + // setMsg unmarshals MetricsRequest from protobuf object *openapi.MetricsRequest // and doesn't set defaults - SetMsg(*openapi.MetricsRequest) MetricsRequest - // ToProto marshals MetricsRequest to protobuf object *openapi.MetricsRequest - ToProto() (*openapi.MetricsRequest, error) - // ToPbText marshals MetricsRequest to protobuf text - ToPbText() (string, error) - // ToYaml marshals MetricsRequest to YAML text - ToYaml() (string, error) - // ToJson marshals MetricsRequest to JSON text - ToJson() (string, error) - // FromProto unmarshals MetricsRequest from protobuf object *openapi.MetricsRequest - FromProto(msg *openapi.MetricsRequest) (MetricsRequest, error) - // FromPbText unmarshals MetricsRequest from protobuf text - FromPbText(value string) error - // FromYaml unmarshals MetricsRequest from YAML text - FromYaml(value string) error - // FromJson unmarshals MetricsRequest from JSON text - FromJson(value string) error - // Validate validates MetricsRequest - Validate() error + setMsg(*openapi.MetricsRequest) MetricsRequest + // provides marshal interface + Marshal() marshalMetricsRequest + // provides unmarshal interface + Unmarshal() unMarshalMetricsRequest + // validate validates MetricsRequest + validate() error // A stringer function String() string // Clones the object @@ -4152,8 +4186,8 @@ type MetricsRequest interface { setDefault() // Choice returns MetricsRequestChoiceEnum, set in MetricsRequest Choice() MetricsRequestChoiceEnum - // SetChoice assigns MetricsRequestChoiceEnum provided by user to MetricsRequest - SetChoice(value MetricsRequestChoiceEnum) MetricsRequest + // setChoice assigns MetricsRequestChoiceEnum provided by user to MetricsRequest + setChoice(value MetricsRequestChoiceEnum) MetricsRequest // HasChoice checks if Choice has been set in MetricsRequest HasChoice() bool // Port returns string, set in MetricsRequest. @@ -4191,7 +4225,7 @@ func (obj *metricsRequest) HasChoice() bool { return obj.obj.Choice != nil } -func (obj *metricsRequest) SetChoice(value MetricsRequestChoiceEnum) MetricsRequest { +func (obj *metricsRequest) setChoice(value MetricsRequestChoiceEnum) MetricsRequest { intValue, ok := openapi.MetricsRequest_Choice_Enum_value[string(value)] if !ok { obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( @@ -4210,7 +4244,7 @@ func (obj *metricsRequest) SetChoice(value MetricsRequestChoiceEnum) MetricsRequ func (obj *metricsRequest) Port() string { if obj.obj.Port == nil { - obj.SetChoice(MetricsRequestChoice.PORT) + obj.setChoice(MetricsRequestChoice.PORT) } return *obj.obj.Port @@ -4226,7 +4260,7 @@ func (obj *metricsRequest) HasPort() bool { // description is TBD // SetPort sets the string value in the MetricsRequest object func (obj *metricsRequest) SetPort(value string) MetricsRequest { - obj.SetChoice(MetricsRequestChoice.PORT) + obj.setChoice(MetricsRequestChoice.PORT) obj.obj.Port = &value return obj } @@ -4236,7 +4270,7 @@ func (obj *metricsRequest) SetPort(value string) MetricsRequest { func (obj *metricsRequest) Flow() string { if obj.obj.Flow == nil { - obj.SetChoice(MetricsRequestChoice.FLOW) + obj.setChoice(MetricsRequestChoice.FLOW) } return *obj.obj.Flow @@ -4252,7 +4286,7 @@ func (obj *metricsRequest) HasFlow() bool { // description is TBD // SetFlow sets the string value in the MetricsRequest object func (obj *metricsRequest) SetFlow(value string) MetricsRequest { - obj.SetChoice(MetricsRequestChoice.FLOW) + obj.setChoice(MetricsRequestChoice.FLOW) obj.obj.Flow = &value return obj } @@ -4266,7 +4300,7 @@ func (obj *metricsRequest) validateObj(vObj *validation, set_default bool) { func (obj *metricsRequest) setDefault() { if obj.obj.Choice == nil { - obj.SetChoice(MetricsRequestChoice.PORT) + obj.setChoice(MetricsRequestChoice.PORT) } @@ -4275,7 +4309,9 @@ func (obj *metricsRequest) setDefault() { // ***** ApiTestInputBody ***** type apiTestInputBody struct { validation - obj *openapi.ApiTestInputBody + obj *openapi.ApiTestInputBody + marshaller marshalApiTestInputBody + unMarshaller unMarshalApiTestInputBody } func NewApiTestInputBody() ApiTestInputBody { @@ -4284,26 +4320,70 @@ func NewApiTestInputBody() ApiTestInputBody { return &obj } -func (obj *apiTestInputBody) Msg() *openapi.ApiTestInputBody { +func (obj *apiTestInputBody) msg() *openapi.ApiTestInputBody { return obj.obj } -func (obj *apiTestInputBody) SetMsg(msg *openapi.ApiTestInputBody) ApiTestInputBody { +func (obj *apiTestInputBody) setMsg(msg *openapi.ApiTestInputBody) ApiTestInputBody { proto.Merge(obj.obj, msg) return obj } -func (obj *apiTestInputBody) ToProto() (*openapi.ApiTestInputBody, error) { - err := obj.validateToAndFrom() +type marshalapiTestInputBody struct { + obj *apiTestInputBody +} + +type marshalApiTestInputBody interface { + // ToProto marshals ApiTestInputBody to protobuf object *openapi.ApiTestInputBody + ToProto() (*openapi.ApiTestInputBody, error) + // ToPbText marshals ApiTestInputBody to protobuf text + ToPbText() (string, error) + // ToYaml marshals ApiTestInputBody to YAML text + ToYaml() (string, error) + // ToJson marshals ApiTestInputBody to JSON text + ToJson() (string, error) +} + +type unMarshalapiTestInputBody struct { + obj *apiTestInputBody +} + +type unMarshalApiTestInputBody interface { + // FromProto unmarshals ApiTestInputBody from protobuf object *openapi.ApiTestInputBody + FromProto(msg *openapi.ApiTestInputBody) (ApiTestInputBody, error) + // FromPbText unmarshals ApiTestInputBody from protobuf text + FromPbText(value string) error + // FromYaml unmarshals ApiTestInputBody from YAML text + FromYaml(value string) error + // FromJson unmarshals ApiTestInputBody from JSON text + FromJson(value string) error +} + +func (obj *apiTestInputBody) Marshal() marshalApiTestInputBody { + if obj.marshaller == nil { + obj.marshaller = &marshalapiTestInputBody{obj: obj} + } + return obj.marshaller +} + +func (obj *apiTestInputBody) Unmarshal() unMarshalApiTestInputBody { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalapiTestInputBody{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalapiTestInputBody) ToProto() (*openapi.ApiTestInputBody, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *apiTestInputBody) FromProto(msg *openapi.ApiTestInputBody) (ApiTestInputBody, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalapiTestInputBody) FromProto(msg *openapi.ApiTestInputBody) (ApiTestInputBody, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -4311,33 +4391,33 @@ func (obj *apiTestInputBody) FromProto(msg *openapi.ApiTestInputBody) (ApiTestIn return newObj, nil } -func (obj *apiTestInputBody) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalapiTestInputBody) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *apiTestInputBody) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalapiTestInputBody) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *apiTestInputBody) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalapiTestInputBody) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -4346,7 +4426,7 @@ func (obj *apiTestInputBody) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -4357,7 +4437,7 @@ func (obj *apiTestInputBody) ToYaml() (string, error) { return string(data), nil } -func (obj *apiTestInputBody) FromYaml(value string) error { +func (m *unMarshalapiTestInputBody) FromYaml(value string) error { if value == "" { value = "{}" } @@ -4369,21 +4449,21 @@ func (obj *apiTestInputBody) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *apiTestInputBody) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalapiTestInputBody) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -4393,14 +4473,14 @@ func (obj *apiTestInputBody) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *apiTestInputBody) FromJson(value string) error { +func (m *unMarshalapiTestInputBody) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -4408,13 +4488,13 @@ func (obj *apiTestInputBody) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - err := obj.validateToAndFrom() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -4427,14 +4507,14 @@ func (obj *apiTestInputBody) validateToAndFrom() error { return obj.validationResult() } -func (obj *apiTestInputBody) Validate() error { +func (obj *apiTestInputBody) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *apiTestInputBody) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -4442,16 +4522,16 @@ func (obj *apiTestInputBody) String() string { } func (obj *apiTestInputBody) Clone() (ApiTestInputBody, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewApiTestInputBody() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -4461,30 +4541,18 @@ func (obj *apiTestInputBody) Clone() (ApiTestInputBody, error) { // ApiTestInputBody is description is TBD type ApiTestInputBody interface { Validation - // Msg marshals ApiTestInputBody to protobuf object *openapi.ApiTestInputBody + // msg marshals ApiTestInputBody to protobuf object *openapi.ApiTestInputBody // and doesn't set defaults - Msg() *openapi.ApiTestInputBody - // SetMsg unmarshals ApiTestInputBody from protobuf object *openapi.ApiTestInputBody + msg() *openapi.ApiTestInputBody + // setMsg unmarshals ApiTestInputBody from protobuf object *openapi.ApiTestInputBody // and doesn't set defaults - SetMsg(*openapi.ApiTestInputBody) ApiTestInputBody - // ToProto marshals ApiTestInputBody to protobuf object *openapi.ApiTestInputBody - ToProto() (*openapi.ApiTestInputBody, error) - // ToPbText marshals ApiTestInputBody to protobuf text - ToPbText() (string, error) - // ToYaml marshals ApiTestInputBody to YAML text - ToYaml() (string, error) - // ToJson marshals ApiTestInputBody to JSON text - ToJson() (string, error) - // FromProto unmarshals ApiTestInputBody from protobuf object *openapi.ApiTestInputBody - FromProto(msg *openapi.ApiTestInputBody) (ApiTestInputBody, error) - // FromPbText unmarshals ApiTestInputBody from protobuf text - FromPbText(value string) error - // FromYaml unmarshals ApiTestInputBody from YAML text - FromYaml(value string) error - // FromJson unmarshals ApiTestInputBody from JSON text - FromJson(value string) error - // Validate validates ApiTestInputBody - Validate() error + setMsg(*openapi.ApiTestInputBody) ApiTestInputBody + // provides marshal interface + Marshal() marshalApiTestInputBody + // provides unmarshal interface + Unmarshal() unMarshalApiTestInputBody + // validate validates ApiTestInputBody + validate() error // A stringer function String() string // Clones the object @@ -4536,7 +4604,9 @@ func (obj *apiTestInputBody) setDefault() { // ***** SetConfigResponse ***** type setConfigResponse struct { validation - obj *openapi.SetConfigResponse + obj *openapi.SetConfigResponse + marshaller marshalSetConfigResponse + unMarshaller unMarshalSetConfigResponse } func NewSetConfigResponse() SetConfigResponse { @@ -4545,60 +4615,104 @@ func NewSetConfigResponse() SetConfigResponse { return &obj } -func (obj *setConfigResponse) Msg() *openapi.SetConfigResponse { +func (obj *setConfigResponse) msg() *openapi.SetConfigResponse { return obj.obj } -func (obj *setConfigResponse) SetMsg(msg *openapi.SetConfigResponse) SetConfigResponse { +func (obj *setConfigResponse) setMsg(msg *openapi.SetConfigResponse) SetConfigResponse { proto.Merge(obj.obj, msg) return obj } -func (obj *setConfigResponse) ToProto() (*openapi.SetConfigResponse, error) { - err := obj.validateToAndFrom() - if err != nil { - return nil, err - } - return obj.Msg(), nil +type marshalsetConfigResponse struct { + obj *setConfigResponse } -func (obj *setConfigResponse) FromProto(msg *openapi.SetConfigResponse) (SetConfigResponse, error) { - newObj := obj.SetMsg(msg) - err := newObj.validateToAndFrom() - if err != nil { - return nil, err - } - return newObj, nil -} +type marshalSetConfigResponse interface { + // ToProto marshals SetConfigResponse to protobuf object *openapi.SetConfigResponse + ToProto() (*openapi.SetConfigResponse, error) + // ToPbText marshals SetConfigResponse to protobuf text + ToPbText() (string, error) + // ToYaml marshals SetConfigResponse to YAML text + ToYaml() (string, error) + // ToJson marshals SetConfigResponse to JSON text + ToJson() (string, error) +} + +type unMarshalsetConfigResponse struct { + obj *setConfigResponse +} + +type unMarshalSetConfigResponse interface { + // FromProto unmarshals SetConfigResponse from protobuf object *openapi.SetConfigResponse + FromProto(msg *openapi.SetConfigResponse) (SetConfigResponse, error) + // FromPbText unmarshals SetConfigResponse from protobuf text + FromPbText(value string) error + // FromYaml unmarshals SetConfigResponse from YAML text + FromYaml(value string) error + // FromJson unmarshals SetConfigResponse from JSON text + FromJson(value string) error +} + +func (obj *setConfigResponse) Marshal() marshalSetConfigResponse { + if obj.marshaller == nil { + obj.marshaller = &marshalsetConfigResponse{obj: obj} + } + return obj.marshaller +} -func (obj *setConfigResponse) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (obj *setConfigResponse) Unmarshal() unMarshalSetConfigResponse { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalsetConfigResponse{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalsetConfigResponse) ToProto() (*openapi.SetConfigResponse, error) { + err := m.obj.validateToAndFrom() + if err != nil { + return nil, err + } + return m.obj.msg(), nil +} + +func (m *unMarshalsetConfigResponse) FromProto(msg *openapi.SetConfigResponse) (SetConfigResponse, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalsetConfigResponse) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *setConfigResponse) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalsetConfigResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *setConfigResponse) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalsetConfigResponse) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -4607,7 +4721,7 @@ func (obj *setConfigResponse) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -4618,7 +4732,7 @@ func (obj *setConfigResponse) ToYaml() (string, error) { return string(data), nil } -func (obj *setConfigResponse) FromYaml(value string) error { +func (m *unMarshalsetConfigResponse) FromYaml(value string) error { if value == "" { value = "{}" } @@ -4630,21 +4744,21 @@ func (obj *setConfigResponse) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *setConfigResponse) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalsetConfigResponse) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -4654,14 +4768,14 @@ func (obj *setConfigResponse) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *setConfigResponse) FromJson(value string) error { +func (m *unMarshalsetConfigResponse) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -4669,13 +4783,13 @@ func (obj *setConfigResponse) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - err := obj.validateToAndFrom() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -4688,14 +4802,14 @@ func (obj *setConfigResponse) validateToAndFrom() error { return obj.validationResult() } -func (obj *setConfigResponse) Validate() error { +func (obj *setConfigResponse) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *setConfigResponse) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -4703,16 +4817,16 @@ func (obj *setConfigResponse) String() string { } func (obj *setConfigResponse) Clone() (SetConfigResponse, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewSetConfigResponse() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -4722,30 +4836,18 @@ func (obj *setConfigResponse) Clone() (SetConfigResponse, error) { // SetConfigResponse is description is TBD type SetConfigResponse interface { Validation - // Msg marshals SetConfigResponse to protobuf object *openapi.SetConfigResponse + // msg marshals SetConfigResponse to protobuf object *openapi.SetConfigResponse // and doesn't set defaults - Msg() *openapi.SetConfigResponse - // SetMsg unmarshals SetConfigResponse from protobuf object *openapi.SetConfigResponse + msg() *openapi.SetConfigResponse + // setMsg unmarshals SetConfigResponse from protobuf object *openapi.SetConfigResponse // and doesn't set defaults - SetMsg(*openapi.SetConfigResponse) SetConfigResponse - // ToProto marshals SetConfigResponse to protobuf object *openapi.SetConfigResponse - ToProto() (*openapi.SetConfigResponse, error) - // ToPbText marshals SetConfigResponse to protobuf text - ToPbText() (string, error) - // ToYaml marshals SetConfigResponse to YAML text - ToYaml() (string, error) - // ToJson marshals SetConfigResponse to JSON text - ToJson() (string, error) - // FromProto unmarshals SetConfigResponse from protobuf object *openapi.SetConfigResponse - FromProto(msg *openapi.SetConfigResponse) (SetConfigResponse, error) - // FromPbText unmarshals SetConfigResponse from protobuf text - FromPbText(value string) error - // FromYaml unmarshals SetConfigResponse from YAML text - FromYaml(value string) error - // FromJson unmarshals SetConfigResponse from JSON text - FromJson(value string) error - // Validate validates SetConfigResponse - Validate() error + setMsg(*openapi.SetConfigResponse) SetConfigResponse + // provides marshal interface + Marshal() marshalSetConfigResponse + // provides unmarshal interface + Unmarshal() unMarshalSetConfigResponse + // validate validates SetConfigResponse + validate() error // A stringer function String() string // Clones the object @@ -4797,6 +4899,8 @@ func (obj *setConfigResponse) setDefault() { type updateConfigurationResponse struct { validation obj *openapi.UpdateConfigurationResponse + marshaller marshalUpdateConfigurationResponse + unMarshaller unMarshalUpdateConfigurationResponse prefixConfigHolder PrefixConfig } @@ -4806,26 +4910,70 @@ func NewUpdateConfigurationResponse() UpdateConfigurationResponse { return &obj } -func (obj *updateConfigurationResponse) Msg() *openapi.UpdateConfigurationResponse { +func (obj *updateConfigurationResponse) msg() *openapi.UpdateConfigurationResponse { return obj.obj } -func (obj *updateConfigurationResponse) SetMsg(msg *openapi.UpdateConfigurationResponse) UpdateConfigurationResponse { +func (obj *updateConfigurationResponse) setMsg(msg *openapi.UpdateConfigurationResponse) UpdateConfigurationResponse { obj.setNil() proto.Merge(obj.obj, msg) return obj } -func (obj *updateConfigurationResponse) ToProto() (*openapi.UpdateConfigurationResponse, error) { - err := obj.validateToAndFrom() +type marshalupdateConfigurationResponse struct { + obj *updateConfigurationResponse +} + +type marshalUpdateConfigurationResponse interface { + // ToProto marshals UpdateConfigurationResponse to protobuf object *openapi.UpdateConfigurationResponse + ToProto() (*openapi.UpdateConfigurationResponse, error) + // ToPbText marshals UpdateConfigurationResponse to protobuf text + ToPbText() (string, error) + // ToYaml marshals UpdateConfigurationResponse to YAML text + ToYaml() (string, error) + // ToJson marshals UpdateConfigurationResponse to JSON text + ToJson() (string, error) +} + +type unMarshalupdateConfigurationResponse struct { + obj *updateConfigurationResponse +} + +type unMarshalUpdateConfigurationResponse interface { + // FromProto unmarshals UpdateConfigurationResponse from protobuf object *openapi.UpdateConfigurationResponse + FromProto(msg *openapi.UpdateConfigurationResponse) (UpdateConfigurationResponse, error) + // FromPbText unmarshals UpdateConfigurationResponse from protobuf text + FromPbText(value string) error + // FromYaml unmarshals UpdateConfigurationResponse from YAML text + FromYaml(value string) error + // FromJson unmarshals UpdateConfigurationResponse from JSON text + FromJson(value string) error +} + +func (obj *updateConfigurationResponse) Marshal() marshalUpdateConfigurationResponse { + if obj.marshaller == nil { + obj.marshaller = &marshalupdateConfigurationResponse{obj: obj} + } + return obj.marshaller +} + +func (obj *updateConfigurationResponse) Unmarshal() unMarshalUpdateConfigurationResponse { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalupdateConfigurationResponse{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalupdateConfigurationResponse) ToProto() (*openapi.UpdateConfigurationResponse, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *updateConfigurationResponse) FromProto(msg *openapi.UpdateConfigurationResponse) (UpdateConfigurationResponse, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalupdateConfigurationResponse) FromProto(msg *openapi.UpdateConfigurationResponse) (UpdateConfigurationResponse, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -4833,33 +4981,33 @@ func (obj *updateConfigurationResponse) FromProto(msg *openapi.UpdateConfigurati return newObj, nil } -func (obj *updateConfigurationResponse) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalupdateConfigurationResponse) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *updateConfigurationResponse) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalupdateConfigurationResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *updateConfigurationResponse) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalupdateConfigurationResponse) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -4868,7 +5016,7 @@ func (obj *updateConfigurationResponse) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -4879,7 +5027,7 @@ func (obj *updateConfigurationResponse) ToYaml() (string, error) { return string(data), nil } -func (obj *updateConfigurationResponse) FromYaml(value string) error { +func (m *unMarshalupdateConfigurationResponse) FromYaml(value string) error { if value == "" { value = "{}" } @@ -4891,21 +5039,21 @@ func (obj *updateConfigurationResponse) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *updateConfigurationResponse) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalupdateConfigurationResponse) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -4915,14 +5063,14 @@ func (obj *updateConfigurationResponse) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *updateConfigurationResponse) FromJson(value string) error { +func (m *unMarshalupdateConfigurationResponse) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -4930,13 +5078,13 @@ func (obj *updateConfigurationResponse) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - err := obj.validateToAndFrom() + m.obj.setNil() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -4949,14 +5097,14 @@ func (obj *updateConfigurationResponse) validateToAndFrom() error { return obj.validationResult() } -func (obj *updateConfigurationResponse) Validate() error { +func (obj *updateConfigurationResponse) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *updateConfigurationResponse) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -4964,16 +5112,16 @@ func (obj *updateConfigurationResponse) String() string { } func (obj *updateConfigurationResponse) Clone() (UpdateConfigurationResponse, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewUpdateConfigurationResponse() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -4990,30 +5138,18 @@ func (obj *updateConfigurationResponse) setNil() { // UpdateConfigurationResponse is description is TBD type UpdateConfigurationResponse interface { Validation - // Msg marshals UpdateConfigurationResponse to protobuf object *openapi.UpdateConfigurationResponse + // msg marshals UpdateConfigurationResponse to protobuf object *openapi.UpdateConfigurationResponse // and doesn't set defaults - Msg() *openapi.UpdateConfigurationResponse - // SetMsg unmarshals UpdateConfigurationResponse from protobuf object *openapi.UpdateConfigurationResponse + msg() *openapi.UpdateConfigurationResponse + // setMsg unmarshals UpdateConfigurationResponse from protobuf object *openapi.UpdateConfigurationResponse // and doesn't set defaults - SetMsg(*openapi.UpdateConfigurationResponse) UpdateConfigurationResponse - // ToProto marshals UpdateConfigurationResponse to protobuf object *openapi.UpdateConfigurationResponse - ToProto() (*openapi.UpdateConfigurationResponse, error) - // ToPbText marshals UpdateConfigurationResponse to protobuf text - ToPbText() (string, error) - // ToYaml marshals UpdateConfigurationResponse to YAML text - ToYaml() (string, error) - // ToJson marshals UpdateConfigurationResponse to JSON text - ToJson() (string, error) - // FromProto unmarshals UpdateConfigurationResponse from protobuf object *openapi.UpdateConfigurationResponse - FromProto(msg *openapi.UpdateConfigurationResponse) (UpdateConfigurationResponse, error) - // FromPbText unmarshals UpdateConfigurationResponse from protobuf text - FromPbText(value string) error - // FromYaml unmarshals UpdateConfigurationResponse from YAML text - FromYaml(value string) error - // FromJson unmarshals UpdateConfigurationResponse from JSON text - FromJson(value string) error - // Validate validates UpdateConfigurationResponse - Validate() error + setMsg(*openapi.UpdateConfigurationResponse) UpdateConfigurationResponse + // provides marshal interface + Marshal() marshalUpdateConfigurationResponse + // provides unmarshal interface + Unmarshal() unMarshalUpdateConfigurationResponse + // validate validates UpdateConfigurationResponse + validate() error // A stringer function String() string // Clones the object @@ -5036,7 +5172,7 @@ type UpdateConfigurationResponse interface { // PrefixConfig returns a PrefixConfig func (obj *updateConfigurationResponse) PrefixConfig() PrefixConfig { if obj.obj.PrefixConfig == nil { - obj.obj.PrefixConfig = NewPrefixConfig().Msg() + obj.obj.PrefixConfig = NewPrefixConfig().msg() } if obj.prefixConfigHolder == nil { obj.prefixConfigHolder = &prefixConfig{obj: obj.obj.PrefixConfig} @@ -5055,7 +5191,7 @@ func (obj *updateConfigurationResponse) HasPrefixConfig() bool { func (obj *updateConfigurationResponse) SetPrefixConfig(value PrefixConfig) UpdateConfigurationResponse { obj.prefixConfigHolder = nil - obj.obj.PrefixConfig = value.Msg() + obj.obj.PrefixConfig = value.msg() return obj } @@ -5080,6 +5216,8 @@ func (obj *updateConfigurationResponse) setDefault() { type getConfigResponse struct { validation obj *openapi.GetConfigResponse + marshaller marshalGetConfigResponse + unMarshaller unMarshalGetConfigResponse prefixConfigHolder PrefixConfig } @@ -5089,26 +5227,70 @@ func NewGetConfigResponse() GetConfigResponse { return &obj } -func (obj *getConfigResponse) Msg() *openapi.GetConfigResponse { +func (obj *getConfigResponse) msg() *openapi.GetConfigResponse { return obj.obj } -func (obj *getConfigResponse) SetMsg(msg *openapi.GetConfigResponse) GetConfigResponse { +func (obj *getConfigResponse) setMsg(msg *openapi.GetConfigResponse) GetConfigResponse { obj.setNil() proto.Merge(obj.obj, msg) return obj } -func (obj *getConfigResponse) ToProto() (*openapi.GetConfigResponse, error) { - err := obj.validateToAndFrom() +type marshalgetConfigResponse struct { + obj *getConfigResponse +} + +type marshalGetConfigResponse interface { + // ToProto marshals GetConfigResponse to protobuf object *openapi.GetConfigResponse + ToProto() (*openapi.GetConfigResponse, error) + // ToPbText marshals GetConfigResponse to protobuf text + ToPbText() (string, error) + // ToYaml marshals GetConfigResponse to YAML text + ToYaml() (string, error) + // ToJson marshals GetConfigResponse to JSON text + ToJson() (string, error) +} + +type unMarshalgetConfigResponse struct { + obj *getConfigResponse +} + +type unMarshalGetConfigResponse interface { + // FromProto unmarshals GetConfigResponse from protobuf object *openapi.GetConfigResponse + FromProto(msg *openapi.GetConfigResponse) (GetConfigResponse, error) + // FromPbText unmarshals GetConfigResponse from protobuf text + FromPbText(value string) error + // FromYaml unmarshals GetConfigResponse from YAML text + FromYaml(value string) error + // FromJson unmarshals GetConfigResponse from JSON text + FromJson(value string) error +} + +func (obj *getConfigResponse) Marshal() marshalGetConfigResponse { + if obj.marshaller == nil { + obj.marshaller = &marshalgetConfigResponse{obj: obj} + } + return obj.marshaller +} + +func (obj *getConfigResponse) Unmarshal() unMarshalGetConfigResponse { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalgetConfigResponse{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalgetConfigResponse) ToProto() (*openapi.GetConfigResponse, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *getConfigResponse) FromProto(msg *openapi.GetConfigResponse) (GetConfigResponse, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalgetConfigResponse) FromProto(msg *openapi.GetConfigResponse) (GetConfigResponse, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -5116,33 +5298,33 @@ func (obj *getConfigResponse) FromProto(msg *openapi.GetConfigResponse) (GetConf return newObj, nil } -func (obj *getConfigResponse) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalgetConfigResponse) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *getConfigResponse) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalgetConfigResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *getConfigResponse) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalgetConfigResponse) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -5151,7 +5333,7 @@ func (obj *getConfigResponse) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -5162,7 +5344,7 @@ func (obj *getConfigResponse) ToYaml() (string, error) { return string(data), nil } -func (obj *getConfigResponse) FromYaml(value string) error { +func (m *unMarshalgetConfigResponse) FromYaml(value string) error { if value == "" { value = "{}" } @@ -5174,21 +5356,21 @@ func (obj *getConfigResponse) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *getConfigResponse) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalgetConfigResponse) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -5198,14 +5380,14 @@ func (obj *getConfigResponse) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *getConfigResponse) FromJson(value string) error { +func (m *unMarshalgetConfigResponse) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -5213,13 +5395,13 @@ func (obj *getConfigResponse) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - err := obj.validateToAndFrom() + m.obj.setNil() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -5232,14 +5414,14 @@ func (obj *getConfigResponse) validateToAndFrom() error { return obj.validationResult() } -func (obj *getConfigResponse) Validate() error { +func (obj *getConfigResponse) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *getConfigResponse) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -5247,16 +5429,16 @@ func (obj *getConfigResponse) String() string { } func (obj *getConfigResponse) Clone() (GetConfigResponse, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewGetConfigResponse() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -5273,30 +5455,18 @@ func (obj *getConfigResponse) setNil() { // GetConfigResponse is description is TBD type GetConfigResponse interface { Validation - // Msg marshals GetConfigResponse to protobuf object *openapi.GetConfigResponse + // msg marshals GetConfigResponse to protobuf object *openapi.GetConfigResponse // and doesn't set defaults - Msg() *openapi.GetConfigResponse - // SetMsg unmarshals GetConfigResponse from protobuf object *openapi.GetConfigResponse + msg() *openapi.GetConfigResponse + // setMsg unmarshals GetConfigResponse from protobuf object *openapi.GetConfigResponse // and doesn't set defaults - SetMsg(*openapi.GetConfigResponse) GetConfigResponse - // ToProto marshals GetConfigResponse to protobuf object *openapi.GetConfigResponse - ToProto() (*openapi.GetConfigResponse, error) - // ToPbText marshals GetConfigResponse to protobuf text - ToPbText() (string, error) - // ToYaml marshals GetConfigResponse to YAML text - ToYaml() (string, error) - // ToJson marshals GetConfigResponse to JSON text - ToJson() (string, error) - // FromProto unmarshals GetConfigResponse from protobuf object *openapi.GetConfigResponse - FromProto(msg *openapi.GetConfigResponse) (GetConfigResponse, error) - // FromPbText unmarshals GetConfigResponse from protobuf text - FromPbText(value string) error - // FromYaml unmarshals GetConfigResponse from YAML text - FromYaml(value string) error - // FromJson unmarshals GetConfigResponse from JSON text - FromJson(value string) error - // Validate validates GetConfigResponse - Validate() error + setMsg(*openapi.GetConfigResponse) GetConfigResponse + // provides marshal interface + Marshal() marshalGetConfigResponse + // provides unmarshal interface + Unmarshal() unMarshalGetConfigResponse + // validate validates GetConfigResponse + validate() error // A stringer function String() string // Clones the object @@ -5319,7 +5489,7 @@ type GetConfigResponse interface { // PrefixConfig returns a PrefixConfig func (obj *getConfigResponse) PrefixConfig() PrefixConfig { if obj.obj.PrefixConfig == nil { - obj.obj.PrefixConfig = NewPrefixConfig().Msg() + obj.obj.PrefixConfig = NewPrefixConfig().msg() } if obj.prefixConfigHolder == nil { obj.prefixConfigHolder = &prefixConfig{obj: obj.obj.PrefixConfig} @@ -5338,7 +5508,7 @@ func (obj *getConfigResponse) HasPrefixConfig() bool { func (obj *getConfigResponse) SetPrefixConfig(value PrefixConfig) GetConfigResponse { obj.prefixConfigHolder = nil - obj.obj.PrefixConfig = value.Msg() + obj.obj.PrefixConfig = value.msg() return obj } @@ -5363,6 +5533,8 @@ func (obj *getConfigResponse) setDefault() { type getMetricsResponse struct { validation obj *openapi.GetMetricsResponse + marshaller marshalGetMetricsResponse + unMarshaller unMarshalGetMetricsResponse metricsHolder Metrics } @@ -5372,26 +5544,70 @@ func NewGetMetricsResponse() GetMetricsResponse { return &obj } -func (obj *getMetricsResponse) Msg() *openapi.GetMetricsResponse { +func (obj *getMetricsResponse) msg() *openapi.GetMetricsResponse { return obj.obj } -func (obj *getMetricsResponse) SetMsg(msg *openapi.GetMetricsResponse) GetMetricsResponse { +func (obj *getMetricsResponse) setMsg(msg *openapi.GetMetricsResponse) GetMetricsResponse { obj.setNil() proto.Merge(obj.obj, msg) return obj } -func (obj *getMetricsResponse) ToProto() (*openapi.GetMetricsResponse, error) { - err := obj.validateToAndFrom() +type marshalgetMetricsResponse struct { + obj *getMetricsResponse +} + +type marshalGetMetricsResponse interface { + // ToProto marshals GetMetricsResponse to protobuf object *openapi.GetMetricsResponse + ToProto() (*openapi.GetMetricsResponse, error) + // ToPbText marshals GetMetricsResponse to protobuf text + ToPbText() (string, error) + // ToYaml marshals GetMetricsResponse to YAML text + ToYaml() (string, error) + // ToJson marshals GetMetricsResponse to JSON text + ToJson() (string, error) +} + +type unMarshalgetMetricsResponse struct { + obj *getMetricsResponse +} + +type unMarshalGetMetricsResponse interface { + // FromProto unmarshals GetMetricsResponse from protobuf object *openapi.GetMetricsResponse + FromProto(msg *openapi.GetMetricsResponse) (GetMetricsResponse, error) + // FromPbText unmarshals GetMetricsResponse from protobuf text + FromPbText(value string) error + // FromYaml unmarshals GetMetricsResponse from YAML text + FromYaml(value string) error + // FromJson unmarshals GetMetricsResponse from JSON text + FromJson(value string) error +} + +func (obj *getMetricsResponse) Marshal() marshalGetMetricsResponse { + if obj.marshaller == nil { + obj.marshaller = &marshalgetMetricsResponse{obj: obj} + } + return obj.marshaller +} + +func (obj *getMetricsResponse) Unmarshal() unMarshalGetMetricsResponse { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalgetMetricsResponse{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalgetMetricsResponse) ToProto() (*openapi.GetMetricsResponse, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *getMetricsResponse) FromProto(msg *openapi.GetMetricsResponse) (GetMetricsResponse, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalgetMetricsResponse) FromProto(msg *openapi.GetMetricsResponse) (GetMetricsResponse, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -5399,33 +5615,33 @@ func (obj *getMetricsResponse) FromProto(msg *openapi.GetMetricsResponse) (GetMe return newObj, nil } -func (obj *getMetricsResponse) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalgetMetricsResponse) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *getMetricsResponse) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalgetMetricsResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *getMetricsResponse) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalgetMetricsResponse) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -5434,7 +5650,7 @@ func (obj *getMetricsResponse) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -5445,7 +5661,7 @@ func (obj *getMetricsResponse) ToYaml() (string, error) { return string(data), nil } -func (obj *getMetricsResponse) FromYaml(value string) error { +func (m *unMarshalgetMetricsResponse) FromYaml(value string) error { if value == "" { value = "{}" } @@ -5457,21 +5673,21 @@ func (obj *getMetricsResponse) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *getMetricsResponse) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalgetMetricsResponse) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -5481,14 +5697,14 @@ func (obj *getMetricsResponse) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *getMetricsResponse) FromJson(value string) error { +func (m *unMarshalgetMetricsResponse) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -5496,13 +5712,13 @@ func (obj *getMetricsResponse) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - err := obj.validateToAndFrom() + m.obj.setNil() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -5515,14 +5731,14 @@ func (obj *getMetricsResponse) validateToAndFrom() error { return obj.validationResult() } -func (obj *getMetricsResponse) Validate() error { +func (obj *getMetricsResponse) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *getMetricsResponse) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -5530,16 +5746,16 @@ func (obj *getMetricsResponse) String() string { } func (obj *getMetricsResponse) Clone() (GetMetricsResponse, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewGetMetricsResponse() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -5556,30 +5772,18 @@ func (obj *getMetricsResponse) setNil() { // GetMetricsResponse is description is TBD type GetMetricsResponse interface { Validation - // Msg marshals GetMetricsResponse to protobuf object *openapi.GetMetricsResponse + // msg marshals GetMetricsResponse to protobuf object *openapi.GetMetricsResponse // and doesn't set defaults - Msg() *openapi.GetMetricsResponse - // SetMsg unmarshals GetMetricsResponse from protobuf object *openapi.GetMetricsResponse + msg() *openapi.GetMetricsResponse + // setMsg unmarshals GetMetricsResponse from protobuf object *openapi.GetMetricsResponse // and doesn't set defaults - SetMsg(*openapi.GetMetricsResponse) GetMetricsResponse - // ToProto marshals GetMetricsResponse to protobuf object *openapi.GetMetricsResponse - ToProto() (*openapi.GetMetricsResponse, error) - // ToPbText marshals GetMetricsResponse to protobuf text - ToPbText() (string, error) - // ToYaml marshals GetMetricsResponse to YAML text - ToYaml() (string, error) - // ToJson marshals GetMetricsResponse to JSON text - ToJson() (string, error) - // FromProto unmarshals GetMetricsResponse from protobuf object *openapi.GetMetricsResponse - FromProto(msg *openapi.GetMetricsResponse) (GetMetricsResponse, error) - // FromPbText unmarshals GetMetricsResponse from protobuf text - FromPbText(value string) error - // FromYaml unmarshals GetMetricsResponse from YAML text - FromYaml(value string) error - // FromJson unmarshals GetMetricsResponse from JSON text - FromJson(value string) error - // Validate validates GetMetricsResponse - Validate() error + setMsg(*openapi.GetMetricsResponse) GetMetricsResponse + // provides marshal interface + Marshal() marshalGetMetricsResponse + // provides unmarshal interface + Unmarshal() unMarshalGetMetricsResponse + // validate validates GetMetricsResponse + validate() error // A stringer function String() string // Clones the object @@ -5602,7 +5806,7 @@ type GetMetricsResponse interface { // Metrics returns a Metrics func (obj *getMetricsResponse) Metrics() Metrics { if obj.obj.Metrics == nil { - obj.obj.Metrics = NewMetrics().Msg() + obj.obj.Metrics = NewMetrics().msg() } if obj.metricsHolder == nil { obj.metricsHolder = &metrics{obj: obj.obj.Metrics} @@ -5621,7 +5825,7 @@ func (obj *getMetricsResponse) HasMetrics() bool { func (obj *getMetricsResponse) SetMetrics(value Metrics) GetMetricsResponse { obj.metricsHolder = nil - obj.obj.Metrics = value.Msg() + obj.obj.Metrics = value.msg() return obj } @@ -5646,6 +5850,8 @@ func (obj *getMetricsResponse) setDefault() { type getWarningsResponse struct { validation obj *openapi.GetWarningsResponse + marshaller marshalGetWarningsResponse + unMarshaller unMarshalGetWarningsResponse warningDetailsHolder WarningDetails } @@ -5655,26 +5861,70 @@ func NewGetWarningsResponse() GetWarningsResponse { return &obj } -func (obj *getWarningsResponse) Msg() *openapi.GetWarningsResponse { +func (obj *getWarningsResponse) msg() *openapi.GetWarningsResponse { return obj.obj } -func (obj *getWarningsResponse) SetMsg(msg *openapi.GetWarningsResponse) GetWarningsResponse { +func (obj *getWarningsResponse) setMsg(msg *openapi.GetWarningsResponse) GetWarningsResponse { obj.setNil() proto.Merge(obj.obj, msg) return obj } -func (obj *getWarningsResponse) ToProto() (*openapi.GetWarningsResponse, error) { - err := obj.validateToAndFrom() +type marshalgetWarningsResponse struct { + obj *getWarningsResponse +} + +type marshalGetWarningsResponse interface { + // ToProto marshals GetWarningsResponse to protobuf object *openapi.GetWarningsResponse + ToProto() (*openapi.GetWarningsResponse, error) + // ToPbText marshals GetWarningsResponse to protobuf text + ToPbText() (string, error) + // ToYaml marshals GetWarningsResponse to YAML text + ToYaml() (string, error) + // ToJson marshals GetWarningsResponse to JSON text + ToJson() (string, error) +} + +type unMarshalgetWarningsResponse struct { + obj *getWarningsResponse +} + +type unMarshalGetWarningsResponse interface { + // FromProto unmarshals GetWarningsResponse from protobuf object *openapi.GetWarningsResponse + FromProto(msg *openapi.GetWarningsResponse) (GetWarningsResponse, error) + // FromPbText unmarshals GetWarningsResponse from protobuf text + FromPbText(value string) error + // FromYaml unmarshals GetWarningsResponse from YAML text + FromYaml(value string) error + // FromJson unmarshals GetWarningsResponse from JSON text + FromJson(value string) error +} + +func (obj *getWarningsResponse) Marshal() marshalGetWarningsResponse { + if obj.marshaller == nil { + obj.marshaller = &marshalgetWarningsResponse{obj: obj} + } + return obj.marshaller +} + +func (obj *getWarningsResponse) Unmarshal() unMarshalGetWarningsResponse { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalgetWarningsResponse{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalgetWarningsResponse) ToProto() (*openapi.GetWarningsResponse, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *getWarningsResponse) FromProto(msg *openapi.GetWarningsResponse) (GetWarningsResponse, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalgetWarningsResponse) FromProto(msg *openapi.GetWarningsResponse) (GetWarningsResponse, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -5682,33 +5932,33 @@ func (obj *getWarningsResponse) FromProto(msg *openapi.GetWarningsResponse) (Get return newObj, nil } -func (obj *getWarningsResponse) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalgetWarningsResponse) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *getWarningsResponse) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalgetWarningsResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *getWarningsResponse) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalgetWarningsResponse) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -5717,7 +5967,7 @@ func (obj *getWarningsResponse) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -5728,7 +5978,7 @@ func (obj *getWarningsResponse) ToYaml() (string, error) { return string(data), nil } -func (obj *getWarningsResponse) FromYaml(value string) error { +func (m *unMarshalgetWarningsResponse) FromYaml(value string) error { if value == "" { value = "{}" } @@ -5740,21 +5990,21 @@ func (obj *getWarningsResponse) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *getWarningsResponse) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalgetWarningsResponse) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -5764,14 +6014,14 @@ func (obj *getWarningsResponse) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *getWarningsResponse) FromJson(value string) error { +func (m *unMarshalgetWarningsResponse) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -5779,13 +6029,13 @@ func (obj *getWarningsResponse) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - err := obj.validateToAndFrom() + m.obj.setNil() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -5798,14 +6048,14 @@ func (obj *getWarningsResponse) validateToAndFrom() error { return obj.validationResult() } -func (obj *getWarningsResponse) Validate() error { +func (obj *getWarningsResponse) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *getWarningsResponse) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -5813,16 +6063,16 @@ func (obj *getWarningsResponse) String() string { } func (obj *getWarningsResponse) Clone() (GetWarningsResponse, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewGetWarningsResponse() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -5839,30 +6089,18 @@ func (obj *getWarningsResponse) setNil() { // GetWarningsResponse is description is TBD type GetWarningsResponse interface { Validation - // Msg marshals GetWarningsResponse to protobuf object *openapi.GetWarningsResponse + // msg marshals GetWarningsResponse to protobuf object *openapi.GetWarningsResponse // and doesn't set defaults - Msg() *openapi.GetWarningsResponse - // SetMsg unmarshals GetWarningsResponse from protobuf object *openapi.GetWarningsResponse + msg() *openapi.GetWarningsResponse + // setMsg unmarshals GetWarningsResponse from protobuf object *openapi.GetWarningsResponse // and doesn't set defaults - SetMsg(*openapi.GetWarningsResponse) GetWarningsResponse - // ToProto marshals GetWarningsResponse to protobuf object *openapi.GetWarningsResponse - ToProto() (*openapi.GetWarningsResponse, error) - // ToPbText marshals GetWarningsResponse to protobuf text - ToPbText() (string, error) - // ToYaml marshals GetWarningsResponse to YAML text - ToYaml() (string, error) - // ToJson marshals GetWarningsResponse to JSON text - ToJson() (string, error) - // FromProto unmarshals GetWarningsResponse from protobuf object *openapi.GetWarningsResponse - FromProto(msg *openapi.GetWarningsResponse) (GetWarningsResponse, error) - // FromPbText unmarshals GetWarningsResponse from protobuf text - FromPbText(value string) error - // FromYaml unmarshals GetWarningsResponse from YAML text - FromYaml(value string) error - // FromJson unmarshals GetWarningsResponse from JSON text - FromJson(value string) error - // Validate validates GetWarningsResponse - Validate() error + setMsg(*openapi.GetWarningsResponse) GetWarningsResponse + // provides marshal interface + Marshal() marshalGetWarningsResponse + // provides unmarshal interface + Unmarshal() unMarshalGetWarningsResponse + // validate validates GetWarningsResponse + validate() error // A stringer function String() string // Clones the object @@ -5885,7 +6123,7 @@ type GetWarningsResponse interface { // WarningDetails returns a WarningDetails func (obj *getWarningsResponse) WarningDetails() WarningDetails { if obj.obj.WarningDetails == nil { - obj.obj.WarningDetails = NewWarningDetails().Msg() + obj.obj.WarningDetails = NewWarningDetails().msg() } if obj.warningDetailsHolder == nil { obj.warningDetailsHolder = &warningDetails{obj: obj.obj.WarningDetails} @@ -5904,7 +6142,7 @@ func (obj *getWarningsResponse) HasWarningDetails() bool { func (obj *getWarningsResponse) SetWarningDetails(value WarningDetails) GetWarningsResponse { obj.warningDetailsHolder = nil - obj.obj.WarningDetails = value.Msg() + obj.obj.WarningDetails = value.msg() return obj } @@ -5928,7 +6166,9 @@ func (obj *getWarningsResponse) setDefault() { // ***** ClearWarningsResponse ***** type clearWarningsResponse struct { validation - obj *openapi.ClearWarningsResponse + obj *openapi.ClearWarningsResponse + marshaller marshalClearWarningsResponse + unMarshaller unMarshalClearWarningsResponse } func NewClearWarningsResponse() ClearWarningsResponse { @@ -5937,26 +6177,70 @@ func NewClearWarningsResponse() ClearWarningsResponse { return &obj } -func (obj *clearWarningsResponse) Msg() *openapi.ClearWarningsResponse { +func (obj *clearWarningsResponse) msg() *openapi.ClearWarningsResponse { return obj.obj } -func (obj *clearWarningsResponse) SetMsg(msg *openapi.ClearWarningsResponse) ClearWarningsResponse { +func (obj *clearWarningsResponse) setMsg(msg *openapi.ClearWarningsResponse) ClearWarningsResponse { proto.Merge(obj.obj, msg) return obj } -func (obj *clearWarningsResponse) ToProto() (*openapi.ClearWarningsResponse, error) { - err := obj.validateToAndFrom() +type marshalclearWarningsResponse struct { + obj *clearWarningsResponse +} + +type marshalClearWarningsResponse interface { + // ToProto marshals ClearWarningsResponse to protobuf object *openapi.ClearWarningsResponse + ToProto() (*openapi.ClearWarningsResponse, error) + // ToPbText marshals ClearWarningsResponse to protobuf text + ToPbText() (string, error) + // ToYaml marshals ClearWarningsResponse to YAML text + ToYaml() (string, error) + // ToJson marshals ClearWarningsResponse to JSON text + ToJson() (string, error) +} + +type unMarshalclearWarningsResponse struct { + obj *clearWarningsResponse +} + +type unMarshalClearWarningsResponse interface { + // FromProto unmarshals ClearWarningsResponse from protobuf object *openapi.ClearWarningsResponse + FromProto(msg *openapi.ClearWarningsResponse) (ClearWarningsResponse, error) + // FromPbText unmarshals ClearWarningsResponse from protobuf text + FromPbText(value string) error + // FromYaml unmarshals ClearWarningsResponse from YAML text + FromYaml(value string) error + // FromJson unmarshals ClearWarningsResponse from JSON text + FromJson(value string) error +} + +func (obj *clearWarningsResponse) Marshal() marshalClearWarningsResponse { + if obj.marshaller == nil { + obj.marshaller = &marshalclearWarningsResponse{obj: obj} + } + return obj.marshaller +} + +func (obj *clearWarningsResponse) Unmarshal() unMarshalClearWarningsResponse { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalclearWarningsResponse{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalclearWarningsResponse) ToProto() (*openapi.ClearWarningsResponse, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *clearWarningsResponse) FromProto(msg *openapi.ClearWarningsResponse) (ClearWarningsResponse, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalclearWarningsResponse) FromProto(msg *openapi.ClearWarningsResponse) (ClearWarningsResponse, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -5964,33 +6248,33 @@ func (obj *clearWarningsResponse) FromProto(msg *openapi.ClearWarningsResponse) return newObj, nil } -func (obj *clearWarningsResponse) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalclearWarningsResponse) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *clearWarningsResponse) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalclearWarningsResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *clearWarningsResponse) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalclearWarningsResponse) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -5999,7 +6283,7 @@ func (obj *clearWarningsResponse) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -6010,7 +6294,7 @@ func (obj *clearWarningsResponse) ToYaml() (string, error) { return string(data), nil } -func (obj *clearWarningsResponse) FromYaml(value string) error { +func (m *unMarshalclearWarningsResponse) FromYaml(value string) error { if value == "" { value = "{}" } @@ -6022,21 +6306,21 @@ func (obj *clearWarningsResponse) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *clearWarningsResponse) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalclearWarningsResponse) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -6046,14 +6330,14 @@ func (obj *clearWarningsResponse) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *clearWarningsResponse) FromJson(value string) error { +func (m *unMarshalclearWarningsResponse) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -6061,13 +6345,13 @@ func (obj *clearWarningsResponse) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - err := obj.validateToAndFrom() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -6080,14 +6364,14 @@ func (obj *clearWarningsResponse) validateToAndFrom() error { return obj.validationResult() } -func (obj *clearWarningsResponse) Validate() error { +func (obj *clearWarningsResponse) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *clearWarningsResponse) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -6095,16 +6379,16 @@ func (obj *clearWarningsResponse) String() string { } func (obj *clearWarningsResponse) Clone() (ClearWarningsResponse, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewClearWarningsResponse() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -6114,30 +6398,18 @@ func (obj *clearWarningsResponse) Clone() (ClearWarningsResponse, error) { // ClearWarningsResponse is description is TBD type ClearWarningsResponse interface { Validation - // Msg marshals ClearWarningsResponse to protobuf object *openapi.ClearWarningsResponse + // msg marshals ClearWarningsResponse to protobuf object *openapi.ClearWarningsResponse // and doesn't set defaults - Msg() *openapi.ClearWarningsResponse - // SetMsg unmarshals ClearWarningsResponse from protobuf object *openapi.ClearWarningsResponse + msg() *openapi.ClearWarningsResponse + // setMsg unmarshals ClearWarningsResponse from protobuf object *openapi.ClearWarningsResponse // and doesn't set defaults - SetMsg(*openapi.ClearWarningsResponse) ClearWarningsResponse - // ToProto marshals ClearWarningsResponse to protobuf object *openapi.ClearWarningsResponse - ToProto() (*openapi.ClearWarningsResponse, error) - // ToPbText marshals ClearWarningsResponse to protobuf text - ToPbText() (string, error) - // ToYaml marshals ClearWarningsResponse to YAML text - ToYaml() (string, error) - // ToJson marshals ClearWarningsResponse to JSON text - ToJson() (string, error) - // FromProto unmarshals ClearWarningsResponse from protobuf object *openapi.ClearWarningsResponse - FromProto(msg *openapi.ClearWarningsResponse) (ClearWarningsResponse, error) - // FromPbText unmarshals ClearWarningsResponse from protobuf text - FromPbText(value string) error - // FromYaml unmarshals ClearWarningsResponse from YAML text - FromYaml(value string) error - // FromJson unmarshals ClearWarningsResponse from JSON text - FromJson(value string) error - // Validate validates ClearWarningsResponse - Validate() error + setMsg(*openapi.ClearWarningsResponse) ClearWarningsResponse + // provides marshal interface + Marshal() marshalClearWarningsResponse + // provides unmarshal interface + Unmarshal() unMarshalClearWarningsResponse + // validate validates ClearWarningsResponse + validate() error // A stringer function String() string // Clones the object @@ -6187,6 +6459,8 @@ func (obj *clearWarningsResponse) setDefault() { type getRootResponseResponse struct { validation obj *openapi.GetRootResponseResponse + marshaller marshalGetRootResponseResponse + unMarshaller unMarshalGetRootResponseResponse commonResponseSuccessHolder CommonResponseSuccess } @@ -6196,26 +6470,70 @@ func NewGetRootResponseResponse() GetRootResponseResponse { return &obj } -func (obj *getRootResponseResponse) Msg() *openapi.GetRootResponseResponse { +func (obj *getRootResponseResponse) msg() *openapi.GetRootResponseResponse { return obj.obj } -func (obj *getRootResponseResponse) SetMsg(msg *openapi.GetRootResponseResponse) GetRootResponseResponse { +func (obj *getRootResponseResponse) setMsg(msg *openapi.GetRootResponseResponse) GetRootResponseResponse { obj.setNil() proto.Merge(obj.obj, msg) return obj } -func (obj *getRootResponseResponse) ToProto() (*openapi.GetRootResponseResponse, error) { - err := obj.validateToAndFrom() +type marshalgetRootResponseResponse struct { + obj *getRootResponseResponse +} + +type marshalGetRootResponseResponse interface { + // ToProto marshals GetRootResponseResponse to protobuf object *openapi.GetRootResponseResponse + ToProto() (*openapi.GetRootResponseResponse, error) + // ToPbText marshals GetRootResponseResponse to protobuf text + ToPbText() (string, error) + // ToYaml marshals GetRootResponseResponse to YAML text + ToYaml() (string, error) + // ToJson marshals GetRootResponseResponse to JSON text + ToJson() (string, error) +} + +type unMarshalgetRootResponseResponse struct { + obj *getRootResponseResponse +} + +type unMarshalGetRootResponseResponse interface { + // FromProto unmarshals GetRootResponseResponse from protobuf object *openapi.GetRootResponseResponse + FromProto(msg *openapi.GetRootResponseResponse) (GetRootResponseResponse, error) + // FromPbText unmarshals GetRootResponseResponse from protobuf text + FromPbText(value string) error + // FromYaml unmarshals GetRootResponseResponse from YAML text + FromYaml(value string) error + // FromJson unmarshals GetRootResponseResponse from JSON text + FromJson(value string) error +} + +func (obj *getRootResponseResponse) Marshal() marshalGetRootResponseResponse { + if obj.marshaller == nil { + obj.marshaller = &marshalgetRootResponseResponse{obj: obj} + } + return obj.marshaller +} + +func (obj *getRootResponseResponse) Unmarshal() unMarshalGetRootResponseResponse { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalgetRootResponseResponse{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalgetRootResponseResponse) ToProto() (*openapi.GetRootResponseResponse, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *getRootResponseResponse) FromProto(msg *openapi.GetRootResponseResponse) (GetRootResponseResponse, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalgetRootResponseResponse) FromProto(msg *openapi.GetRootResponseResponse) (GetRootResponseResponse, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -6223,33 +6541,33 @@ func (obj *getRootResponseResponse) FromProto(msg *openapi.GetRootResponseRespon return newObj, nil } -func (obj *getRootResponseResponse) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalgetRootResponseResponse) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *getRootResponseResponse) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalgetRootResponseResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *getRootResponseResponse) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalgetRootResponseResponse) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -6258,7 +6576,7 @@ func (obj *getRootResponseResponse) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -6269,7 +6587,7 @@ func (obj *getRootResponseResponse) ToYaml() (string, error) { return string(data), nil } -func (obj *getRootResponseResponse) FromYaml(value string) error { +func (m *unMarshalgetRootResponseResponse) FromYaml(value string) error { if value == "" { value = "{}" } @@ -6281,21 +6599,21 @@ func (obj *getRootResponseResponse) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *getRootResponseResponse) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalgetRootResponseResponse) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -6305,14 +6623,14 @@ func (obj *getRootResponseResponse) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *getRootResponseResponse) FromJson(value string) error { +func (m *unMarshalgetRootResponseResponse) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -6320,13 +6638,13 @@ func (obj *getRootResponseResponse) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - err := obj.validateToAndFrom() + m.obj.setNil() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -6339,14 +6657,14 @@ func (obj *getRootResponseResponse) validateToAndFrom() error { return obj.validationResult() } -func (obj *getRootResponseResponse) Validate() error { +func (obj *getRootResponseResponse) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *getRootResponseResponse) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -6354,16 +6672,16 @@ func (obj *getRootResponseResponse) String() string { } func (obj *getRootResponseResponse) Clone() (GetRootResponseResponse, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewGetRootResponseResponse() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -6380,30 +6698,18 @@ func (obj *getRootResponseResponse) setNil() { // GetRootResponseResponse is description is TBD type GetRootResponseResponse interface { Validation - // Msg marshals GetRootResponseResponse to protobuf object *openapi.GetRootResponseResponse + // msg marshals GetRootResponseResponse to protobuf object *openapi.GetRootResponseResponse // and doesn't set defaults - Msg() *openapi.GetRootResponseResponse - // SetMsg unmarshals GetRootResponseResponse from protobuf object *openapi.GetRootResponseResponse + msg() *openapi.GetRootResponseResponse + // setMsg unmarshals GetRootResponseResponse from protobuf object *openapi.GetRootResponseResponse // and doesn't set defaults - SetMsg(*openapi.GetRootResponseResponse) GetRootResponseResponse - // ToProto marshals GetRootResponseResponse to protobuf object *openapi.GetRootResponseResponse - ToProto() (*openapi.GetRootResponseResponse, error) - // ToPbText marshals GetRootResponseResponse to protobuf text - ToPbText() (string, error) - // ToYaml marshals GetRootResponseResponse to YAML text - ToYaml() (string, error) - // ToJson marshals GetRootResponseResponse to JSON text - ToJson() (string, error) - // FromProto unmarshals GetRootResponseResponse from protobuf object *openapi.GetRootResponseResponse - FromProto(msg *openapi.GetRootResponseResponse) (GetRootResponseResponse, error) - // FromPbText unmarshals GetRootResponseResponse from protobuf text - FromPbText(value string) error - // FromYaml unmarshals GetRootResponseResponse from YAML text - FromYaml(value string) error - // FromJson unmarshals GetRootResponseResponse from JSON text - FromJson(value string) error - // Validate validates GetRootResponseResponse - Validate() error + setMsg(*openapi.GetRootResponseResponse) GetRootResponseResponse + // provides marshal interface + Marshal() marshalGetRootResponseResponse + // provides unmarshal interface + Unmarshal() unMarshalGetRootResponseResponse + // validate validates GetRootResponseResponse + validate() error // A stringer function String() string // Clones the object @@ -6426,7 +6732,7 @@ type GetRootResponseResponse interface { // CommonResponseSuccess returns a CommonResponseSuccess func (obj *getRootResponseResponse) CommonResponseSuccess() CommonResponseSuccess { if obj.obj.CommonResponseSuccess == nil { - obj.obj.CommonResponseSuccess = NewCommonResponseSuccess().Msg() + obj.obj.CommonResponseSuccess = NewCommonResponseSuccess().msg() } if obj.commonResponseSuccessHolder == nil { obj.commonResponseSuccessHolder = &commonResponseSuccess{obj: obj.obj.CommonResponseSuccess} @@ -6445,7 +6751,7 @@ func (obj *getRootResponseResponse) HasCommonResponseSuccess() bool { func (obj *getRootResponseResponse) SetCommonResponseSuccess(value CommonResponseSuccess) GetRootResponseResponse { obj.commonResponseSuccessHolder = nil - obj.obj.CommonResponseSuccess = value.Msg() + obj.obj.CommonResponseSuccess = value.msg() return obj } @@ -6469,7 +6775,9 @@ func (obj *getRootResponseResponse) setDefault() { // ***** DummyResponseTestResponse ***** type dummyResponseTestResponse struct { validation - obj *openapi.DummyResponseTestResponse + obj *openapi.DummyResponseTestResponse + marshaller marshalDummyResponseTestResponse + unMarshaller unMarshalDummyResponseTestResponse } func NewDummyResponseTestResponse() DummyResponseTestResponse { @@ -6478,26 +6786,70 @@ func NewDummyResponseTestResponse() DummyResponseTestResponse { return &obj } -func (obj *dummyResponseTestResponse) Msg() *openapi.DummyResponseTestResponse { - return obj.obj +func (obj *dummyResponseTestResponse) msg() *openapi.DummyResponseTestResponse { + return obj.obj +} + +func (obj *dummyResponseTestResponse) setMsg(msg *openapi.DummyResponseTestResponse) DummyResponseTestResponse { + + proto.Merge(obj.obj, msg) + return obj +} + +type marshaldummyResponseTestResponse struct { + obj *dummyResponseTestResponse +} + +type marshalDummyResponseTestResponse interface { + // ToProto marshals DummyResponseTestResponse to protobuf object *openapi.DummyResponseTestResponse + ToProto() (*openapi.DummyResponseTestResponse, error) + // ToPbText marshals DummyResponseTestResponse to protobuf text + ToPbText() (string, error) + // ToYaml marshals DummyResponseTestResponse to YAML text + ToYaml() (string, error) + // ToJson marshals DummyResponseTestResponse to JSON text + ToJson() (string, error) +} + +type unMarshaldummyResponseTestResponse struct { + obj *dummyResponseTestResponse +} + +type unMarshalDummyResponseTestResponse interface { + // FromProto unmarshals DummyResponseTestResponse from protobuf object *openapi.DummyResponseTestResponse + FromProto(msg *openapi.DummyResponseTestResponse) (DummyResponseTestResponse, error) + // FromPbText unmarshals DummyResponseTestResponse from protobuf text + FromPbText(value string) error + // FromYaml unmarshals DummyResponseTestResponse from YAML text + FromYaml(value string) error + // FromJson unmarshals DummyResponseTestResponse from JSON text + FromJson(value string) error +} + +func (obj *dummyResponseTestResponse) Marshal() marshalDummyResponseTestResponse { + if obj.marshaller == nil { + obj.marshaller = &marshaldummyResponseTestResponse{obj: obj} + } + return obj.marshaller } -func (obj *dummyResponseTestResponse) SetMsg(msg *openapi.DummyResponseTestResponse) DummyResponseTestResponse { - - proto.Merge(obj.obj, msg) - return obj +func (obj *dummyResponseTestResponse) Unmarshal() unMarshalDummyResponseTestResponse { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshaldummyResponseTestResponse{obj: obj} + } + return obj.unMarshaller } -func (obj *dummyResponseTestResponse) ToProto() (*openapi.DummyResponseTestResponse, error) { - err := obj.validateToAndFrom() +func (m *marshaldummyResponseTestResponse) ToProto() (*openapi.DummyResponseTestResponse, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *dummyResponseTestResponse) FromProto(msg *openapi.DummyResponseTestResponse) (DummyResponseTestResponse, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshaldummyResponseTestResponse) FromProto(msg *openapi.DummyResponseTestResponse) (DummyResponseTestResponse, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -6505,33 +6857,33 @@ func (obj *dummyResponseTestResponse) FromProto(msg *openapi.DummyResponseTestRe return newObj, nil } -func (obj *dummyResponseTestResponse) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshaldummyResponseTestResponse) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *dummyResponseTestResponse) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshaldummyResponseTestResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *dummyResponseTestResponse) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshaldummyResponseTestResponse) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -6540,7 +6892,7 @@ func (obj *dummyResponseTestResponse) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -6551,7 +6903,7 @@ func (obj *dummyResponseTestResponse) ToYaml() (string, error) { return string(data), nil } -func (obj *dummyResponseTestResponse) FromYaml(value string) error { +func (m *unMarshaldummyResponseTestResponse) FromYaml(value string) error { if value == "" { value = "{}" } @@ -6563,21 +6915,21 @@ func (obj *dummyResponseTestResponse) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *dummyResponseTestResponse) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshaldummyResponseTestResponse) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -6587,14 +6939,14 @@ func (obj *dummyResponseTestResponse) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *dummyResponseTestResponse) FromJson(value string) error { +func (m *unMarshaldummyResponseTestResponse) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -6602,13 +6954,13 @@ func (obj *dummyResponseTestResponse) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - err := obj.validateToAndFrom() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -6621,14 +6973,14 @@ func (obj *dummyResponseTestResponse) validateToAndFrom() error { return obj.validationResult() } -func (obj *dummyResponseTestResponse) Validate() error { +func (obj *dummyResponseTestResponse) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *dummyResponseTestResponse) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -6636,16 +6988,16 @@ func (obj *dummyResponseTestResponse) String() string { } func (obj *dummyResponseTestResponse) Clone() (DummyResponseTestResponse, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewDummyResponseTestResponse() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -6655,30 +7007,18 @@ func (obj *dummyResponseTestResponse) Clone() (DummyResponseTestResponse, error) // DummyResponseTestResponse is description is TBD type DummyResponseTestResponse interface { Validation - // Msg marshals DummyResponseTestResponse to protobuf object *openapi.DummyResponseTestResponse + // msg marshals DummyResponseTestResponse to protobuf object *openapi.DummyResponseTestResponse // and doesn't set defaults - Msg() *openapi.DummyResponseTestResponse - // SetMsg unmarshals DummyResponseTestResponse from protobuf object *openapi.DummyResponseTestResponse + msg() *openapi.DummyResponseTestResponse + // setMsg unmarshals DummyResponseTestResponse from protobuf object *openapi.DummyResponseTestResponse // and doesn't set defaults - SetMsg(*openapi.DummyResponseTestResponse) DummyResponseTestResponse - // ToProto marshals DummyResponseTestResponse to protobuf object *openapi.DummyResponseTestResponse - ToProto() (*openapi.DummyResponseTestResponse, error) - // ToPbText marshals DummyResponseTestResponse to protobuf text - ToPbText() (string, error) - // ToYaml marshals DummyResponseTestResponse to YAML text - ToYaml() (string, error) - // ToJson marshals DummyResponseTestResponse to JSON text - ToJson() (string, error) - // FromProto unmarshals DummyResponseTestResponse from protobuf object *openapi.DummyResponseTestResponse - FromProto(msg *openapi.DummyResponseTestResponse) (DummyResponseTestResponse, error) - // FromPbText unmarshals DummyResponseTestResponse from protobuf text - FromPbText(value string) error - // FromYaml unmarshals DummyResponseTestResponse from YAML text - FromYaml(value string) error - // FromJson unmarshals DummyResponseTestResponse from JSON text - FromJson(value string) error - // Validate validates DummyResponseTestResponse - Validate() error + setMsg(*openapi.DummyResponseTestResponse) DummyResponseTestResponse + // provides marshal interface + Marshal() marshalDummyResponseTestResponse + // provides unmarshal interface + Unmarshal() unMarshalDummyResponseTestResponse + // validate validates DummyResponseTestResponse + validate() error // A stringer function String() string // Clones the object @@ -6728,6 +7068,8 @@ func (obj *dummyResponseTestResponse) setDefault() { type postRootResponseResponse struct { validation obj *openapi.PostRootResponseResponse + marshaller marshalPostRootResponseResponse + unMarshaller unMarshalPostRootResponseResponse commonResponseSuccessHolder CommonResponseSuccess } @@ -6737,26 +7079,70 @@ func NewPostRootResponseResponse() PostRootResponseResponse { return &obj } -func (obj *postRootResponseResponse) Msg() *openapi.PostRootResponseResponse { +func (obj *postRootResponseResponse) msg() *openapi.PostRootResponseResponse { return obj.obj } -func (obj *postRootResponseResponse) SetMsg(msg *openapi.PostRootResponseResponse) PostRootResponseResponse { +func (obj *postRootResponseResponse) setMsg(msg *openapi.PostRootResponseResponse) PostRootResponseResponse { obj.setNil() proto.Merge(obj.obj, msg) return obj } -func (obj *postRootResponseResponse) ToProto() (*openapi.PostRootResponseResponse, error) { - err := obj.validateToAndFrom() +type marshalpostRootResponseResponse struct { + obj *postRootResponseResponse +} + +type marshalPostRootResponseResponse interface { + // ToProto marshals PostRootResponseResponse to protobuf object *openapi.PostRootResponseResponse + ToProto() (*openapi.PostRootResponseResponse, error) + // ToPbText marshals PostRootResponseResponse to protobuf text + ToPbText() (string, error) + // ToYaml marshals PostRootResponseResponse to YAML text + ToYaml() (string, error) + // ToJson marshals PostRootResponseResponse to JSON text + ToJson() (string, error) +} + +type unMarshalpostRootResponseResponse struct { + obj *postRootResponseResponse +} + +type unMarshalPostRootResponseResponse interface { + // FromProto unmarshals PostRootResponseResponse from protobuf object *openapi.PostRootResponseResponse + FromProto(msg *openapi.PostRootResponseResponse) (PostRootResponseResponse, error) + // FromPbText unmarshals PostRootResponseResponse from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PostRootResponseResponse from YAML text + FromYaml(value string) error + // FromJson unmarshals PostRootResponseResponse from JSON text + FromJson(value string) error +} + +func (obj *postRootResponseResponse) Marshal() marshalPostRootResponseResponse { + if obj.marshaller == nil { + obj.marshaller = &marshalpostRootResponseResponse{obj: obj} + } + return obj.marshaller +} + +func (obj *postRootResponseResponse) Unmarshal() unMarshalPostRootResponseResponse { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalpostRootResponseResponse{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalpostRootResponseResponse) ToProto() (*openapi.PostRootResponseResponse, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *postRootResponseResponse) FromProto(msg *openapi.PostRootResponseResponse) (PostRootResponseResponse, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalpostRootResponseResponse) FromProto(msg *openapi.PostRootResponseResponse) (PostRootResponseResponse, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -6764,33 +7150,33 @@ func (obj *postRootResponseResponse) FromProto(msg *openapi.PostRootResponseResp return newObj, nil } -func (obj *postRootResponseResponse) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpostRootResponseResponse) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *postRootResponseResponse) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalpostRootResponseResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *postRootResponseResponse) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpostRootResponseResponse) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -6799,7 +7185,7 @@ func (obj *postRootResponseResponse) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -6810,7 +7196,7 @@ func (obj *postRootResponseResponse) ToYaml() (string, error) { return string(data), nil } -func (obj *postRootResponseResponse) FromYaml(value string) error { +func (m *unMarshalpostRootResponseResponse) FromYaml(value string) error { if value == "" { value = "{}" } @@ -6822,21 +7208,21 @@ func (obj *postRootResponseResponse) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *postRootResponseResponse) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpostRootResponseResponse) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -6846,14 +7232,14 @@ func (obj *postRootResponseResponse) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *postRootResponseResponse) FromJson(value string) error { +func (m *unMarshalpostRootResponseResponse) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -6861,13 +7247,13 @@ func (obj *postRootResponseResponse) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - err := obj.validateToAndFrom() + m.obj.setNil() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -6880,14 +7266,14 @@ func (obj *postRootResponseResponse) validateToAndFrom() error { return obj.validationResult() } -func (obj *postRootResponseResponse) Validate() error { +func (obj *postRootResponseResponse) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *postRootResponseResponse) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -6895,16 +7281,16 @@ func (obj *postRootResponseResponse) String() string { } func (obj *postRootResponseResponse) Clone() (PostRootResponseResponse, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewPostRootResponseResponse() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -6921,30 +7307,18 @@ func (obj *postRootResponseResponse) setNil() { // PostRootResponseResponse is description is TBD type PostRootResponseResponse interface { Validation - // Msg marshals PostRootResponseResponse to protobuf object *openapi.PostRootResponseResponse + // msg marshals PostRootResponseResponse to protobuf object *openapi.PostRootResponseResponse // and doesn't set defaults - Msg() *openapi.PostRootResponseResponse - // SetMsg unmarshals PostRootResponseResponse from protobuf object *openapi.PostRootResponseResponse + msg() *openapi.PostRootResponseResponse + // setMsg unmarshals PostRootResponseResponse from protobuf object *openapi.PostRootResponseResponse // and doesn't set defaults - SetMsg(*openapi.PostRootResponseResponse) PostRootResponseResponse - // ToProto marshals PostRootResponseResponse to protobuf object *openapi.PostRootResponseResponse - ToProto() (*openapi.PostRootResponseResponse, error) - // ToPbText marshals PostRootResponseResponse to protobuf text - ToPbText() (string, error) - // ToYaml marshals PostRootResponseResponse to YAML text - ToYaml() (string, error) - // ToJson marshals PostRootResponseResponse to JSON text - ToJson() (string, error) - // FromProto unmarshals PostRootResponseResponse from protobuf object *openapi.PostRootResponseResponse - FromProto(msg *openapi.PostRootResponseResponse) (PostRootResponseResponse, error) - // FromPbText unmarshals PostRootResponseResponse from protobuf text - FromPbText(value string) error - // FromYaml unmarshals PostRootResponseResponse from YAML text - FromYaml(value string) error - // FromJson unmarshals PostRootResponseResponse from JSON text - FromJson(value string) error - // Validate validates PostRootResponseResponse - Validate() error + setMsg(*openapi.PostRootResponseResponse) PostRootResponseResponse + // provides marshal interface + Marshal() marshalPostRootResponseResponse + // provides unmarshal interface + Unmarshal() unMarshalPostRootResponseResponse + // validate validates PostRootResponseResponse + validate() error // A stringer function String() string // Clones the object @@ -6967,7 +7341,7 @@ type PostRootResponseResponse interface { // CommonResponseSuccess returns a CommonResponseSuccess func (obj *postRootResponseResponse) CommonResponseSuccess() CommonResponseSuccess { if obj.obj.CommonResponseSuccess == nil { - obj.obj.CommonResponseSuccess = NewCommonResponseSuccess().Msg() + obj.obj.CommonResponseSuccess = NewCommonResponseSuccess().msg() } if obj.commonResponseSuccessHolder == nil { obj.commonResponseSuccessHolder = &commonResponseSuccess{obj: obj.obj.CommonResponseSuccess} @@ -6986,7 +7360,7 @@ func (obj *postRootResponseResponse) HasCommonResponseSuccess() bool { func (obj *postRootResponseResponse) SetCommonResponseSuccess(value CommonResponseSuccess) PostRootResponseResponse { obj.commonResponseSuccessHolder = nil - obj.obj.CommonResponseSuccess = value.Msg() + obj.obj.CommonResponseSuccess = value.msg() return obj } @@ -7011,6 +7385,8 @@ func (obj *postRootResponseResponse) setDefault() { type getAllItemsResponse struct { validation obj *openapi.GetAllItemsResponse + marshaller marshalGetAllItemsResponse + unMarshaller unMarshalGetAllItemsResponse serviceAbcItemListHolder ServiceAbcItemList } @@ -7020,26 +7396,70 @@ func NewGetAllItemsResponse() GetAllItemsResponse { return &obj } -func (obj *getAllItemsResponse) Msg() *openapi.GetAllItemsResponse { +func (obj *getAllItemsResponse) msg() *openapi.GetAllItemsResponse { return obj.obj } -func (obj *getAllItemsResponse) SetMsg(msg *openapi.GetAllItemsResponse) GetAllItemsResponse { +func (obj *getAllItemsResponse) setMsg(msg *openapi.GetAllItemsResponse) GetAllItemsResponse { obj.setNil() proto.Merge(obj.obj, msg) return obj } -func (obj *getAllItemsResponse) ToProto() (*openapi.GetAllItemsResponse, error) { - err := obj.validateToAndFrom() +type marshalgetAllItemsResponse struct { + obj *getAllItemsResponse +} + +type marshalGetAllItemsResponse interface { + // ToProto marshals GetAllItemsResponse to protobuf object *openapi.GetAllItemsResponse + ToProto() (*openapi.GetAllItemsResponse, error) + // ToPbText marshals GetAllItemsResponse to protobuf text + ToPbText() (string, error) + // ToYaml marshals GetAllItemsResponse to YAML text + ToYaml() (string, error) + // ToJson marshals GetAllItemsResponse to JSON text + ToJson() (string, error) +} + +type unMarshalgetAllItemsResponse struct { + obj *getAllItemsResponse +} + +type unMarshalGetAllItemsResponse interface { + // FromProto unmarshals GetAllItemsResponse from protobuf object *openapi.GetAllItemsResponse + FromProto(msg *openapi.GetAllItemsResponse) (GetAllItemsResponse, error) + // FromPbText unmarshals GetAllItemsResponse from protobuf text + FromPbText(value string) error + // FromYaml unmarshals GetAllItemsResponse from YAML text + FromYaml(value string) error + // FromJson unmarshals GetAllItemsResponse from JSON text + FromJson(value string) error +} + +func (obj *getAllItemsResponse) Marshal() marshalGetAllItemsResponse { + if obj.marshaller == nil { + obj.marshaller = &marshalgetAllItemsResponse{obj: obj} + } + return obj.marshaller +} + +func (obj *getAllItemsResponse) Unmarshal() unMarshalGetAllItemsResponse { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalgetAllItemsResponse{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalgetAllItemsResponse) ToProto() (*openapi.GetAllItemsResponse, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *getAllItemsResponse) FromProto(msg *openapi.GetAllItemsResponse) (GetAllItemsResponse, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalgetAllItemsResponse) FromProto(msg *openapi.GetAllItemsResponse) (GetAllItemsResponse, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -7047,33 +7467,33 @@ func (obj *getAllItemsResponse) FromProto(msg *openapi.GetAllItemsResponse) (Get return newObj, nil } -func (obj *getAllItemsResponse) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalgetAllItemsResponse) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *getAllItemsResponse) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalgetAllItemsResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *getAllItemsResponse) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalgetAllItemsResponse) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -7082,7 +7502,7 @@ func (obj *getAllItemsResponse) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -7093,7 +7513,7 @@ func (obj *getAllItemsResponse) ToYaml() (string, error) { return string(data), nil } -func (obj *getAllItemsResponse) FromYaml(value string) error { +func (m *unMarshalgetAllItemsResponse) FromYaml(value string) error { if value == "" { value = "{}" } @@ -7105,21 +7525,21 @@ func (obj *getAllItemsResponse) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *getAllItemsResponse) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalgetAllItemsResponse) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -7129,14 +7549,14 @@ func (obj *getAllItemsResponse) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *getAllItemsResponse) FromJson(value string) error { +func (m *unMarshalgetAllItemsResponse) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -7144,13 +7564,13 @@ func (obj *getAllItemsResponse) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - err := obj.validateToAndFrom() + m.obj.setNil() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -7163,14 +7583,14 @@ func (obj *getAllItemsResponse) validateToAndFrom() error { return obj.validationResult() } -func (obj *getAllItemsResponse) Validate() error { +func (obj *getAllItemsResponse) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *getAllItemsResponse) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -7178,16 +7598,16 @@ func (obj *getAllItemsResponse) String() string { } func (obj *getAllItemsResponse) Clone() (GetAllItemsResponse, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewGetAllItemsResponse() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -7204,30 +7624,18 @@ func (obj *getAllItemsResponse) setNil() { // GetAllItemsResponse is description is TBD type GetAllItemsResponse interface { Validation - // Msg marshals GetAllItemsResponse to protobuf object *openapi.GetAllItemsResponse + // msg marshals GetAllItemsResponse to protobuf object *openapi.GetAllItemsResponse // and doesn't set defaults - Msg() *openapi.GetAllItemsResponse - // SetMsg unmarshals GetAllItemsResponse from protobuf object *openapi.GetAllItemsResponse + msg() *openapi.GetAllItemsResponse + // setMsg unmarshals GetAllItemsResponse from protobuf object *openapi.GetAllItemsResponse // and doesn't set defaults - SetMsg(*openapi.GetAllItemsResponse) GetAllItemsResponse - // ToProto marshals GetAllItemsResponse to protobuf object *openapi.GetAllItemsResponse - ToProto() (*openapi.GetAllItemsResponse, error) - // ToPbText marshals GetAllItemsResponse to protobuf text - ToPbText() (string, error) - // ToYaml marshals GetAllItemsResponse to YAML text - ToYaml() (string, error) - // ToJson marshals GetAllItemsResponse to JSON text - ToJson() (string, error) - // FromProto unmarshals GetAllItemsResponse from protobuf object *openapi.GetAllItemsResponse - FromProto(msg *openapi.GetAllItemsResponse) (GetAllItemsResponse, error) - // FromPbText unmarshals GetAllItemsResponse from protobuf text - FromPbText(value string) error - // FromYaml unmarshals GetAllItemsResponse from YAML text - FromYaml(value string) error - // FromJson unmarshals GetAllItemsResponse from JSON text - FromJson(value string) error - // Validate validates GetAllItemsResponse - Validate() error + setMsg(*openapi.GetAllItemsResponse) GetAllItemsResponse + // provides marshal interface + Marshal() marshalGetAllItemsResponse + // provides unmarshal interface + Unmarshal() unMarshalGetAllItemsResponse + // validate validates GetAllItemsResponse + validate() error // A stringer function String() string // Clones the object @@ -7250,7 +7658,7 @@ type GetAllItemsResponse interface { // ServiceAbcItemList returns a ServiceAbcItemList func (obj *getAllItemsResponse) ServiceAbcItemList() ServiceAbcItemList { if obj.obj.ServiceAbcItemList == nil { - obj.obj.ServiceAbcItemList = NewServiceAbcItemList().Msg() + obj.obj.ServiceAbcItemList = NewServiceAbcItemList().msg() } if obj.serviceAbcItemListHolder == nil { obj.serviceAbcItemListHolder = &serviceAbcItemList{obj: obj.obj.ServiceAbcItemList} @@ -7269,7 +7677,7 @@ func (obj *getAllItemsResponse) HasServiceAbcItemList() bool { func (obj *getAllItemsResponse) SetServiceAbcItemList(value ServiceAbcItemList) GetAllItemsResponse { obj.serviceAbcItemListHolder = nil - obj.obj.ServiceAbcItemList = value.Msg() + obj.obj.ServiceAbcItemList = value.msg() return obj } @@ -7294,6 +7702,8 @@ func (obj *getAllItemsResponse) setDefault() { type getSingleItemResponse struct { validation obj *openapi.GetSingleItemResponse + marshaller marshalGetSingleItemResponse + unMarshaller unMarshalGetSingleItemResponse serviceAbcItemHolder ServiceAbcItem } @@ -7303,26 +7713,70 @@ func NewGetSingleItemResponse() GetSingleItemResponse { return &obj } -func (obj *getSingleItemResponse) Msg() *openapi.GetSingleItemResponse { +func (obj *getSingleItemResponse) msg() *openapi.GetSingleItemResponse { return obj.obj } -func (obj *getSingleItemResponse) SetMsg(msg *openapi.GetSingleItemResponse) GetSingleItemResponse { +func (obj *getSingleItemResponse) setMsg(msg *openapi.GetSingleItemResponse) GetSingleItemResponse { obj.setNil() proto.Merge(obj.obj, msg) return obj } -func (obj *getSingleItemResponse) ToProto() (*openapi.GetSingleItemResponse, error) { - err := obj.validateToAndFrom() +type marshalgetSingleItemResponse struct { + obj *getSingleItemResponse +} + +type marshalGetSingleItemResponse interface { + // ToProto marshals GetSingleItemResponse to protobuf object *openapi.GetSingleItemResponse + ToProto() (*openapi.GetSingleItemResponse, error) + // ToPbText marshals GetSingleItemResponse to protobuf text + ToPbText() (string, error) + // ToYaml marshals GetSingleItemResponse to YAML text + ToYaml() (string, error) + // ToJson marshals GetSingleItemResponse to JSON text + ToJson() (string, error) +} + +type unMarshalgetSingleItemResponse struct { + obj *getSingleItemResponse +} + +type unMarshalGetSingleItemResponse interface { + // FromProto unmarshals GetSingleItemResponse from protobuf object *openapi.GetSingleItemResponse + FromProto(msg *openapi.GetSingleItemResponse) (GetSingleItemResponse, error) + // FromPbText unmarshals GetSingleItemResponse from protobuf text + FromPbText(value string) error + // FromYaml unmarshals GetSingleItemResponse from YAML text + FromYaml(value string) error + // FromJson unmarshals GetSingleItemResponse from JSON text + FromJson(value string) error +} + +func (obj *getSingleItemResponse) Marshal() marshalGetSingleItemResponse { + if obj.marshaller == nil { + obj.marshaller = &marshalgetSingleItemResponse{obj: obj} + } + return obj.marshaller +} + +func (obj *getSingleItemResponse) Unmarshal() unMarshalGetSingleItemResponse { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalgetSingleItemResponse{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalgetSingleItemResponse) ToProto() (*openapi.GetSingleItemResponse, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *getSingleItemResponse) FromProto(msg *openapi.GetSingleItemResponse) (GetSingleItemResponse, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalgetSingleItemResponse) FromProto(msg *openapi.GetSingleItemResponse) (GetSingleItemResponse, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -7330,33 +7784,33 @@ func (obj *getSingleItemResponse) FromProto(msg *openapi.GetSingleItemResponse) return newObj, nil } -func (obj *getSingleItemResponse) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalgetSingleItemResponse) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *getSingleItemResponse) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalgetSingleItemResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *getSingleItemResponse) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalgetSingleItemResponse) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -7365,7 +7819,7 @@ func (obj *getSingleItemResponse) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -7376,7 +7830,7 @@ func (obj *getSingleItemResponse) ToYaml() (string, error) { return string(data), nil } -func (obj *getSingleItemResponse) FromYaml(value string) error { +func (m *unMarshalgetSingleItemResponse) FromYaml(value string) error { if value == "" { value = "{}" } @@ -7388,21 +7842,21 @@ func (obj *getSingleItemResponse) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *getSingleItemResponse) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalgetSingleItemResponse) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -7412,14 +7866,14 @@ func (obj *getSingleItemResponse) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *getSingleItemResponse) FromJson(value string) error { +func (m *unMarshalgetSingleItemResponse) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -7427,13 +7881,13 @@ func (obj *getSingleItemResponse) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - err := obj.validateToAndFrom() + m.obj.setNil() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -7446,14 +7900,14 @@ func (obj *getSingleItemResponse) validateToAndFrom() error { return obj.validationResult() } -func (obj *getSingleItemResponse) Validate() error { +func (obj *getSingleItemResponse) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *getSingleItemResponse) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -7461,16 +7915,16 @@ func (obj *getSingleItemResponse) String() string { } func (obj *getSingleItemResponse) Clone() (GetSingleItemResponse, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewGetSingleItemResponse() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -7487,30 +7941,18 @@ func (obj *getSingleItemResponse) setNil() { // GetSingleItemResponse is description is TBD type GetSingleItemResponse interface { Validation - // Msg marshals GetSingleItemResponse to protobuf object *openapi.GetSingleItemResponse + // msg marshals GetSingleItemResponse to protobuf object *openapi.GetSingleItemResponse // and doesn't set defaults - Msg() *openapi.GetSingleItemResponse - // SetMsg unmarshals GetSingleItemResponse from protobuf object *openapi.GetSingleItemResponse + msg() *openapi.GetSingleItemResponse + // setMsg unmarshals GetSingleItemResponse from protobuf object *openapi.GetSingleItemResponse // and doesn't set defaults - SetMsg(*openapi.GetSingleItemResponse) GetSingleItemResponse - // ToProto marshals GetSingleItemResponse to protobuf object *openapi.GetSingleItemResponse - ToProto() (*openapi.GetSingleItemResponse, error) - // ToPbText marshals GetSingleItemResponse to protobuf text - ToPbText() (string, error) - // ToYaml marshals GetSingleItemResponse to YAML text - ToYaml() (string, error) - // ToJson marshals GetSingleItemResponse to JSON text - ToJson() (string, error) - // FromProto unmarshals GetSingleItemResponse from protobuf object *openapi.GetSingleItemResponse - FromProto(msg *openapi.GetSingleItemResponse) (GetSingleItemResponse, error) - // FromPbText unmarshals GetSingleItemResponse from protobuf text - FromPbText(value string) error - // FromYaml unmarshals GetSingleItemResponse from YAML text - FromYaml(value string) error - // FromJson unmarshals GetSingleItemResponse from JSON text - FromJson(value string) error - // Validate validates GetSingleItemResponse - Validate() error + setMsg(*openapi.GetSingleItemResponse) GetSingleItemResponse + // provides marshal interface + Marshal() marshalGetSingleItemResponse + // provides unmarshal interface + Unmarshal() unMarshalGetSingleItemResponse + // validate validates GetSingleItemResponse + validate() error // A stringer function String() string // Clones the object @@ -7533,7 +7975,7 @@ type GetSingleItemResponse interface { // ServiceAbcItem returns a ServiceAbcItem func (obj *getSingleItemResponse) ServiceAbcItem() ServiceAbcItem { if obj.obj.ServiceAbcItem == nil { - obj.obj.ServiceAbcItem = NewServiceAbcItem().Msg() + obj.obj.ServiceAbcItem = NewServiceAbcItem().msg() } if obj.serviceAbcItemHolder == nil { obj.serviceAbcItemHolder = &serviceAbcItem{obj: obj.obj.ServiceAbcItem} @@ -7552,7 +7994,7 @@ func (obj *getSingleItemResponse) HasServiceAbcItem() bool { func (obj *getSingleItemResponse) SetServiceAbcItem(value ServiceAbcItem) GetSingleItemResponse { obj.serviceAbcItemHolder = nil - obj.obj.ServiceAbcItem = value.Msg() + obj.obj.ServiceAbcItem = value.msg() return obj } @@ -7577,6 +8019,8 @@ func (obj *getSingleItemResponse) setDefault() { type getSingleItemLevel2Response struct { validation obj *openapi.GetSingleItemLevel2Response + marshaller marshalGetSingleItemLevel2Response + unMarshaller unMarshalGetSingleItemLevel2Response serviceAbcItemHolder ServiceAbcItem } @@ -7586,26 +8030,70 @@ func NewGetSingleItemLevel2Response() GetSingleItemLevel2Response { return &obj } -func (obj *getSingleItemLevel2Response) Msg() *openapi.GetSingleItemLevel2Response { +func (obj *getSingleItemLevel2Response) msg() *openapi.GetSingleItemLevel2Response { return obj.obj } -func (obj *getSingleItemLevel2Response) SetMsg(msg *openapi.GetSingleItemLevel2Response) GetSingleItemLevel2Response { +func (obj *getSingleItemLevel2Response) setMsg(msg *openapi.GetSingleItemLevel2Response) GetSingleItemLevel2Response { obj.setNil() proto.Merge(obj.obj, msg) return obj } -func (obj *getSingleItemLevel2Response) ToProto() (*openapi.GetSingleItemLevel2Response, error) { - err := obj.validateToAndFrom() +type marshalgetSingleItemLevel2Response struct { + obj *getSingleItemLevel2Response +} + +type marshalGetSingleItemLevel2Response interface { + // ToProto marshals GetSingleItemLevel2Response to protobuf object *openapi.GetSingleItemLevel2Response + ToProto() (*openapi.GetSingleItemLevel2Response, error) + // ToPbText marshals GetSingleItemLevel2Response to protobuf text + ToPbText() (string, error) + // ToYaml marshals GetSingleItemLevel2Response to YAML text + ToYaml() (string, error) + // ToJson marshals GetSingleItemLevel2Response to JSON text + ToJson() (string, error) +} + +type unMarshalgetSingleItemLevel2Response struct { + obj *getSingleItemLevel2Response +} + +type unMarshalGetSingleItemLevel2Response interface { + // FromProto unmarshals GetSingleItemLevel2Response from protobuf object *openapi.GetSingleItemLevel2Response + FromProto(msg *openapi.GetSingleItemLevel2Response) (GetSingleItemLevel2Response, error) + // FromPbText unmarshals GetSingleItemLevel2Response from protobuf text + FromPbText(value string) error + // FromYaml unmarshals GetSingleItemLevel2Response from YAML text + FromYaml(value string) error + // FromJson unmarshals GetSingleItemLevel2Response from JSON text + FromJson(value string) error +} + +func (obj *getSingleItemLevel2Response) Marshal() marshalGetSingleItemLevel2Response { + if obj.marshaller == nil { + obj.marshaller = &marshalgetSingleItemLevel2Response{obj: obj} + } + return obj.marshaller +} + +func (obj *getSingleItemLevel2Response) Unmarshal() unMarshalGetSingleItemLevel2Response { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalgetSingleItemLevel2Response{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalgetSingleItemLevel2Response) ToProto() (*openapi.GetSingleItemLevel2Response, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *getSingleItemLevel2Response) FromProto(msg *openapi.GetSingleItemLevel2Response) (GetSingleItemLevel2Response, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalgetSingleItemLevel2Response) FromProto(msg *openapi.GetSingleItemLevel2Response) (GetSingleItemLevel2Response, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -7613,33 +8101,33 @@ func (obj *getSingleItemLevel2Response) FromProto(msg *openapi.GetSingleItemLeve return newObj, nil } -func (obj *getSingleItemLevel2Response) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalgetSingleItemLevel2Response) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *getSingleItemLevel2Response) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalgetSingleItemLevel2Response) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *getSingleItemLevel2Response) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalgetSingleItemLevel2Response) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -7648,7 +8136,7 @@ func (obj *getSingleItemLevel2Response) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -7659,7 +8147,7 @@ func (obj *getSingleItemLevel2Response) ToYaml() (string, error) { return string(data), nil } -func (obj *getSingleItemLevel2Response) FromYaml(value string) error { +func (m *unMarshalgetSingleItemLevel2Response) FromYaml(value string) error { if value == "" { value = "{}" } @@ -7671,21 +8159,21 @@ func (obj *getSingleItemLevel2Response) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *getSingleItemLevel2Response) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalgetSingleItemLevel2Response) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -7695,14 +8183,14 @@ func (obj *getSingleItemLevel2Response) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *getSingleItemLevel2Response) FromJson(value string) error { +func (m *unMarshalgetSingleItemLevel2Response) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -7710,13 +8198,13 @@ func (obj *getSingleItemLevel2Response) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - err := obj.validateToAndFrom() + m.obj.setNil() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -7729,14 +8217,14 @@ func (obj *getSingleItemLevel2Response) validateToAndFrom() error { return obj.validationResult() } -func (obj *getSingleItemLevel2Response) Validate() error { +func (obj *getSingleItemLevel2Response) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *getSingleItemLevel2Response) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -7744,16 +8232,16 @@ func (obj *getSingleItemLevel2Response) String() string { } func (obj *getSingleItemLevel2Response) Clone() (GetSingleItemLevel2Response, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewGetSingleItemLevel2Response() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -7770,30 +8258,18 @@ func (obj *getSingleItemLevel2Response) setNil() { // GetSingleItemLevel2Response is description is TBD type GetSingleItemLevel2Response interface { Validation - // Msg marshals GetSingleItemLevel2Response to protobuf object *openapi.GetSingleItemLevel2Response + // msg marshals GetSingleItemLevel2Response to protobuf object *openapi.GetSingleItemLevel2Response // and doesn't set defaults - Msg() *openapi.GetSingleItemLevel2Response - // SetMsg unmarshals GetSingleItemLevel2Response from protobuf object *openapi.GetSingleItemLevel2Response + msg() *openapi.GetSingleItemLevel2Response + // setMsg unmarshals GetSingleItemLevel2Response from protobuf object *openapi.GetSingleItemLevel2Response // and doesn't set defaults - SetMsg(*openapi.GetSingleItemLevel2Response) GetSingleItemLevel2Response - // ToProto marshals GetSingleItemLevel2Response to protobuf object *openapi.GetSingleItemLevel2Response - ToProto() (*openapi.GetSingleItemLevel2Response, error) - // ToPbText marshals GetSingleItemLevel2Response to protobuf text - ToPbText() (string, error) - // ToYaml marshals GetSingleItemLevel2Response to YAML text - ToYaml() (string, error) - // ToJson marshals GetSingleItemLevel2Response to JSON text - ToJson() (string, error) - // FromProto unmarshals GetSingleItemLevel2Response from protobuf object *openapi.GetSingleItemLevel2Response - FromProto(msg *openapi.GetSingleItemLevel2Response) (GetSingleItemLevel2Response, error) - // FromPbText unmarshals GetSingleItemLevel2Response from protobuf text - FromPbText(value string) error - // FromYaml unmarshals GetSingleItemLevel2Response from YAML text - FromYaml(value string) error - // FromJson unmarshals GetSingleItemLevel2Response from JSON text - FromJson(value string) error - // Validate validates GetSingleItemLevel2Response - Validate() error + setMsg(*openapi.GetSingleItemLevel2Response) GetSingleItemLevel2Response + // provides marshal interface + Marshal() marshalGetSingleItemLevel2Response + // provides unmarshal interface + Unmarshal() unMarshalGetSingleItemLevel2Response + // validate validates GetSingleItemLevel2Response + validate() error // A stringer function String() string // Clones the object @@ -7816,7 +8292,7 @@ type GetSingleItemLevel2Response interface { // ServiceAbcItem returns a ServiceAbcItem func (obj *getSingleItemLevel2Response) ServiceAbcItem() ServiceAbcItem { if obj.obj.ServiceAbcItem == nil { - obj.obj.ServiceAbcItem = NewServiceAbcItem().Msg() + obj.obj.ServiceAbcItem = NewServiceAbcItem().msg() } if obj.serviceAbcItemHolder == nil { obj.serviceAbcItemHolder = &serviceAbcItem{obj: obj.obj.ServiceAbcItem} @@ -7835,7 +8311,7 @@ func (obj *getSingleItemLevel2Response) HasServiceAbcItem() bool { func (obj *getSingleItemLevel2Response) SetServiceAbcItem(value ServiceAbcItem) GetSingleItemLevel2Response { obj.serviceAbcItemHolder = nil - obj.obj.ServiceAbcItem = value.Msg() + obj.obj.ServiceAbcItem = value.msg() return obj } @@ -7860,6 +8336,8 @@ func (obj *getSingleItemLevel2Response) setDefault() { type getVersionResponse struct { validation obj *openapi.GetVersionResponse + marshaller marshalGetVersionResponse + unMarshaller unMarshalGetVersionResponse versionHolder Version } @@ -7869,26 +8347,70 @@ func NewGetVersionResponse() GetVersionResponse { return &obj } -func (obj *getVersionResponse) Msg() *openapi.GetVersionResponse { +func (obj *getVersionResponse) msg() *openapi.GetVersionResponse { return obj.obj } -func (obj *getVersionResponse) SetMsg(msg *openapi.GetVersionResponse) GetVersionResponse { +func (obj *getVersionResponse) setMsg(msg *openapi.GetVersionResponse) GetVersionResponse { obj.setNil() proto.Merge(obj.obj, msg) return obj } -func (obj *getVersionResponse) ToProto() (*openapi.GetVersionResponse, error) { - err := obj.validateToAndFrom() +type marshalgetVersionResponse struct { + obj *getVersionResponse +} + +type marshalGetVersionResponse interface { + // ToProto marshals GetVersionResponse to protobuf object *openapi.GetVersionResponse + ToProto() (*openapi.GetVersionResponse, error) + // ToPbText marshals GetVersionResponse to protobuf text + ToPbText() (string, error) + // ToYaml marshals GetVersionResponse to YAML text + ToYaml() (string, error) + // ToJson marshals GetVersionResponse to JSON text + ToJson() (string, error) +} + +type unMarshalgetVersionResponse struct { + obj *getVersionResponse +} + +type unMarshalGetVersionResponse interface { + // FromProto unmarshals GetVersionResponse from protobuf object *openapi.GetVersionResponse + FromProto(msg *openapi.GetVersionResponse) (GetVersionResponse, error) + // FromPbText unmarshals GetVersionResponse from protobuf text + FromPbText(value string) error + // FromYaml unmarshals GetVersionResponse from YAML text + FromYaml(value string) error + // FromJson unmarshals GetVersionResponse from JSON text + FromJson(value string) error +} + +func (obj *getVersionResponse) Marshal() marshalGetVersionResponse { + if obj.marshaller == nil { + obj.marshaller = &marshalgetVersionResponse{obj: obj} + } + return obj.marshaller +} + +func (obj *getVersionResponse) Unmarshal() unMarshalGetVersionResponse { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalgetVersionResponse{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalgetVersionResponse) ToProto() (*openapi.GetVersionResponse, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *getVersionResponse) FromProto(msg *openapi.GetVersionResponse) (GetVersionResponse, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalgetVersionResponse) FromProto(msg *openapi.GetVersionResponse) (GetVersionResponse, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -7896,33 +8418,33 @@ func (obj *getVersionResponse) FromProto(msg *openapi.GetVersionResponse) (GetVe return newObj, nil } -func (obj *getVersionResponse) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalgetVersionResponse) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *getVersionResponse) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalgetVersionResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *getVersionResponse) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalgetVersionResponse) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -7931,7 +8453,7 @@ func (obj *getVersionResponse) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -7942,7 +8464,7 @@ func (obj *getVersionResponse) ToYaml() (string, error) { return string(data), nil } -func (obj *getVersionResponse) FromYaml(value string) error { +func (m *unMarshalgetVersionResponse) FromYaml(value string) error { if value == "" { value = "{}" } @@ -7954,21 +8476,21 @@ func (obj *getVersionResponse) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *getVersionResponse) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalgetVersionResponse) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -7978,14 +8500,14 @@ func (obj *getVersionResponse) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *getVersionResponse) FromJson(value string) error { +func (m *unMarshalgetVersionResponse) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -7993,13 +8515,13 @@ func (obj *getVersionResponse) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - err := obj.validateToAndFrom() + m.obj.setNil() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -8012,14 +8534,14 @@ func (obj *getVersionResponse) validateToAndFrom() error { return obj.validationResult() } -func (obj *getVersionResponse) Validate() error { +func (obj *getVersionResponse) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *getVersionResponse) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -8027,16 +8549,16 @@ func (obj *getVersionResponse) String() string { } func (obj *getVersionResponse) Clone() (GetVersionResponse, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewGetVersionResponse() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -8053,30 +8575,18 @@ func (obj *getVersionResponse) setNil() { // GetVersionResponse is description is TBD type GetVersionResponse interface { Validation - // Msg marshals GetVersionResponse to protobuf object *openapi.GetVersionResponse + // msg marshals GetVersionResponse to protobuf object *openapi.GetVersionResponse // and doesn't set defaults - Msg() *openapi.GetVersionResponse - // SetMsg unmarshals GetVersionResponse from protobuf object *openapi.GetVersionResponse + msg() *openapi.GetVersionResponse + // setMsg unmarshals GetVersionResponse from protobuf object *openapi.GetVersionResponse // and doesn't set defaults - SetMsg(*openapi.GetVersionResponse) GetVersionResponse - // ToProto marshals GetVersionResponse to protobuf object *openapi.GetVersionResponse - ToProto() (*openapi.GetVersionResponse, error) - // ToPbText marshals GetVersionResponse to protobuf text - ToPbText() (string, error) - // ToYaml marshals GetVersionResponse to YAML text - ToYaml() (string, error) - // ToJson marshals GetVersionResponse to JSON text - ToJson() (string, error) - // FromProto unmarshals GetVersionResponse from protobuf object *openapi.GetVersionResponse - FromProto(msg *openapi.GetVersionResponse) (GetVersionResponse, error) - // FromPbText unmarshals GetVersionResponse from protobuf text - FromPbText(value string) error - // FromYaml unmarshals GetVersionResponse from YAML text - FromYaml(value string) error - // FromJson unmarshals GetVersionResponse from JSON text - FromJson(value string) error - // Validate validates GetVersionResponse - Validate() error + setMsg(*openapi.GetVersionResponse) GetVersionResponse + // provides marshal interface + Marshal() marshalGetVersionResponse + // provides unmarshal interface + Unmarshal() unMarshalGetVersionResponse + // validate validates GetVersionResponse + validate() error // A stringer function String() string // Clones the object @@ -8099,7 +8609,7 @@ type GetVersionResponse interface { // Version returns a Version func (obj *getVersionResponse) Version() Version { if obj.obj.Version == nil { - obj.obj.Version = NewVersion().Msg() + obj.obj.Version = NewVersion().msg() } if obj.versionHolder == nil { obj.versionHolder = &version{obj: obj.obj.Version} @@ -8118,7 +8628,7 @@ func (obj *getVersionResponse) HasVersion() bool { func (obj *getVersionResponse) SetVersion(value Version) GetVersionResponse { obj.versionHolder = nil - obj.obj.Version = value.Msg() + obj.obj.Version = value.msg() return obj } @@ -8142,7 +8652,9 @@ func (obj *getVersionResponse) setDefault() { // ***** EObject ***** type eObject struct { validation - obj *openapi.EObject + obj *openapi.EObject + marshaller marshalEObject + unMarshaller unMarshalEObject } func NewEObject() EObject { @@ -8151,26 +8663,70 @@ func NewEObject() EObject { return &obj } -func (obj *eObject) Msg() *openapi.EObject { +func (obj *eObject) msg() *openapi.EObject { return obj.obj } -func (obj *eObject) SetMsg(msg *openapi.EObject) EObject { +func (obj *eObject) setMsg(msg *openapi.EObject) EObject { proto.Merge(obj.obj, msg) return obj } -func (obj *eObject) ToProto() (*openapi.EObject, error) { - err := obj.validateToAndFrom() +type marshaleObject struct { + obj *eObject +} + +type marshalEObject interface { + // ToProto marshals EObject to protobuf object *openapi.EObject + ToProto() (*openapi.EObject, error) + // ToPbText marshals EObject to protobuf text + ToPbText() (string, error) + // ToYaml marshals EObject to YAML text + ToYaml() (string, error) + // ToJson marshals EObject to JSON text + ToJson() (string, error) +} + +type unMarshaleObject struct { + obj *eObject +} + +type unMarshalEObject interface { + // FromProto unmarshals EObject from protobuf object *openapi.EObject + FromProto(msg *openapi.EObject) (EObject, error) + // FromPbText unmarshals EObject from protobuf text + FromPbText(value string) error + // FromYaml unmarshals EObject from YAML text + FromYaml(value string) error + // FromJson unmarshals EObject from JSON text + FromJson(value string) error +} + +func (obj *eObject) Marshal() marshalEObject { + if obj.marshaller == nil { + obj.marshaller = &marshaleObject{obj: obj} + } + return obj.marshaller +} + +func (obj *eObject) Unmarshal() unMarshalEObject { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshaleObject{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshaleObject) ToProto() (*openapi.EObject, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *eObject) FromProto(msg *openapi.EObject) (EObject, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshaleObject) FromProto(msg *openapi.EObject) (EObject, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -8178,33 +8734,33 @@ func (obj *eObject) FromProto(msg *openapi.EObject) (EObject, error) { return newObj, nil } -func (obj *eObject) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshaleObject) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *eObject) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshaleObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *eObject) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshaleObject) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -8213,7 +8769,7 @@ func (obj *eObject) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -8224,7 +8780,7 @@ func (obj *eObject) ToYaml() (string, error) { return string(data), nil } -func (obj *eObject) FromYaml(value string) error { +func (m *unMarshaleObject) FromYaml(value string) error { if value == "" { value = "{}" } @@ -8236,21 +8792,21 @@ func (obj *eObject) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *eObject) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshaleObject) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -8260,14 +8816,14 @@ func (obj *eObject) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *eObject) FromJson(value string) error { +func (m *unMarshaleObject) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -8275,13 +8831,13 @@ func (obj *eObject) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - err := obj.validateToAndFrom() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -8294,14 +8850,14 @@ func (obj *eObject) validateToAndFrom() error { return obj.validationResult() } -func (obj *eObject) Validate() error { +func (obj *eObject) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *eObject) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -8309,16 +8865,16 @@ func (obj *eObject) String() string { } func (obj *eObject) Clone() (EObject, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewEObject() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -8328,30 +8884,18 @@ func (obj *eObject) Clone() (EObject, error) { // EObject is description is TBD type EObject interface { Validation - // Msg marshals EObject to protobuf object *openapi.EObject + // msg marshals EObject to protobuf object *openapi.EObject // and doesn't set defaults - Msg() *openapi.EObject - // SetMsg unmarshals EObject from protobuf object *openapi.EObject + msg() *openapi.EObject + // setMsg unmarshals EObject from protobuf object *openapi.EObject // and doesn't set defaults - SetMsg(*openapi.EObject) EObject - // ToProto marshals EObject to protobuf object *openapi.EObject - ToProto() (*openapi.EObject, error) - // ToPbText marshals EObject to protobuf text - ToPbText() (string, error) - // ToYaml marshals EObject to YAML text - ToYaml() (string, error) - // ToJson marshals EObject to JSON text - ToJson() (string, error) - // FromProto unmarshals EObject from protobuf object *openapi.EObject - FromProto(msg *openapi.EObject) (EObject, error) - // FromPbText unmarshals EObject from protobuf text - FromPbText(value string) error - // FromYaml unmarshals EObject from YAML text - FromYaml(value string) error - // FromJson unmarshals EObject from JSON text - FromJson(value string) error - // Validate validates EObject - Validate() error + setMsg(*openapi.EObject) EObject + // provides marshal interface + Marshal() marshalEObject + // provides unmarshal interface + Unmarshal() unMarshalEObject + // validate validates EObject + validate() error // A stringer function String() string // Clones the object @@ -8508,7 +9052,9 @@ func (obj *eObject) setDefault() { // ***** FObject ***** type fObject struct { validation - obj *openapi.FObject + obj *openapi.FObject + marshaller marshalFObject + unMarshaller unMarshalFObject } func NewFObject() FObject { @@ -8517,26 +9063,70 @@ func NewFObject() FObject { return &obj } -func (obj *fObject) Msg() *openapi.FObject { +func (obj *fObject) msg() *openapi.FObject { return obj.obj } -func (obj *fObject) SetMsg(msg *openapi.FObject) FObject { +func (obj *fObject) setMsg(msg *openapi.FObject) FObject { proto.Merge(obj.obj, msg) return obj } -func (obj *fObject) ToProto() (*openapi.FObject, error) { - err := obj.validateToAndFrom() +type marshalfObject struct { + obj *fObject +} + +type marshalFObject interface { + // ToProto marshals FObject to protobuf object *openapi.FObject + ToProto() (*openapi.FObject, error) + // ToPbText marshals FObject to protobuf text + ToPbText() (string, error) + // ToYaml marshals FObject to YAML text + ToYaml() (string, error) + // ToJson marshals FObject to JSON text + ToJson() (string, error) +} + +type unMarshalfObject struct { + obj *fObject +} + +type unMarshalFObject interface { + // FromProto unmarshals FObject from protobuf object *openapi.FObject + FromProto(msg *openapi.FObject) (FObject, error) + // FromPbText unmarshals FObject from protobuf text + FromPbText(value string) error + // FromYaml unmarshals FObject from YAML text + FromYaml(value string) error + // FromJson unmarshals FObject from JSON text + FromJson(value string) error +} + +func (obj *fObject) Marshal() marshalFObject { + if obj.marshaller == nil { + obj.marshaller = &marshalfObject{obj: obj} + } + return obj.marshaller +} + +func (obj *fObject) Unmarshal() unMarshalFObject { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalfObject{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalfObject) ToProto() (*openapi.FObject, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *fObject) FromProto(msg *openapi.FObject) (FObject, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalfObject) FromProto(msg *openapi.FObject) (FObject, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -8544,33 +9134,33 @@ func (obj *fObject) FromProto(msg *openapi.FObject) (FObject, error) { return newObj, nil } -func (obj *fObject) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalfObject) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *fObject) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalfObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *fObject) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalfObject) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -8579,7 +9169,7 @@ func (obj *fObject) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -8590,7 +9180,7 @@ func (obj *fObject) ToYaml() (string, error) { return string(data), nil } -func (obj *fObject) FromYaml(value string) error { +func (m *unMarshalfObject) FromYaml(value string) error { if value == "" { value = "{}" } @@ -8602,21 +9192,21 @@ func (obj *fObject) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *fObject) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalfObject) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -8626,14 +9216,14 @@ func (obj *fObject) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *fObject) FromJson(value string) error { +func (m *unMarshalfObject) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -8641,13 +9231,13 @@ func (obj *fObject) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - err := obj.validateToAndFrom() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -8660,14 +9250,14 @@ func (obj *fObject) validateToAndFrom() error { return obj.validationResult() } -func (obj *fObject) Validate() error { +func (obj *fObject) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *fObject) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -8675,16 +9265,16 @@ func (obj *fObject) String() string { } func (obj *fObject) Clone() (FObject, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewFObject() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -8694,30 +9284,18 @@ func (obj *fObject) Clone() (FObject, error) { // FObject is description is TBD type FObject interface { Validation - // Msg marshals FObject to protobuf object *openapi.FObject + // msg marshals FObject to protobuf object *openapi.FObject // and doesn't set defaults - Msg() *openapi.FObject - // SetMsg unmarshals FObject from protobuf object *openapi.FObject + msg() *openapi.FObject + // setMsg unmarshals FObject from protobuf object *openapi.FObject // and doesn't set defaults - SetMsg(*openapi.FObject) FObject - // ToProto marshals FObject to protobuf object *openapi.FObject - ToProto() (*openapi.FObject, error) - // ToPbText marshals FObject to protobuf text - ToPbText() (string, error) - // ToYaml marshals FObject to YAML text - ToYaml() (string, error) - // ToJson marshals FObject to JSON text - ToJson() (string, error) - // FromProto unmarshals FObject from protobuf object *openapi.FObject - FromProto(msg *openapi.FObject) (FObject, error) - // FromPbText unmarshals FObject from protobuf text - FromPbText(value string) error - // FromYaml unmarshals FObject from YAML text - FromYaml(value string) error - // FromJson unmarshals FObject from JSON text - FromJson(value string) error - // Validate validates FObject - Validate() error + setMsg(*openapi.FObject) FObject + // provides marshal interface + Marshal() marshalFObject + // provides unmarshal interface + Unmarshal() unMarshalFObject + // validate validates FObject + validate() error // A stringer function String() string // Clones the object @@ -8727,10 +9305,12 @@ type FObject interface { setDefault() // Choice returns FObjectChoiceEnum, set in FObject Choice() FObjectChoiceEnum - // SetChoice assigns FObjectChoiceEnum provided by user to FObject - SetChoice(value FObjectChoiceEnum) FObject + // setChoice assigns FObjectChoiceEnum provided by user to FObject + setChoice(value FObjectChoiceEnum) FObject // HasChoice checks if Choice has been set in FObject HasChoice() bool + // getter for FC to set choice. + FC() // FA returns string, set in FObject. FA() string // SetFA assigns string provided by user to FObject @@ -8762,13 +9342,18 @@ func (obj *fObject) Choice() FObjectChoiceEnum { return FObjectChoiceEnum(obj.obj.Choice.Enum().String()) } +// getter for FC to set choice +func (obj *fObject) FC() { + obj.setChoice(FObjectChoice.F_C) +} + // description is TBD // Choice returns a string func (obj *fObject) HasChoice() bool { return obj.obj.Choice != nil } -func (obj *fObject) SetChoice(value FObjectChoiceEnum) FObject { +func (obj *fObject) setChoice(value FObjectChoiceEnum) FObject { intValue, ok := openapi.FObject_Choice_Enum_value[string(value)] if !ok { obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( @@ -8798,7 +9383,7 @@ func (obj *fObject) SetChoice(value FObjectChoiceEnum) FObject { func (obj *fObject) FA() string { if obj.obj.FA == nil { - obj.SetChoice(FObjectChoice.F_A) + obj.setChoice(FObjectChoice.F_A) } return *obj.obj.FA @@ -8814,7 +9399,7 @@ func (obj *fObject) HasFA() bool { // description is TBD // SetFA sets the string value in the FObject object func (obj *fObject) SetFA(value string) FObject { - obj.SetChoice(FObjectChoice.F_A) + obj.setChoice(FObjectChoice.F_A) obj.obj.FA = &value return obj } @@ -8824,7 +9409,7 @@ func (obj *fObject) SetFA(value string) FObject { func (obj *fObject) FB() float64 { if obj.obj.FB == nil { - obj.SetChoice(FObjectChoice.F_B) + obj.setChoice(FObjectChoice.F_B) } return *obj.obj.FB @@ -8840,7 +9425,7 @@ func (obj *fObject) HasFB() bool { // description is TBD // SetFB sets the float64 value in the FObject object func (obj *fObject) SetFB(value float64) FObject { - obj.SetChoice(FObjectChoice.F_B) + obj.setChoice(FObjectChoice.F_B) obj.obj.FB = &value return obj } @@ -8854,7 +9439,7 @@ func (obj *fObject) validateObj(vObj *validation, set_default bool) { func (obj *fObject) setDefault() { if obj.obj.Choice == nil { - obj.SetChoice(FObjectChoice.F_A) + obj.setChoice(FObjectChoice.F_A) } @@ -8863,7 +9448,9 @@ func (obj *fObject) setDefault() { // ***** GObject ***** type gObject struct { validation - obj *openapi.GObject + obj *openapi.GObject + marshaller marshalGObject + unMarshaller unMarshalGObject } func NewGObject() GObject { @@ -8872,26 +9459,70 @@ func NewGObject() GObject { return &obj } -func (obj *gObject) Msg() *openapi.GObject { +func (obj *gObject) msg() *openapi.GObject { return obj.obj } -func (obj *gObject) SetMsg(msg *openapi.GObject) GObject { +func (obj *gObject) setMsg(msg *openapi.GObject) GObject { proto.Merge(obj.obj, msg) return obj } -func (obj *gObject) ToProto() (*openapi.GObject, error) { - err := obj.validateToAndFrom() +type marshalgObject struct { + obj *gObject +} + +type marshalGObject interface { + // ToProto marshals GObject to protobuf object *openapi.GObject + ToProto() (*openapi.GObject, error) + // ToPbText marshals GObject to protobuf text + ToPbText() (string, error) + // ToYaml marshals GObject to YAML text + ToYaml() (string, error) + // ToJson marshals GObject to JSON text + ToJson() (string, error) +} + +type unMarshalgObject struct { + obj *gObject +} + +type unMarshalGObject interface { + // FromProto unmarshals GObject from protobuf object *openapi.GObject + FromProto(msg *openapi.GObject) (GObject, error) + // FromPbText unmarshals GObject from protobuf text + FromPbText(value string) error + // FromYaml unmarshals GObject from YAML text + FromYaml(value string) error + // FromJson unmarshals GObject from JSON text + FromJson(value string) error +} + +func (obj *gObject) Marshal() marshalGObject { + if obj.marshaller == nil { + obj.marshaller = &marshalgObject{obj: obj} + } + return obj.marshaller +} + +func (obj *gObject) Unmarshal() unMarshalGObject { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalgObject{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalgObject) ToProto() (*openapi.GObject, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *gObject) FromProto(msg *openapi.GObject) (GObject, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalgObject) FromProto(msg *openapi.GObject) (GObject, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -8899,33 +9530,33 @@ func (obj *gObject) FromProto(msg *openapi.GObject) (GObject, error) { return newObj, nil } -func (obj *gObject) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalgObject) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *gObject) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalgObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *gObject) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalgObject) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -8934,7 +9565,7 @@ func (obj *gObject) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -8945,7 +9576,7 @@ func (obj *gObject) ToYaml() (string, error) { return string(data), nil } -func (obj *gObject) FromYaml(value string) error { +func (m *unMarshalgObject) FromYaml(value string) error { if value == "" { value = "{}" } @@ -8957,21 +9588,21 @@ func (obj *gObject) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *gObject) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalgObject) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -8981,14 +9612,14 @@ func (obj *gObject) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *gObject) FromJson(value string) error { +func (m *unMarshalgObject) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -8996,13 +9627,13 @@ func (obj *gObject) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - err := obj.validateToAndFrom() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -9015,14 +9646,14 @@ func (obj *gObject) validateToAndFrom() error { return obj.validationResult() } -func (obj *gObject) Validate() error { +func (obj *gObject) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *gObject) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -9030,16 +9661,16 @@ func (obj *gObject) String() string { } func (obj *gObject) Clone() (GObject, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewGObject() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -9051,30 +9682,18 @@ func (obj *gObject) Clone() (GObject, error) { // Description TBD type GObject interface { Validation - // Msg marshals GObject to protobuf object *openapi.GObject + // msg marshals GObject to protobuf object *openapi.GObject // and doesn't set defaults - Msg() *openapi.GObject - // SetMsg unmarshals GObject from protobuf object *openapi.GObject + msg() *openapi.GObject + // setMsg unmarshals GObject from protobuf object *openapi.GObject // and doesn't set defaults - SetMsg(*openapi.GObject) GObject - // ToProto marshals GObject to protobuf object *openapi.GObject - ToProto() (*openapi.GObject, error) - // ToPbText marshals GObject to protobuf text - ToPbText() (string, error) - // ToYaml marshals GObject to YAML text - ToYaml() (string, error) - // ToJson marshals GObject to JSON text - ToJson() (string, error) - // FromProto unmarshals GObject from protobuf object *openapi.GObject - FromProto(msg *openapi.GObject) (GObject, error) - // FromPbText unmarshals GObject from protobuf text - FromPbText(value string) error - // FromYaml unmarshals GObject from YAML text - FromYaml(value string) error - // FromJson unmarshals GObject from JSON text - FromJson(value string) error - // Validate validates GObject - Validate() error + setMsg(*openapi.GObject) GObject + // provides marshal interface + Marshal() marshalGObject + // provides unmarshal interface + Unmarshal() unMarshalGObject + // validate validates GObject + validate() error // A stringer function String() string // Clones the object @@ -9102,8 +9721,8 @@ type GObject interface { HasGC() bool // Choice returns GObjectChoiceEnum, set in GObject Choice() GObjectChoiceEnum - // SetChoice assigns GObjectChoiceEnum provided by user to GObject - SetChoice(value GObjectChoiceEnum) GObject + // setChoice assigns GObjectChoiceEnum provided by user to GObject + setChoice(value GObjectChoiceEnum) GObject // HasChoice checks if Choice has been set in GObject HasChoice() bool // GD returns string, set in GObject. @@ -9225,7 +9844,7 @@ func (obj *gObject) HasChoice() bool { return obj.obj.Choice != nil } -func (obj *gObject) SetChoice(value GObjectChoiceEnum) GObject { +func (obj *gObject) setChoice(value GObjectChoiceEnum) GObject { intValue, ok := openapi.GObject_Choice_Enum_value[string(value)] if !ok { obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( @@ -9255,7 +9874,7 @@ func (obj *gObject) SetChoice(value GObjectChoiceEnum) GObject { func (obj *gObject) GD() string { if obj.obj.GD == nil { - obj.SetChoice(GObjectChoice.G_D) + obj.setChoice(GObjectChoice.G_D) } return *obj.obj.GD @@ -9271,7 +9890,7 @@ func (obj *gObject) HasGD() bool { // description is TBD // SetGD sets the string value in the GObject object func (obj *gObject) SetGD(value string) GObject { - obj.SetChoice(GObjectChoice.G_D) + obj.setChoice(GObjectChoice.G_D) obj.obj.GD = &value return obj } @@ -9281,7 +9900,7 @@ func (obj *gObject) SetGD(value string) GObject { func (obj *gObject) GE() float64 { if obj.obj.GE == nil { - obj.SetChoice(GObjectChoice.G_E) + obj.setChoice(GObjectChoice.G_E) } return *obj.obj.GE @@ -9297,7 +9916,7 @@ func (obj *gObject) HasGE() bool { // description is TBD // SetGE sets the float64 value in the GObject object func (obj *gObject) SetGE(value float64) GObject { - obj.SetChoice(GObjectChoice.G_E) + obj.setChoice(GObjectChoice.G_E) obj.obj.GE = &value return obj } @@ -9376,7 +9995,7 @@ func (obj *gObject) validateObj(vObj *validation, set_default bool) { func (obj *gObject) setDefault() { if obj.obj.Choice == nil { - obj.SetChoice(GObjectChoice.G_D) + obj.setChoice(GObjectChoice.G_D) } if obj.obj.GA == nil { @@ -9398,9 +10017,11 @@ func (obj *gObject) setDefault() { // ***** JObject ***** type jObject struct { validation - obj *openapi.JObject - jAHolder EObject - jBHolder FObject + obj *openapi.JObject + marshaller marshalJObject + unMarshaller unMarshalJObject + jAHolder EObject + jBHolder FObject } func NewJObject() JObject { @@ -9409,26 +10030,70 @@ func NewJObject() JObject { return &obj } -func (obj *jObject) Msg() *openapi.JObject { +func (obj *jObject) msg() *openapi.JObject { return obj.obj } -func (obj *jObject) SetMsg(msg *openapi.JObject) JObject { +func (obj *jObject) setMsg(msg *openapi.JObject) JObject { obj.setNil() proto.Merge(obj.obj, msg) return obj } -func (obj *jObject) ToProto() (*openapi.JObject, error) { - err := obj.validateToAndFrom() +type marshaljObject struct { + obj *jObject +} + +type marshalJObject interface { + // ToProto marshals JObject to protobuf object *openapi.JObject + ToProto() (*openapi.JObject, error) + // ToPbText marshals JObject to protobuf text + ToPbText() (string, error) + // ToYaml marshals JObject to YAML text + ToYaml() (string, error) + // ToJson marshals JObject to JSON text + ToJson() (string, error) +} + +type unMarshaljObject struct { + obj *jObject +} + +type unMarshalJObject interface { + // FromProto unmarshals JObject from protobuf object *openapi.JObject + FromProto(msg *openapi.JObject) (JObject, error) + // FromPbText unmarshals JObject from protobuf text + FromPbText(value string) error + // FromYaml unmarshals JObject from YAML text + FromYaml(value string) error + // FromJson unmarshals JObject from JSON text + FromJson(value string) error +} + +func (obj *jObject) Marshal() marshalJObject { + if obj.marshaller == nil { + obj.marshaller = &marshaljObject{obj: obj} + } + return obj.marshaller +} + +func (obj *jObject) Unmarshal() unMarshalJObject { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshaljObject{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshaljObject) ToProto() (*openapi.JObject, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *jObject) FromProto(msg *openapi.JObject) (JObject, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshaljObject) FromProto(msg *openapi.JObject) (JObject, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -9436,33 +10101,33 @@ func (obj *jObject) FromProto(msg *openapi.JObject) (JObject, error) { return newObj, nil } -func (obj *jObject) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshaljObject) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *jObject) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshaljObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *jObject) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshaljObject) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -9471,7 +10136,7 @@ func (obj *jObject) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -9482,7 +10147,7 @@ func (obj *jObject) ToYaml() (string, error) { return string(data), nil } -func (obj *jObject) FromYaml(value string) error { +func (m *unMarshaljObject) FromYaml(value string) error { if value == "" { value = "{}" } @@ -9494,21 +10159,21 @@ func (obj *jObject) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *jObject) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshaljObject) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -9518,14 +10183,14 @@ func (obj *jObject) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *jObject) FromJson(value string) error { +func (m *unMarshaljObject) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -9533,13 +10198,13 @@ func (obj *jObject) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - err := obj.validateToAndFrom() + m.obj.setNil() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -9552,14 +10217,14 @@ func (obj *jObject) validateToAndFrom() error { return obj.validationResult() } -func (obj *jObject) Validate() error { +func (obj *jObject) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *jObject) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -9567,16 +10232,16 @@ func (obj *jObject) String() string { } func (obj *jObject) Clone() (JObject, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewJObject() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -9594,30 +10259,18 @@ func (obj *jObject) setNil() { // JObject is description is TBD type JObject interface { Validation - // Msg marshals JObject to protobuf object *openapi.JObject + // msg marshals JObject to protobuf object *openapi.JObject // and doesn't set defaults - Msg() *openapi.JObject - // SetMsg unmarshals JObject from protobuf object *openapi.JObject + msg() *openapi.JObject + // setMsg unmarshals JObject from protobuf object *openapi.JObject // and doesn't set defaults - SetMsg(*openapi.JObject) JObject - // ToProto marshals JObject to protobuf object *openapi.JObject - ToProto() (*openapi.JObject, error) - // ToPbText marshals JObject to protobuf text - ToPbText() (string, error) - // ToYaml marshals JObject to YAML text - ToYaml() (string, error) - // ToJson marshals JObject to JSON text - ToJson() (string, error) - // FromProto unmarshals JObject from protobuf object *openapi.JObject - FromProto(msg *openapi.JObject) (JObject, error) - // FromPbText unmarshals JObject from protobuf text - FromPbText(value string) error - // FromYaml unmarshals JObject from YAML text - FromYaml(value string) error - // FromJson unmarshals JObject from JSON text - FromJson(value string) error - // Validate validates JObject - Validate() error + setMsg(*openapi.JObject) JObject + // provides marshal interface + Marshal() marshalJObject + // provides unmarshal interface + Unmarshal() unMarshalJObject + // validate validates JObject + validate() error // A stringer function String() string // Clones the object @@ -9627,8 +10280,8 @@ type JObject interface { setDefault() // Choice returns JObjectChoiceEnum, set in JObject Choice() JObjectChoiceEnum - // SetChoice assigns JObjectChoiceEnum provided by user to JObject - SetChoice(value JObjectChoiceEnum) JObject + // setChoice assigns JObjectChoiceEnum provided by user to JObject + setChoice(value JObjectChoiceEnum) JObject // HasChoice checks if Choice has been set in JObject HasChoice() bool // JA returns EObject, set in JObject. @@ -9671,7 +10324,7 @@ func (obj *jObject) HasChoice() bool { return obj.obj.Choice != nil } -func (obj *jObject) SetChoice(value JObjectChoiceEnum) JObject { +func (obj *jObject) setChoice(value JObjectChoiceEnum) JObject { intValue, ok := openapi.JObject_Choice_Enum_value[string(value)] if !ok { obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( @@ -9686,11 +10339,11 @@ func (obj *jObject) SetChoice(value JObjectChoiceEnum) JObject { obj.jAHolder = nil if value == JObjectChoice.J_A { - obj.obj.JA = NewEObject().Msg() + obj.obj.JA = NewEObject().msg() } if value == JObjectChoice.J_B { - obj.obj.JB = NewFObject().Msg() + obj.obj.JB = NewFObject().msg() } return obj @@ -9700,7 +10353,7 @@ func (obj *jObject) SetChoice(value JObjectChoiceEnum) JObject { // JA returns a EObject func (obj *jObject) JA() EObject { if obj.obj.JA == nil { - obj.SetChoice(JObjectChoice.J_A) + obj.setChoice(JObjectChoice.J_A) } if obj.jAHolder == nil { obj.jAHolder = &eObject{obj: obj.obj.JA} @@ -9717,9 +10370,9 @@ func (obj *jObject) HasJA() bool { // description is TBD // SetJA sets the EObject value in the JObject object func (obj *jObject) SetJA(value EObject) JObject { - obj.SetChoice(JObjectChoice.J_A) + obj.setChoice(JObjectChoice.J_A) obj.jAHolder = nil - obj.obj.JA = value.Msg() + obj.obj.JA = value.msg() return obj } @@ -9728,7 +10381,7 @@ func (obj *jObject) SetJA(value EObject) JObject { // JB returns a FObject func (obj *jObject) JB() FObject { if obj.obj.JB == nil { - obj.SetChoice(JObjectChoice.J_B) + obj.setChoice(JObjectChoice.J_B) } if obj.jBHolder == nil { obj.jBHolder = &fObject{obj: obj.obj.JB} @@ -9745,9 +10398,9 @@ func (obj *jObject) HasJB() bool { // description is TBD // SetJB sets the FObject value in the JObject object func (obj *jObject) SetJB(value FObject) JObject { - obj.SetChoice(JObjectChoice.J_B) + obj.setChoice(JObjectChoice.J_B) obj.jBHolder = nil - obj.obj.JB = value.Msg() + obj.obj.JB = value.msg() return obj } @@ -9775,7 +10428,7 @@ func (obj *jObject) validateObj(vObj *validation, set_default bool) { func (obj *jObject) setDefault() { if obj.obj.Choice == nil { - obj.SetChoice(JObjectChoice.J_A) + obj.setChoice(JObjectChoice.J_A) } @@ -9785,6 +10438,8 @@ func (obj *jObject) setDefault() { type kObject struct { validation obj *openapi.KObject + marshaller marshalKObject + unMarshaller unMarshalKObject eObjectHolder EObject fObjectHolder FObject } @@ -9795,26 +10450,70 @@ func NewKObject() KObject { return &obj } -func (obj *kObject) Msg() *openapi.KObject { +func (obj *kObject) msg() *openapi.KObject { return obj.obj } -func (obj *kObject) SetMsg(msg *openapi.KObject) KObject { +func (obj *kObject) setMsg(msg *openapi.KObject) KObject { obj.setNil() proto.Merge(obj.obj, msg) return obj } -func (obj *kObject) ToProto() (*openapi.KObject, error) { - err := obj.validateToAndFrom() +type marshalkObject struct { + obj *kObject +} + +type marshalKObject interface { + // ToProto marshals KObject to protobuf object *openapi.KObject + ToProto() (*openapi.KObject, error) + // ToPbText marshals KObject to protobuf text + ToPbText() (string, error) + // ToYaml marshals KObject to YAML text + ToYaml() (string, error) + // ToJson marshals KObject to JSON text + ToJson() (string, error) +} + +type unMarshalkObject struct { + obj *kObject +} + +type unMarshalKObject interface { + // FromProto unmarshals KObject from protobuf object *openapi.KObject + FromProto(msg *openapi.KObject) (KObject, error) + // FromPbText unmarshals KObject from protobuf text + FromPbText(value string) error + // FromYaml unmarshals KObject from YAML text + FromYaml(value string) error + // FromJson unmarshals KObject from JSON text + FromJson(value string) error +} + +func (obj *kObject) Marshal() marshalKObject { + if obj.marshaller == nil { + obj.marshaller = &marshalkObject{obj: obj} + } + return obj.marshaller +} + +func (obj *kObject) Unmarshal() unMarshalKObject { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalkObject{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalkObject) ToProto() (*openapi.KObject, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *kObject) FromProto(msg *openapi.KObject) (KObject, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalkObject) FromProto(msg *openapi.KObject) (KObject, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -9822,33 +10521,33 @@ func (obj *kObject) FromProto(msg *openapi.KObject) (KObject, error) { return newObj, nil } -func (obj *kObject) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalkObject) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *kObject) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalkObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *kObject) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalkObject) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -9857,7 +10556,7 @@ func (obj *kObject) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -9868,7 +10567,7 @@ func (obj *kObject) ToYaml() (string, error) { return string(data), nil } -func (obj *kObject) FromYaml(value string) error { +func (m *unMarshalkObject) FromYaml(value string) error { if value == "" { value = "{}" } @@ -9880,21 +10579,21 @@ func (obj *kObject) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *kObject) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalkObject) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -9904,14 +10603,14 @@ func (obj *kObject) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *kObject) FromJson(value string) error { +func (m *unMarshalkObject) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -9919,13 +10618,13 @@ func (obj *kObject) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - err := obj.validateToAndFrom() + m.obj.setNil() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -9938,14 +10637,14 @@ func (obj *kObject) validateToAndFrom() error { return obj.validationResult() } -func (obj *kObject) Validate() error { +func (obj *kObject) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *kObject) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -9953,16 +10652,16 @@ func (obj *kObject) String() string { } func (obj *kObject) Clone() (KObject, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewKObject() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -9980,30 +10679,18 @@ func (obj *kObject) setNil() { // KObject is description is TBD type KObject interface { Validation - // Msg marshals KObject to protobuf object *openapi.KObject - // and doesn't set defaults - Msg() *openapi.KObject - // SetMsg unmarshals KObject from protobuf object *openapi.KObject - // and doesn't set defaults - SetMsg(*openapi.KObject) KObject - // ToProto marshals KObject to protobuf object *openapi.KObject - ToProto() (*openapi.KObject, error) - // ToPbText marshals KObject to protobuf text - ToPbText() (string, error) - // ToYaml marshals KObject to YAML text - ToYaml() (string, error) - // ToJson marshals KObject to JSON text - ToJson() (string, error) - // FromProto unmarshals KObject from protobuf object *openapi.KObject - FromProto(msg *openapi.KObject) (KObject, error) - // FromPbText unmarshals KObject from protobuf text - FromPbText(value string) error - // FromYaml unmarshals KObject from YAML text - FromYaml(value string) error - // FromJson unmarshals KObject from JSON text - FromJson(value string) error - // Validate validates KObject - Validate() error + // msg marshals KObject to protobuf object *openapi.KObject + // and doesn't set defaults + msg() *openapi.KObject + // setMsg unmarshals KObject from protobuf object *openapi.KObject + // and doesn't set defaults + setMsg(*openapi.KObject) KObject + // provides marshal interface + Marshal() marshalKObject + // provides unmarshal interface + Unmarshal() unMarshalKObject + // validate validates KObject + validate() error // A stringer function String() string // Clones the object @@ -10034,7 +10721,7 @@ type KObject interface { // EObject returns a EObject func (obj *kObject) EObject() EObject { if obj.obj.EObject == nil { - obj.obj.EObject = NewEObject().Msg() + obj.obj.EObject = NewEObject().msg() } if obj.eObjectHolder == nil { obj.eObjectHolder = &eObject{obj: obj.obj.EObject} @@ -10053,7 +10740,7 @@ func (obj *kObject) HasEObject() bool { func (obj *kObject) SetEObject(value EObject) KObject { obj.eObjectHolder = nil - obj.obj.EObject = value.Msg() + obj.obj.EObject = value.msg() return obj } @@ -10062,7 +10749,7 @@ func (obj *kObject) SetEObject(value EObject) KObject { // FObject returns a FObject func (obj *kObject) FObject() FObject { if obj.obj.FObject == nil { - obj.obj.FObject = NewFObject().Msg() + obj.obj.FObject = NewFObject().msg() } if obj.fObjectHolder == nil { obj.fObjectHolder = &fObject{obj: obj.obj.FObject} @@ -10081,7 +10768,7 @@ func (obj *kObject) HasFObject() bool { func (obj *kObject) SetFObject(value FObject) KObject { obj.fObjectHolder = nil - obj.obj.FObject = value.Msg() + obj.obj.FObject = value.msg() return obj } @@ -10110,7 +10797,9 @@ func (obj *kObject) setDefault() { // ***** LObject ***** type lObject struct { validation - obj *openapi.LObject + obj *openapi.LObject + marshaller marshalLObject + unMarshaller unMarshalLObject } func NewLObject() LObject { @@ -10119,26 +10808,70 @@ func NewLObject() LObject { return &obj } -func (obj *lObject) Msg() *openapi.LObject { +func (obj *lObject) msg() *openapi.LObject { return obj.obj } -func (obj *lObject) SetMsg(msg *openapi.LObject) LObject { +func (obj *lObject) setMsg(msg *openapi.LObject) LObject { proto.Merge(obj.obj, msg) return obj } -func (obj *lObject) ToProto() (*openapi.LObject, error) { - err := obj.validateToAndFrom() +type marshallObject struct { + obj *lObject +} + +type marshalLObject interface { + // ToProto marshals LObject to protobuf object *openapi.LObject + ToProto() (*openapi.LObject, error) + // ToPbText marshals LObject to protobuf text + ToPbText() (string, error) + // ToYaml marshals LObject to YAML text + ToYaml() (string, error) + // ToJson marshals LObject to JSON text + ToJson() (string, error) +} + +type unMarshallObject struct { + obj *lObject +} + +type unMarshalLObject interface { + // FromProto unmarshals LObject from protobuf object *openapi.LObject + FromProto(msg *openapi.LObject) (LObject, error) + // FromPbText unmarshals LObject from protobuf text + FromPbText(value string) error + // FromYaml unmarshals LObject from YAML text + FromYaml(value string) error + // FromJson unmarshals LObject from JSON text + FromJson(value string) error +} + +func (obj *lObject) Marshal() marshalLObject { + if obj.marshaller == nil { + obj.marshaller = &marshallObject{obj: obj} + } + return obj.marshaller +} + +func (obj *lObject) Unmarshal() unMarshalLObject { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshallObject{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshallObject) ToProto() (*openapi.LObject, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *lObject) FromProto(msg *openapi.LObject) (LObject, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshallObject) FromProto(msg *openapi.LObject) (LObject, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -10146,33 +10879,33 @@ func (obj *lObject) FromProto(msg *openapi.LObject) (LObject, error) { return newObj, nil } -func (obj *lObject) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshallObject) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *lObject) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshallObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *lObject) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshallObject) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -10181,7 +10914,7 @@ func (obj *lObject) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -10192,7 +10925,7 @@ func (obj *lObject) ToYaml() (string, error) { return string(data), nil } -func (obj *lObject) FromYaml(value string) error { +func (m *unMarshallObject) FromYaml(value string) error { if value == "" { value = "{}" } @@ -10204,21 +10937,21 @@ func (obj *lObject) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *lObject) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshallObject) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -10228,14 +10961,14 @@ func (obj *lObject) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *lObject) FromJson(value string) error { +func (m *unMarshallObject) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -10243,13 +10976,13 @@ func (obj *lObject) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - err := obj.validateToAndFrom() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -10262,14 +10995,14 @@ func (obj *lObject) validateToAndFrom() error { return obj.validationResult() } -func (obj *lObject) Validate() error { +func (obj *lObject) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *lObject) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -10277,16 +11010,16 @@ func (obj *lObject) String() string { } func (obj *lObject) Clone() (LObject, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewLObject() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -10296,30 +11029,18 @@ func (obj *lObject) Clone() (LObject, error) { // LObject is format validation object type LObject interface { Validation - // Msg marshals LObject to protobuf object *openapi.LObject + // msg marshals LObject to protobuf object *openapi.LObject // and doesn't set defaults - Msg() *openapi.LObject - // SetMsg unmarshals LObject from protobuf object *openapi.LObject + msg() *openapi.LObject + // setMsg unmarshals LObject from protobuf object *openapi.LObject // and doesn't set defaults - SetMsg(*openapi.LObject) LObject - // ToProto marshals LObject to protobuf object *openapi.LObject - ToProto() (*openapi.LObject, error) - // ToPbText marshals LObject to protobuf text - ToPbText() (string, error) - // ToYaml marshals LObject to YAML text - ToYaml() (string, error) - // ToJson marshals LObject to JSON text - ToJson() (string, error) - // FromProto unmarshals LObject from protobuf object *openapi.LObject - FromProto(msg *openapi.LObject) (LObject, error) - // FromPbText unmarshals LObject from protobuf text - FromPbText(value string) error - // FromYaml unmarshals LObject from YAML text - FromYaml(value string) error - // FromJson unmarshals LObject from JSON text - FromJson(value string) error - // Validate validates LObject - Validate() error + setMsg(*openapi.LObject) LObject + // provides marshal interface + Marshal() marshalLObject + // provides unmarshal interface + Unmarshal() unMarshalLObject + // validate validates LObject + validate() error // A stringer function String() string // Clones the object @@ -10613,9 +11334,11 @@ func (obj *lObject) setDefault() { // ***** LevelOne ***** type levelOne struct { validation - obj *openapi.LevelOne - l1P1Holder LevelTwo - l1P2Holder LevelFour + obj *openapi.LevelOne + marshaller marshalLevelOne + unMarshaller unMarshalLevelOne + l1P1Holder LevelTwo + l1P2Holder LevelFour } func NewLevelOne() LevelOne { @@ -10624,26 +11347,70 @@ func NewLevelOne() LevelOne { return &obj } -func (obj *levelOne) Msg() *openapi.LevelOne { +func (obj *levelOne) msg() *openapi.LevelOne { return obj.obj } -func (obj *levelOne) SetMsg(msg *openapi.LevelOne) LevelOne { +func (obj *levelOne) setMsg(msg *openapi.LevelOne) LevelOne { obj.setNil() proto.Merge(obj.obj, msg) return obj } -func (obj *levelOne) ToProto() (*openapi.LevelOne, error) { - err := obj.validateToAndFrom() +type marshallevelOne struct { + obj *levelOne +} + +type marshalLevelOne interface { + // ToProto marshals LevelOne to protobuf object *openapi.LevelOne + ToProto() (*openapi.LevelOne, error) + // ToPbText marshals LevelOne to protobuf text + ToPbText() (string, error) + // ToYaml marshals LevelOne to YAML text + ToYaml() (string, error) + // ToJson marshals LevelOne to JSON text + ToJson() (string, error) +} + +type unMarshallevelOne struct { + obj *levelOne +} + +type unMarshalLevelOne interface { + // FromProto unmarshals LevelOne from protobuf object *openapi.LevelOne + FromProto(msg *openapi.LevelOne) (LevelOne, error) + // FromPbText unmarshals LevelOne from protobuf text + FromPbText(value string) error + // FromYaml unmarshals LevelOne from YAML text + FromYaml(value string) error + // FromJson unmarshals LevelOne from JSON text + FromJson(value string) error +} + +func (obj *levelOne) Marshal() marshalLevelOne { + if obj.marshaller == nil { + obj.marshaller = &marshallevelOne{obj: obj} + } + return obj.marshaller +} + +func (obj *levelOne) Unmarshal() unMarshalLevelOne { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshallevelOne{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshallevelOne) ToProto() (*openapi.LevelOne, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *levelOne) FromProto(msg *openapi.LevelOne) (LevelOne, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshallevelOne) FromProto(msg *openapi.LevelOne) (LevelOne, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -10651,33 +11418,33 @@ func (obj *levelOne) FromProto(msg *openapi.LevelOne) (LevelOne, error) { return newObj, nil } -func (obj *levelOne) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshallevelOne) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *levelOne) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshallevelOne) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *levelOne) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshallevelOne) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -10686,7 +11453,7 @@ func (obj *levelOne) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -10697,7 +11464,7 @@ func (obj *levelOne) ToYaml() (string, error) { return string(data), nil } -func (obj *levelOne) FromYaml(value string) error { +func (m *unMarshallevelOne) FromYaml(value string) error { if value == "" { value = "{}" } @@ -10709,21 +11476,21 @@ func (obj *levelOne) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *levelOne) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshallevelOne) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -10733,14 +11500,14 @@ func (obj *levelOne) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *levelOne) FromJson(value string) error { +func (m *unMarshallevelOne) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -10748,13 +11515,13 @@ func (obj *levelOne) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - err := obj.validateToAndFrom() + m.obj.setNil() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -10767,14 +11534,14 @@ func (obj *levelOne) validateToAndFrom() error { return obj.validationResult() } -func (obj *levelOne) Validate() error { +func (obj *levelOne) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *levelOne) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -10782,16 +11549,16 @@ func (obj *levelOne) String() string { } func (obj *levelOne) Clone() (LevelOne, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewLevelOne() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -10809,30 +11576,18 @@ func (obj *levelOne) setNil() { // LevelOne is to Test Multi level non-primitive types type LevelOne interface { Validation - // Msg marshals LevelOne to protobuf object *openapi.LevelOne + // msg marshals LevelOne to protobuf object *openapi.LevelOne // and doesn't set defaults - Msg() *openapi.LevelOne - // SetMsg unmarshals LevelOne from protobuf object *openapi.LevelOne + msg() *openapi.LevelOne + // setMsg unmarshals LevelOne from protobuf object *openapi.LevelOne // and doesn't set defaults - SetMsg(*openapi.LevelOne) LevelOne - // ToProto marshals LevelOne to protobuf object *openapi.LevelOne - ToProto() (*openapi.LevelOne, error) - // ToPbText marshals LevelOne to protobuf text - ToPbText() (string, error) - // ToYaml marshals LevelOne to YAML text - ToYaml() (string, error) - // ToJson marshals LevelOne to JSON text - ToJson() (string, error) - // FromProto unmarshals LevelOne from protobuf object *openapi.LevelOne - FromProto(msg *openapi.LevelOne) (LevelOne, error) - // FromPbText unmarshals LevelOne from protobuf text - FromPbText(value string) error - // FromYaml unmarshals LevelOne from YAML text - FromYaml(value string) error - // FromJson unmarshals LevelOne from JSON text - FromJson(value string) error - // Validate validates LevelOne - Validate() error + setMsg(*openapi.LevelOne) LevelOne + // provides marshal interface + Marshal() marshalLevelOne + // provides unmarshal interface + Unmarshal() unMarshalLevelOne + // validate validates LevelOne + validate() error // A stringer function String() string // Clones the object @@ -10863,7 +11618,7 @@ type LevelOne interface { // L1P1 returns a LevelTwo func (obj *levelOne) L1P1() LevelTwo { if obj.obj.L1P1 == nil { - obj.obj.L1P1 = NewLevelTwo().Msg() + obj.obj.L1P1 = NewLevelTwo().msg() } if obj.l1P1Holder == nil { obj.l1P1Holder = &levelTwo{obj: obj.obj.L1P1} @@ -10882,7 +11637,7 @@ func (obj *levelOne) HasL1P1() bool { func (obj *levelOne) SetL1P1(value LevelTwo) LevelOne { obj.l1P1Holder = nil - obj.obj.L1P1 = value.Msg() + obj.obj.L1P1 = value.msg() return obj } @@ -10891,7 +11646,7 @@ func (obj *levelOne) SetL1P1(value LevelTwo) LevelOne { // L1P2 returns a LevelFour func (obj *levelOne) L1P2() LevelFour { if obj.obj.L1P2 == nil { - obj.obj.L1P2 = NewLevelFour().Msg() + obj.obj.L1P2 = NewLevelFour().msg() } if obj.l1P2Holder == nil { obj.l1P2Holder = &levelFour{obj: obj.obj.L1P2} @@ -10910,7 +11665,7 @@ func (obj *levelOne) HasL1P2() bool { func (obj *levelOne) SetL1P2(value LevelFour) LevelOne { obj.l1P2Holder = nil - obj.obj.L1P2 = value.Msg() + obj.obj.L1P2 = value.msg() return obj } @@ -10939,7 +11694,9 @@ func (obj *levelOne) setDefault() { // ***** Mandate ***** type mandate struct { validation - obj *openapi.Mandate + obj *openapi.Mandate + marshaller marshalMandate + unMarshaller unMarshalMandate } func NewMandate() Mandate { @@ -10948,26 +11705,70 @@ func NewMandate() Mandate { return &obj } -func (obj *mandate) Msg() *openapi.Mandate { +func (obj *mandate) msg() *openapi.Mandate { return obj.obj } -func (obj *mandate) SetMsg(msg *openapi.Mandate) Mandate { +func (obj *mandate) setMsg(msg *openapi.Mandate) Mandate { proto.Merge(obj.obj, msg) return obj } -func (obj *mandate) ToProto() (*openapi.Mandate, error) { - err := obj.validateToAndFrom() +type marshalmandate struct { + obj *mandate +} + +type marshalMandate interface { + // ToProto marshals Mandate to protobuf object *openapi.Mandate + ToProto() (*openapi.Mandate, error) + // ToPbText marshals Mandate to protobuf text + ToPbText() (string, error) + // ToYaml marshals Mandate to YAML text + ToYaml() (string, error) + // ToJson marshals Mandate to JSON text + ToJson() (string, error) +} + +type unMarshalmandate struct { + obj *mandate +} + +type unMarshalMandate interface { + // FromProto unmarshals Mandate from protobuf object *openapi.Mandate + FromProto(msg *openapi.Mandate) (Mandate, error) + // FromPbText unmarshals Mandate from protobuf text + FromPbText(value string) error + // FromYaml unmarshals Mandate from YAML text + FromYaml(value string) error + // FromJson unmarshals Mandate from JSON text + FromJson(value string) error +} + +func (obj *mandate) Marshal() marshalMandate { + if obj.marshaller == nil { + obj.marshaller = &marshalmandate{obj: obj} + } + return obj.marshaller +} + +func (obj *mandate) Unmarshal() unMarshalMandate { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalmandate{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalmandate) ToProto() (*openapi.Mandate, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *mandate) FromProto(msg *openapi.Mandate) (Mandate, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalmandate) FromProto(msg *openapi.Mandate) (Mandate, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -10975,33 +11776,33 @@ func (obj *mandate) FromProto(msg *openapi.Mandate) (Mandate, error) { return newObj, nil } -func (obj *mandate) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalmandate) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *mandate) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalmandate) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *mandate) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalmandate) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -11010,7 +11811,7 @@ func (obj *mandate) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -11021,7 +11822,7 @@ func (obj *mandate) ToYaml() (string, error) { return string(data), nil } -func (obj *mandate) FromYaml(value string) error { +func (m *unMarshalmandate) FromYaml(value string) error { if value == "" { value = "{}" } @@ -11033,21 +11834,21 @@ func (obj *mandate) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *mandate) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalmandate) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -11057,14 +11858,14 @@ func (obj *mandate) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *mandate) FromJson(value string) error { +func (m *unMarshalmandate) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -11072,13 +11873,13 @@ func (obj *mandate) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - err := obj.validateToAndFrom() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -11091,14 +11892,14 @@ func (obj *mandate) validateToAndFrom() error { return obj.validationResult() } -func (obj *mandate) Validate() error { +func (obj *mandate) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *mandate) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -11106,16 +11907,16 @@ func (obj *mandate) String() string { } func (obj *mandate) Clone() (Mandate, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewMandate() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -11125,30 +11926,18 @@ func (obj *mandate) Clone() (Mandate, error) { // Mandate is object to Test required Parameter type Mandate interface { Validation - // Msg marshals Mandate to protobuf object *openapi.Mandate + // msg marshals Mandate to protobuf object *openapi.Mandate // and doesn't set defaults - Msg() *openapi.Mandate - // SetMsg unmarshals Mandate from protobuf object *openapi.Mandate + msg() *openapi.Mandate + // setMsg unmarshals Mandate from protobuf object *openapi.Mandate // and doesn't set defaults - SetMsg(*openapi.Mandate) Mandate - // ToProto marshals Mandate to protobuf object *openapi.Mandate - ToProto() (*openapi.Mandate, error) - // ToPbText marshals Mandate to protobuf text - ToPbText() (string, error) - // ToYaml marshals Mandate to YAML text - ToYaml() (string, error) - // ToJson marshals Mandate to JSON text - ToJson() (string, error) - // FromProto unmarshals Mandate from protobuf object *openapi.Mandate - FromProto(msg *openapi.Mandate) (Mandate, error) - // FromPbText unmarshals Mandate from protobuf text - FromPbText(value string) error - // FromYaml unmarshals Mandate from YAML text - FromYaml(value string) error - // FromJson unmarshals Mandate from JSON text - FromJson(value string) error - // Validate validates Mandate - Validate() error + setMsg(*openapi.Mandate) Mandate + // provides marshal interface + Marshal() marshalMandate + // provides unmarshal interface + Unmarshal() unMarshalMandate + // validate validates Mandate + validate() error // A stringer function String() string // Clones the object @@ -11196,8 +11985,10 @@ func (obj *mandate) setDefault() { // ***** Ipv4Pattern ***** type ipv4Pattern struct { validation - obj *openapi.Ipv4Pattern - ipv4Holder PatternIpv4PatternIpv4 + obj *openapi.Ipv4Pattern + marshaller marshalIpv4Pattern + unMarshaller unMarshalIpv4Pattern + ipv4Holder PatternIpv4PatternIpv4 } func NewIpv4Pattern() Ipv4Pattern { @@ -11206,26 +11997,70 @@ func NewIpv4Pattern() Ipv4Pattern { return &obj } -func (obj *ipv4Pattern) Msg() *openapi.Ipv4Pattern { +func (obj *ipv4Pattern) msg() *openapi.Ipv4Pattern { return obj.obj } -func (obj *ipv4Pattern) SetMsg(msg *openapi.Ipv4Pattern) Ipv4Pattern { +func (obj *ipv4Pattern) setMsg(msg *openapi.Ipv4Pattern) Ipv4Pattern { obj.setNil() proto.Merge(obj.obj, msg) return obj } -func (obj *ipv4Pattern) ToProto() (*openapi.Ipv4Pattern, error) { - err := obj.validateToAndFrom() +type marshalipv4Pattern struct { + obj *ipv4Pattern +} + +type marshalIpv4Pattern interface { + // ToProto marshals Ipv4Pattern to protobuf object *openapi.Ipv4Pattern + ToProto() (*openapi.Ipv4Pattern, error) + // ToPbText marshals Ipv4Pattern to protobuf text + ToPbText() (string, error) + // ToYaml marshals Ipv4Pattern to YAML text + ToYaml() (string, error) + // ToJson marshals Ipv4Pattern to JSON text + ToJson() (string, error) +} + +type unMarshalipv4Pattern struct { + obj *ipv4Pattern +} + +type unMarshalIpv4Pattern interface { + // FromProto unmarshals Ipv4Pattern from protobuf object *openapi.Ipv4Pattern + FromProto(msg *openapi.Ipv4Pattern) (Ipv4Pattern, error) + // FromPbText unmarshals Ipv4Pattern from protobuf text + FromPbText(value string) error + // FromYaml unmarshals Ipv4Pattern from YAML text + FromYaml(value string) error + // FromJson unmarshals Ipv4Pattern from JSON text + FromJson(value string) error +} + +func (obj *ipv4Pattern) Marshal() marshalIpv4Pattern { + if obj.marshaller == nil { + obj.marshaller = &marshalipv4Pattern{obj: obj} + } + return obj.marshaller +} + +func (obj *ipv4Pattern) Unmarshal() unMarshalIpv4Pattern { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalipv4Pattern{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalipv4Pattern) ToProto() (*openapi.Ipv4Pattern, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *ipv4Pattern) FromProto(msg *openapi.Ipv4Pattern) (Ipv4Pattern, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalipv4Pattern) FromProto(msg *openapi.Ipv4Pattern) (Ipv4Pattern, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -11233,33 +12068,33 @@ func (obj *ipv4Pattern) FromProto(msg *openapi.Ipv4Pattern) (Ipv4Pattern, error) return newObj, nil } -func (obj *ipv4Pattern) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalipv4Pattern) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *ipv4Pattern) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalipv4Pattern) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *ipv4Pattern) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalipv4Pattern) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -11268,7 +12103,7 @@ func (obj *ipv4Pattern) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -11279,7 +12114,7 @@ func (obj *ipv4Pattern) ToYaml() (string, error) { return string(data), nil } -func (obj *ipv4Pattern) FromYaml(value string) error { +func (m *unMarshalipv4Pattern) FromYaml(value string) error { if value == "" { value = "{}" } @@ -11291,21 +12126,21 @@ func (obj *ipv4Pattern) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *ipv4Pattern) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalipv4Pattern) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -11315,14 +12150,14 @@ func (obj *ipv4Pattern) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *ipv4Pattern) FromJson(value string) error { +func (m *unMarshalipv4Pattern) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -11330,13 +12165,13 @@ func (obj *ipv4Pattern) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - err := obj.validateToAndFrom() + m.obj.setNil() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -11349,14 +12184,14 @@ func (obj *ipv4Pattern) validateToAndFrom() error { return obj.validationResult() } -func (obj *ipv4Pattern) Validate() error { +func (obj *ipv4Pattern) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *ipv4Pattern) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -11364,16 +12199,16 @@ func (obj *ipv4Pattern) String() string { } func (obj *ipv4Pattern) Clone() (Ipv4Pattern, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewIpv4Pattern() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -11390,30 +12225,18 @@ func (obj *ipv4Pattern) setNil() { // Ipv4Pattern is test ipv4 pattern type Ipv4Pattern interface { Validation - // Msg marshals Ipv4Pattern to protobuf object *openapi.Ipv4Pattern + // msg marshals Ipv4Pattern to protobuf object *openapi.Ipv4Pattern // and doesn't set defaults - Msg() *openapi.Ipv4Pattern - // SetMsg unmarshals Ipv4Pattern from protobuf object *openapi.Ipv4Pattern + msg() *openapi.Ipv4Pattern + // setMsg unmarshals Ipv4Pattern from protobuf object *openapi.Ipv4Pattern // and doesn't set defaults - SetMsg(*openapi.Ipv4Pattern) Ipv4Pattern - // ToProto marshals Ipv4Pattern to protobuf object *openapi.Ipv4Pattern - ToProto() (*openapi.Ipv4Pattern, error) - // ToPbText marshals Ipv4Pattern to protobuf text - ToPbText() (string, error) - // ToYaml marshals Ipv4Pattern to YAML text - ToYaml() (string, error) - // ToJson marshals Ipv4Pattern to JSON text - ToJson() (string, error) - // FromProto unmarshals Ipv4Pattern from protobuf object *openapi.Ipv4Pattern - FromProto(msg *openapi.Ipv4Pattern) (Ipv4Pattern, error) - // FromPbText unmarshals Ipv4Pattern from protobuf text - FromPbText(value string) error - // FromYaml unmarshals Ipv4Pattern from YAML text - FromYaml(value string) error - // FromJson unmarshals Ipv4Pattern from JSON text - FromJson(value string) error - // Validate validates Ipv4Pattern - Validate() error + setMsg(*openapi.Ipv4Pattern) Ipv4Pattern + // provides marshal interface + Marshal() marshalIpv4Pattern + // provides unmarshal interface + Unmarshal() unMarshalIpv4Pattern + // validate validates Ipv4Pattern + validate() error // A stringer function String() string // Clones the object @@ -11436,7 +12259,7 @@ type Ipv4Pattern interface { // Ipv4 returns a PatternIpv4PatternIpv4 func (obj *ipv4Pattern) Ipv4() PatternIpv4PatternIpv4 { if obj.obj.Ipv4 == nil { - obj.obj.Ipv4 = NewPatternIpv4PatternIpv4().Msg() + obj.obj.Ipv4 = NewPatternIpv4PatternIpv4().msg() } if obj.ipv4Holder == nil { obj.ipv4Holder = &patternIpv4PatternIpv4{obj: obj.obj.Ipv4} @@ -11455,7 +12278,7 @@ func (obj *ipv4Pattern) HasIpv4() bool { func (obj *ipv4Pattern) SetIpv4(value PatternIpv4PatternIpv4) Ipv4Pattern { obj.ipv4Holder = nil - obj.obj.Ipv4 = value.Msg() + obj.obj.Ipv4 = value.msg() return obj } @@ -11479,8 +12302,10 @@ func (obj *ipv4Pattern) setDefault() { // ***** Ipv6Pattern ***** type ipv6Pattern struct { validation - obj *openapi.Ipv6Pattern - ipv6Holder PatternIpv6PatternIpv6 + obj *openapi.Ipv6Pattern + marshaller marshalIpv6Pattern + unMarshaller unMarshalIpv6Pattern + ipv6Holder PatternIpv6PatternIpv6 } func NewIpv6Pattern() Ipv6Pattern { @@ -11489,26 +12314,70 @@ func NewIpv6Pattern() Ipv6Pattern { return &obj } -func (obj *ipv6Pattern) Msg() *openapi.Ipv6Pattern { +func (obj *ipv6Pattern) msg() *openapi.Ipv6Pattern { return obj.obj } -func (obj *ipv6Pattern) SetMsg(msg *openapi.Ipv6Pattern) Ipv6Pattern { +func (obj *ipv6Pattern) setMsg(msg *openapi.Ipv6Pattern) Ipv6Pattern { obj.setNil() proto.Merge(obj.obj, msg) return obj } -func (obj *ipv6Pattern) ToProto() (*openapi.Ipv6Pattern, error) { - err := obj.validateToAndFrom() +type marshalipv6Pattern struct { + obj *ipv6Pattern +} + +type marshalIpv6Pattern interface { + // ToProto marshals Ipv6Pattern to protobuf object *openapi.Ipv6Pattern + ToProto() (*openapi.Ipv6Pattern, error) + // ToPbText marshals Ipv6Pattern to protobuf text + ToPbText() (string, error) + // ToYaml marshals Ipv6Pattern to YAML text + ToYaml() (string, error) + // ToJson marshals Ipv6Pattern to JSON text + ToJson() (string, error) +} + +type unMarshalipv6Pattern struct { + obj *ipv6Pattern +} + +type unMarshalIpv6Pattern interface { + // FromProto unmarshals Ipv6Pattern from protobuf object *openapi.Ipv6Pattern + FromProto(msg *openapi.Ipv6Pattern) (Ipv6Pattern, error) + // FromPbText unmarshals Ipv6Pattern from protobuf text + FromPbText(value string) error + // FromYaml unmarshals Ipv6Pattern from YAML text + FromYaml(value string) error + // FromJson unmarshals Ipv6Pattern from JSON text + FromJson(value string) error +} + +func (obj *ipv6Pattern) Marshal() marshalIpv6Pattern { + if obj.marshaller == nil { + obj.marshaller = &marshalipv6Pattern{obj: obj} + } + return obj.marshaller +} + +func (obj *ipv6Pattern) Unmarshal() unMarshalIpv6Pattern { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalipv6Pattern{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalipv6Pattern) ToProto() (*openapi.Ipv6Pattern, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *ipv6Pattern) FromProto(msg *openapi.Ipv6Pattern) (Ipv6Pattern, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalipv6Pattern) FromProto(msg *openapi.Ipv6Pattern) (Ipv6Pattern, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -11516,33 +12385,33 @@ func (obj *ipv6Pattern) FromProto(msg *openapi.Ipv6Pattern) (Ipv6Pattern, error) return newObj, nil } -func (obj *ipv6Pattern) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalipv6Pattern) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *ipv6Pattern) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalipv6Pattern) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *ipv6Pattern) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalipv6Pattern) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -11551,7 +12420,7 @@ func (obj *ipv6Pattern) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -11562,7 +12431,7 @@ func (obj *ipv6Pattern) ToYaml() (string, error) { return string(data), nil } -func (obj *ipv6Pattern) FromYaml(value string) error { +func (m *unMarshalipv6Pattern) FromYaml(value string) error { if value == "" { value = "{}" } @@ -11574,21 +12443,21 @@ func (obj *ipv6Pattern) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *ipv6Pattern) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalipv6Pattern) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -11598,14 +12467,14 @@ func (obj *ipv6Pattern) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *ipv6Pattern) FromJson(value string) error { +func (m *unMarshalipv6Pattern) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -11613,13 +12482,13 @@ func (obj *ipv6Pattern) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - err := obj.validateToAndFrom() + m.obj.setNil() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -11632,14 +12501,14 @@ func (obj *ipv6Pattern) validateToAndFrom() error { return obj.validationResult() } -func (obj *ipv6Pattern) Validate() error { +func (obj *ipv6Pattern) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *ipv6Pattern) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -11647,56 +12516,44 @@ func (obj *ipv6Pattern) String() string { } func (obj *ipv6Pattern) Clone() (Ipv6Pattern, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewIpv6Pattern() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } - return newObj, nil -} - -func (obj *ipv6Pattern) setNil() { - obj.ipv6Holder = nil - obj.validationErrors = nil - obj.warnings = nil - obj.constraints = make(map[string]map[string]Constraints) -} - -// Ipv6Pattern is test ipv6 pattern -type Ipv6Pattern interface { - Validation - // Msg marshals Ipv6Pattern to protobuf object *openapi.Ipv6Pattern - // and doesn't set defaults - Msg() *openapi.Ipv6Pattern - // SetMsg unmarshals Ipv6Pattern from protobuf object *openapi.Ipv6Pattern - // and doesn't set defaults - SetMsg(*openapi.Ipv6Pattern) Ipv6Pattern - // ToProto marshals Ipv6Pattern to protobuf object *openapi.Ipv6Pattern - ToProto() (*openapi.Ipv6Pattern, error) - // ToPbText marshals Ipv6Pattern to protobuf text - ToPbText() (string, error) - // ToYaml marshals Ipv6Pattern to YAML text - ToYaml() (string, error) - // ToJson marshals Ipv6Pattern to JSON text - ToJson() (string, error) - // FromProto unmarshals Ipv6Pattern from protobuf object *openapi.Ipv6Pattern - FromProto(msg *openapi.Ipv6Pattern) (Ipv6Pattern, error) - // FromPbText unmarshals Ipv6Pattern from protobuf text - FromPbText(value string) error - // FromYaml unmarshals Ipv6Pattern from YAML text - FromYaml(value string) error - // FromJson unmarshals Ipv6Pattern from JSON text - FromJson(value string) error - // Validate validates Ipv6Pattern - Validate() error + return newObj, nil +} + +func (obj *ipv6Pattern) setNil() { + obj.ipv6Holder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// Ipv6Pattern is test ipv6 pattern +type Ipv6Pattern interface { + Validation + // msg marshals Ipv6Pattern to protobuf object *openapi.Ipv6Pattern + // and doesn't set defaults + msg() *openapi.Ipv6Pattern + // setMsg unmarshals Ipv6Pattern from protobuf object *openapi.Ipv6Pattern + // and doesn't set defaults + setMsg(*openapi.Ipv6Pattern) Ipv6Pattern + // provides marshal interface + Marshal() marshalIpv6Pattern + // provides unmarshal interface + Unmarshal() unMarshalIpv6Pattern + // validate validates Ipv6Pattern + validate() error // A stringer function String() string // Clones the object @@ -11719,7 +12576,7 @@ type Ipv6Pattern interface { // Ipv6 returns a PatternIpv6PatternIpv6 func (obj *ipv6Pattern) Ipv6() PatternIpv6PatternIpv6 { if obj.obj.Ipv6 == nil { - obj.obj.Ipv6 = NewPatternIpv6PatternIpv6().Msg() + obj.obj.Ipv6 = NewPatternIpv6PatternIpv6().msg() } if obj.ipv6Holder == nil { obj.ipv6Holder = &patternIpv6PatternIpv6{obj: obj.obj.Ipv6} @@ -11738,7 +12595,7 @@ func (obj *ipv6Pattern) HasIpv6() bool { func (obj *ipv6Pattern) SetIpv6(value PatternIpv6PatternIpv6) Ipv6Pattern { obj.ipv6Holder = nil - obj.obj.Ipv6 = value.Msg() + obj.obj.Ipv6 = value.msg() return obj } @@ -11762,8 +12619,10 @@ func (obj *ipv6Pattern) setDefault() { // ***** MacPattern ***** type macPattern struct { validation - obj *openapi.MacPattern - macHolder PatternMacPatternMac + obj *openapi.MacPattern + marshaller marshalMacPattern + unMarshaller unMarshalMacPattern + macHolder PatternMacPatternMac } func NewMacPattern() MacPattern { @@ -11772,26 +12631,70 @@ func NewMacPattern() MacPattern { return &obj } -func (obj *macPattern) Msg() *openapi.MacPattern { +func (obj *macPattern) msg() *openapi.MacPattern { return obj.obj } -func (obj *macPattern) SetMsg(msg *openapi.MacPattern) MacPattern { +func (obj *macPattern) setMsg(msg *openapi.MacPattern) MacPattern { obj.setNil() proto.Merge(obj.obj, msg) return obj } -func (obj *macPattern) ToProto() (*openapi.MacPattern, error) { - err := obj.validateToAndFrom() +type marshalmacPattern struct { + obj *macPattern +} + +type marshalMacPattern interface { + // ToProto marshals MacPattern to protobuf object *openapi.MacPattern + ToProto() (*openapi.MacPattern, error) + // ToPbText marshals MacPattern to protobuf text + ToPbText() (string, error) + // ToYaml marshals MacPattern to YAML text + ToYaml() (string, error) + // ToJson marshals MacPattern to JSON text + ToJson() (string, error) +} + +type unMarshalmacPattern struct { + obj *macPattern +} + +type unMarshalMacPattern interface { + // FromProto unmarshals MacPattern from protobuf object *openapi.MacPattern + FromProto(msg *openapi.MacPattern) (MacPattern, error) + // FromPbText unmarshals MacPattern from protobuf text + FromPbText(value string) error + // FromYaml unmarshals MacPattern from YAML text + FromYaml(value string) error + // FromJson unmarshals MacPattern from JSON text + FromJson(value string) error +} + +func (obj *macPattern) Marshal() marshalMacPattern { + if obj.marshaller == nil { + obj.marshaller = &marshalmacPattern{obj: obj} + } + return obj.marshaller +} + +func (obj *macPattern) Unmarshal() unMarshalMacPattern { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalmacPattern{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalmacPattern) ToProto() (*openapi.MacPattern, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *macPattern) FromProto(msg *openapi.MacPattern) (MacPattern, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalmacPattern) FromProto(msg *openapi.MacPattern) (MacPattern, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -11799,33 +12702,33 @@ func (obj *macPattern) FromProto(msg *openapi.MacPattern) (MacPattern, error) { return newObj, nil } -func (obj *macPattern) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalmacPattern) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *macPattern) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalmacPattern) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *macPattern) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalmacPattern) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -11834,7 +12737,7 @@ func (obj *macPattern) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -11845,7 +12748,7 @@ func (obj *macPattern) ToYaml() (string, error) { return string(data), nil } -func (obj *macPattern) FromYaml(value string) error { +func (m *unMarshalmacPattern) FromYaml(value string) error { if value == "" { value = "{}" } @@ -11857,21 +12760,21 @@ func (obj *macPattern) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *macPattern) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalmacPattern) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -11881,14 +12784,14 @@ func (obj *macPattern) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *macPattern) FromJson(value string) error { +func (m *unMarshalmacPattern) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -11896,13 +12799,13 @@ func (obj *macPattern) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - err := obj.validateToAndFrom() + m.obj.setNil() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -11915,14 +12818,14 @@ func (obj *macPattern) validateToAndFrom() error { return obj.validationResult() } -func (obj *macPattern) Validate() error { +func (obj *macPattern) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *macPattern) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -11930,16 +12833,16 @@ func (obj *macPattern) String() string { } func (obj *macPattern) Clone() (MacPattern, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewMacPattern() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -11956,30 +12859,18 @@ func (obj *macPattern) setNil() { // MacPattern is test mac pattern type MacPattern interface { Validation - // Msg marshals MacPattern to protobuf object *openapi.MacPattern + // msg marshals MacPattern to protobuf object *openapi.MacPattern // and doesn't set defaults - Msg() *openapi.MacPattern - // SetMsg unmarshals MacPattern from protobuf object *openapi.MacPattern + msg() *openapi.MacPattern + // setMsg unmarshals MacPattern from protobuf object *openapi.MacPattern // and doesn't set defaults - SetMsg(*openapi.MacPattern) MacPattern - // ToProto marshals MacPattern to protobuf object *openapi.MacPattern - ToProto() (*openapi.MacPattern, error) - // ToPbText marshals MacPattern to protobuf text - ToPbText() (string, error) - // ToYaml marshals MacPattern to YAML text - ToYaml() (string, error) - // ToJson marshals MacPattern to JSON text - ToJson() (string, error) - // FromProto unmarshals MacPattern from protobuf object *openapi.MacPattern - FromProto(msg *openapi.MacPattern) (MacPattern, error) - // FromPbText unmarshals MacPattern from protobuf text - FromPbText(value string) error - // FromYaml unmarshals MacPattern from YAML text - FromYaml(value string) error - // FromJson unmarshals MacPattern from JSON text - FromJson(value string) error - // Validate validates MacPattern - Validate() error + setMsg(*openapi.MacPattern) MacPattern + // provides marshal interface + Marshal() marshalMacPattern + // provides unmarshal interface + Unmarshal() unMarshalMacPattern + // validate validates MacPattern + validate() error // A stringer function String() string // Clones the object @@ -12002,7 +12893,7 @@ type MacPattern interface { // Mac returns a PatternMacPatternMac func (obj *macPattern) Mac() PatternMacPatternMac { if obj.obj.Mac == nil { - obj.obj.Mac = NewPatternMacPatternMac().Msg() + obj.obj.Mac = NewPatternMacPatternMac().msg() } if obj.macHolder == nil { obj.macHolder = &patternMacPatternMac{obj: obj.obj.Mac} @@ -12021,7 +12912,7 @@ func (obj *macPattern) HasMac() bool { func (obj *macPattern) SetMac(value PatternMacPatternMac) MacPattern { obj.macHolder = nil - obj.obj.Mac = value.Msg() + obj.obj.Mac = value.msg() return obj } @@ -12046,6 +12937,8 @@ func (obj *macPattern) setDefault() { type integerPattern struct { validation obj *openapi.IntegerPattern + marshaller marshalIntegerPattern + unMarshaller unMarshalIntegerPattern integerHolder PatternIntegerPatternInteger } @@ -12055,26 +12948,70 @@ func NewIntegerPattern() IntegerPattern { return &obj } -func (obj *integerPattern) Msg() *openapi.IntegerPattern { +func (obj *integerPattern) msg() *openapi.IntegerPattern { return obj.obj } -func (obj *integerPattern) SetMsg(msg *openapi.IntegerPattern) IntegerPattern { +func (obj *integerPattern) setMsg(msg *openapi.IntegerPattern) IntegerPattern { obj.setNil() proto.Merge(obj.obj, msg) return obj } -func (obj *integerPattern) ToProto() (*openapi.IntegerPattern, error) { - err := obj.validateToAndFrom() +type marshalintegerPattern struct { + obj *integerPattern +} + +type marshalIntegerPattern interface { + // ToProto marshals IntegerPattern to protobuf object *openapi.IntegerPattern + ToProto() (*openapi.IntegerPattern, error) + // ToPbText marshals IntegerPattern to protobuf text + ToPbText() (string, error) + // ToYaml marshals IntegerPattern to YAML text + ToYaml() (string, error) + // ToJson marshals IntegerPattern to JSON text + ToJson() (string, error) +} + +type unMarshalintegerPattern struct { + obj *integerPattern +} + +type unMarshalIntegerPattern interface { + // FromProto unmarshals IntegerPattern from protobuf object *openapi.IntegerPattern + FromProto(msg *openapi.IntegerPattern) (IntegerPattern, error) + // FromPbText unmarshals IntegerPattern from protobuf text + FromPbText(value string) error + // FromYaml unmarshals IntegerPattern from YAML text + FromYaml(value string) error + // FromJson unmarshals IntegerPattern from JSON text + FromJson(value string) error +} + +func (obj *integerPattern) Marshal() marshalIntegerPattern { + if obj.marshaller == nil { + obj.marshaller = &marshalintegerPattern{obj: obj} + } + return obj.marshaller +} + +func (obj *integerPattern) Unmarshal() unMarshalIntegerPattern { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalintegerPattern{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalintegerPattern) ToProto() (*openapi.IntegerPattern, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *integerPattern) FromProto(msg *openapi.IntegerPattern) (IntegerPattern, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalintegerPattern) FromProto(msg *openapi.IntegerPattern) (IntegerPattern, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -12082,33 +13019,33 @@ func (obj *integerPattern) FromProto(msg *openapi.IntegerPattern) (IntegerPatter return newObj, nil } -func (obj *integerPattern) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalintegerPattern) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *integerPattern) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalintegerPattern) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *integerPattern) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalintegerPattern) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -12117,7 +13054,7 @@ func (obj *integerPattern) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -12128,7 +13065,7 @@ func (obj *integerPattern) ToYaml() (string, error) { return string(data), nil } -func (obj *integerPattern) FromYaml(value string) error { +func (m *unMarshalintegerPattern) FromYaml(value string) error { if value == "" { value = "{}" } @@ -12140,21 +13077,21 @@ func (obj *integerPattern) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *integerPattern) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalintegerPattern) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -12164,14 +13101,14 @@ func (obj *integerPattern) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *integerPattern) FromJson(value string) error { +func (m *unMarshalintegerPattern) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -12179,13 +13116,13 @@ func (obj *integerPattern) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - err := obj.validateToAndFrom() + m.obj.setNil() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -12198,14 +13135,14 @@ func (obj *integerPattern) validateToAndFrom() error { return obj.validationResult() } -func (obj *integerPattern) Validate() error { +func (obj *integerPattern) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *integerPattern) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -12213,16 +13150,16 @@ func (obj *integerPattern) String() string { } func (obj *integerPattern) Clone() (IntegerPattern, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewIntegerPattern() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -12239,30 +13176,18 @@ func (obj *integerPattern) setNil() { // IntegerPattern is test integer pattern type IntegerPattern interface { Validation - // Msg marshals IntegerPattern to protobuf object *openapi.IntegerPattern + // msg marshals IntegerPattern to protobuf object *openapi.IntegerPattern // and doesn't set defaults - Msg() *openapi.IntegerPattern - // SetMsg unmarshals IntegerPattern from protobuf object *openapi.IntegerPattern + msg() *openapi.IntegerPattern + // setMsg unmarshals IntegerPattern from protobuf object *openapi.IntegerPattern // and doesn't set defaults - SetMsg(*openapi.IntegerPattern) IntegerPattern - // ToProto marshals IntegerPattern to protobuf object *openapi.IntegerPattern - ToProto() (*openapi.IntegerPattern, error) - // ToPbText marshals IntegerPattern to protobuf text - ToPbText() (string, error) - // ToYaml marshals IntegerPattern to YAML text - ToYaml() (string, error) - // ToJson marshals IntegerPattern to JSON text - ToJson() (string, error) - // FromProto unmarshals IntegerPattern from protobuf object *openapi.IntegerPattern - FromProto(msg *openapi.IntegerPattern) (IntegerPattern, error) - // FromPbText unmarshals IntegerPattern from protobuf text - FromPbText(value string) error - // FromYaml unmarshals IntegerPattern from YAML text - FromYaml(value string) error - // FromJson unmarshals IntegerPattern from JSON text - FromJson(value string) error - // Validate validates IntegerPattern - Validate() error + setMsg(*openapi.IntegerPattern) IntegerPattern + // provides marshal interface + Marshal() marshalIntegerPattern + // provides unmarshal interface + Unmarshal() unMarshalIntegerPattern + // validate validates IntegerPattern + validate() error // A stringer function String() string // Clones the object @@ -12285,7 +13210,7 @@ type IntegerPattern interface { // Integer returns a PatternIntegerPatternInteger func (obj *integerPattern) Integer() PatternIntegerPatternInteger { if obj.obj.Integer == nil { - obj.obj.Integer = NewPatternIntegerPatternInteger().Msg() + obj.obj.Integer = NewPatternIntegerPatternInteger().msg() } if obj.integerHolder == nil { obj.integerHolder = &patternIntegerPatternInteger{obj: obj.obj.Integer} @@ -12304,7 +13229,7 @@ func (obj *integerPattern) HasInteger() bool { func (obj *integerPattern) SetInteger(value PatternIntegerPatternInteger) IntegerPattern { obj.integerHolder = nil - obj.obj.Integer = value.Msg() + obj.obj.Integer = value.msg() return obj } @@ -12329,6 +13254,8 @@ func (obj *integerPattern) setDefault() { type checksumPattern struct { validation obj *openapi.ChecksumPattern + marshaller marshalChecksumPattern + unMarshaller unMarshalChecksumPattern checksumHolder PatternChecksumPatternChecksum } @@ -12338,26 +13265,70 @@ func NewChecksumPattern() ChecksumPattern { return &obj } -func (obj *checksumPattern) Msg() *openapi.ChecksumPattern { +func (obj *checksumPattern) msg() *openapi.ChecksumPattern { return obj.obj } -func (obj *checksumPattern) SetMsg(msg *openapi.ChecksumPattern) ChecksumPattern { +func (obj *checksumPattern) setMsg(msg *openapi.ChecksumPattern) ChecksumPattern { obj.setNil() proto.Merge(obj.obj, msg) return obj } -func (obj *checksumPattern) ToProto() (*openapi.ChecksumPattern, error) { - err := obj.validateToAndFrom() +type marshalchecksumPattern struct { + obj *checksumPattern +} + +type marshalChecksumPattern interface { + // ToProto marshals ChecksumPattern to protobuf object *openapi.ChecksumPattern + ToProto() (*openapi.ChecksumPattern, error) + // ToPbText marshals ChecksumPattern to protobuf text + ToPbText() (string, error) + // ToYaml marshals ChecksumPattern to YAML text + ToYaml() (string, error) + // ToJson marshals ChecksumPattern to JSON text + ToJson() (string, error) +} + +type unMarshalchecksumPattern struct { + obj *checksumPattern +} + +type unMarshalChecksumPattern interface { + // FromProto unmarshals ChecksumPattern from protobuf object *openapi.ChecksumPattern + FromProto(msg *openapi.ChecksumPattern) (ChecksumPattern, error) + // FromPbText unmarshals ChecksumPattern from protobuf text + FromPbText(value string) error + // FromYaml unmarshals ChecksumPattern from YAML text + FromYaml(value string) error + // FromJson unmarshals ChecksumPattern from JSON text + FromJson(value string) error +} + +func (obj *checksumPattern) Marshal() marshalChecksumPattern { + if obj.marshaller == nil { + obj.marshaller = &marshalchecksumPattern{obj: obj} + } + return obj.marshaller +} + +func (obj *checksumPattern) Unmarshal() unMarshalChecksumPattern { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalchecksumPattern{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalchecksumPattern) ToProto() (*openapi.ChecksumPattern, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *checksumPattern) FromProto(msg *openapi.ChecksumPattern) (ChecksumPattern, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalchecksumPattern) FromProto(msg *openapi.ChecksumPattern) (ChecksumPattern, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -12365,33 +13336,33 @@ func (obj *checksumPattern) FromProto(msg *openapi.ChecksumPattern) (ChecksumPat return newObj, nil } -func (obj *checksumPattern) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalchecksumPattern) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *checksumPattern) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalchecksumPattern) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *checksumPattern) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalchecksumPattern) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -12400,7 +13371,7 @@ func (obj *checksumPattern) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -12411,7 +13382,7 @@ func (obj *checksumPattern) ToYaml() (string, error) { return string(data), nil } -func (obj *checksumPattern) FromYaml(value string) error { +func (m *unMarshalchecksumPattern) FromYaml(value string) error { if value == "" { value = "{}" } @@ -12423,21 +13394,21 @@ func (obj *checksumPattern) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *checksumPattern) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalchecksumPattern) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -12447,14 +13418,14 @@ func (obj *checksumPattern) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *checksumPattern) FromJson(value string) error { +func (m *unMarshalchecksumPattern) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -12462,13 +13433,13 @@ func (obj *checksumPattern) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - err := obj.validateToAndFrom() + m.obj.setNil() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -12481,14 +13452,14 @@ func (obj *checksumPattern) validateToAndFrom() error { return obj.validationResult() } -func (obj *checksumPattern) Validate() error { +func (obj *checksumPattern) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *checksumPattern) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -12496,16 +13467,16 @@ func (obj *checksumPattern) String() string { } func (obj *checksumPattern) Clone() (ChecksumPattern, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewChecksumPattern() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -12522,30 +13493,18 @@ func (obj *checksumPattern) setNil() { // ChecksumPattern is test checksum pattern type ChecksumPattern interface { Validation - // Msg marshals ChecksumPattern to protobuf object *openapi.ChecksumPattern + // msg marshals ChecksumPattern to protobuf object *openapi.ChecksumPattern // and doesn't set defaults - Msg() *openapi.ChecksumPattern - // SetMsg unmarshals ChecksumPattern from protobuf object *openapi.ChecksumPattern + msg() *openapi.ChecksumPattern + // setMsg unmarshals ChecksumPattern from protobuf object *openapi.ChecksumPattern // and doesn't set defaults - SetMsg(*openapi.ChecksumPattern) ChecksumPattern - // ToProto marshals ChecksumPattern to protobuf object *openapi.ChecksumPattern - ToProto() (*openapi.ChecksumPattern, error) - // ToPbText marshals ChecksumPattern to protobuf text - ToPbText() (string, error) - // ToYaml marshals ChecksumPattern to YAML text - ToYaml() (string, error) - // ToJson marshals ChecksumPattern to JSON text - ToJson() (string, error) - // FromProto unmarshals ChecksumPattern from protobuf object *openapi.ChecksumPattern - FromProto(msg *openapi.ChecksumPattern) (ChecksumPattern, error) - // FromPbText unmarshals ChecksumPattern from protobuf text - FromPbText(value string) error - // FromYaml unmarshals ChecksumPattern from YAML text - FromYaml(value string) error - // FromJson unmarshals ChecksumPattern from JSON text - FromJson(value string) error - // Validate validates ChecksumPattern - Validate() error + setMsg(*openapi.ChecksumPattern) ChecksumPattern + // provides marshal interface + Marshal() marshalChecksumPattern + // provides unmarshal interface + Unmarshal() unMarshalChecksumPattern + // validate validates ChecksumPattern + validate() error // A stringer function String() string // Clones the object @@ -12568,7 +13527,7 @@ type ChecksumPattern interface { // Checksum returns a PatternChecksumPatternChecksum func (obj *checksumPattern) Checksum() PatternChecksumPatternChecksum { if obj.obj.Checksum == nil { - obj.obj.Checksum = NewPatternChecksumPatternChecksum().Msg() + obj.obj.Checksum = NewPatternChecksumPatternChecksum().msg() } if obj.checksumHolder == nil { obj.checksumHolder = &patternChecksumPatternChecksum{obj: obj.obj.Checksum} @@ -12587,7 +13546,7 @@ func (obj *checksumPattern) HasChecksum() bool { func (obj *checksumPattern) SetChecksum(value PatternChecksumPatternChecksum) ChecksumPattern { obj.checksumHolder = nil - obj.obj.Checksum = value.Msg() + obj.obj.Checksum = value.msg() return obj } @@ -12611,7 +13570,9 @@ func (obj *checksumPattern) setDefault() { // ***** Layer1Ieee802X ***** type layer1Ieee802X struct { validation - obj *openapi.Layer1Ieee802X + obj *openapi.Layer1Ieee802X + marshaller marshalLayer1Ieee802X + unMarshaller unMarshalLayer1Ieee802X } func NewLayer1Ieee802X() Layer1Ieee802X { @@ -12620,26 +13581,70 @@ func NewLayer1Ieee802X() Layer1Ieee802X { return &obj } -func (obj *layer1Ieee802X) Msg() *openapi.Layer1Ieee802X { +func (obj *layer1Ieee802X) msg() *openapi.Layer1Ieee802X { return obj.obj } -func (obj *layer1Ieee802X) SetMsg(msg *openapi.Layer1Ieee802X) Layer1Ieee802X { +func (obj *layer1Ieee802X) setMsg(msg *openapi.Layer1Ieee802X) Layer1Ieee802X { proto.Merge(obj.obj, msg) return obj } -func (obj *layer1Ieee802X) ToProto() (*openapi.Layer1Ieee802X, error) { - err := obj.validateToAndFrom() +type marshallayer1Ieee802X struct { + obj *layer1Ieee802X +} + +type marshalLayer1Ieee802X interface { + // ToProto marshals Layer1Ieee802X to protobuf object *openapi.Layer1Ieee802X + ToProto() (*openapi.Layer1Ieee802X, error) + // ToPbText marshals Layer1Ieee802X to protobuf text + ToPbText() (string, error) + // ToYaml marshals Layer1Ieee802X to YAML text + ToYaml() (string, error) + // ToJson marshals Layer1Ieee802X to JSON text + ToJson() (string, error) +} + +type unMarshallayer1Ieee802X struct { + obj *layer1Ieee802X +} + +type unMarshalLayer1Ieee802X interface { + // FromProto unmarshals Layer1Ieee802X from protobuf object *openapi.Layer1Ieee802X + FromProto(msg *openapi.Layer1Ieee802X) (Layer1Ieee802X, error) + // FromPbText unmarshals Layer1Ieee802X from protobuf text + FromPbText(value string) error + // FromYaml unmarshals Layer1Ieee802X from YAML text + FromYaml(value string) error + // FromJson unmarshals Layer1Ieee802X from JSON text + FromJson(value string) error +} + +func (obj *layer1Ieee802X) Marshal() marshalLayer1Ieee802X { + if obj.marshaller == nil { + obj.marshaller = &marshallayer1Ieee802X{obj: obj} + } + return obj.marshaller +} + +func (obj *layer1Ieee802X) Unmarshal() unMarshalLayer1Ieee802X { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshallayer1Ieee802X{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshallayer1Ieee802X) ToProto() (*openapi.Layer1Ieee802X, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *layer1Ieee802X) FromProto(msg *openapi.Layer1Ieee802X) (Layer1Ieee802X, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshallayer1Ieee802X) FromProto(msg *openapi.Layer1Ieee802X) (Layer1Ieee802X, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -12647,33 +13652,33 @@ func (obj *layer1Ieee802X) FromProto(msg *openapi.Layer1Ieee802X) (Layer1Ieee802 return newObj, nil } -func (obj *layer1Ieee802X) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshallayer1Ieee802X) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *layer1Ieee802X) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshallayer1Ieee802X) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *layer1Ieee802X) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshallayer1Ieee802X) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -12682,7 +13687,7 @@ func (obj *layer1Ieee802X) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -12693,7 +13698,7 @@ func (obj *layer1Ieee802X) ToYaml() (string, error) { return string(data), nil } -func (obj *layer1Ieee802X) FromYaml(value string) error { +func (m *unMarshallayer1Ieee802X) FromYaml(value string) error { if value == "" { value = "{}" } @@ -12705,21 +13710,21 @@ func (obj *layer1Ieee802X) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *layer1Ieee802X) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshallayer1Ieee802X) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -12729,14 +13734,14 @@ func (obj *layer1Ieee802X) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *layer1Ieee802X) FromJson(value string) error { +func (m *unMarshallayer1Ieee802X) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -12744,13 +13749,13 @@ func (obj *layer1Ieee802X) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - err := obj.validateToAndFrom() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -12763,14 +13768,14 @@ func (obj *layer1Ieee802X) validateToAndFrom() error { return obj.validationResult() } -func (obj *layer1Ieee802X) Validate() error { +func (obj *layer1Ieee802X) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *layer1Ieee802X) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -12778,16 +13783,16 @@ func (obj *layer1Ieee802X) String() string { } func (obj *layer1Ieee802X) Clone() (Layer1Ieee802X, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewLayer1Ieee802X() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -12797,30 +13802,18 @@ func (obj *layer1Ieee802X) Clone() (Layer1Ieee802X, error) { // Layer1Ieee802X is description is TBD type Layer1Ieee802X interface { Validation - // Msg marshals Layer1Ieee802X to protobuf object *openapi.Layer1Ieee802X + // msg marshals Layer1Ieee802X to protobuf object *openapi.Layer1Ieee802X // and doesn't set defaults - Msg() *openapi.Layer1Ieee802X - // SetMsg unmarshals Layer1Ieee802X from protobuf object *openapi.Layer1Ieee802X + msg() *openapi.Layer1Ieee802X + // setMsg unmarshals Layer1Ieee802X from protobuf object *openapi.Layer1Ieee802X // and doesn't set defaults - SetMsg(*openapi.Layer1Ieee802X) Layer1Ieee802X - // ToProto marshals Layer1Ieee802X to protobuf object *openapi.Layer1Ieee802X - ToProto() (*openapi.Layer1Ieee802X, error) - // ToPbText marshals Layer1Ieee802X to protobuf text - ToPbText() (string, error) - // ToYaml marshals Layer1Ieee802X to YAML text - ToYaml() (string, error) - // ToJson marshals Layer1Ieee802X to JSON text - ToJson() (string, error) - // FromProto unmarshals Layer1Ieee802X from protobuf object *openapi.Layer1Ieee802X - FromProto(msg *openapi.Layer1Ieee802X) (Layer1Ieee802X, error) - // FromPbText unmarshals Layer1Ieee802X from protobuf text - FromPbText(value string) error - // FromYaml unmarshals Layer1Ieee802X from YAML text - FromYaml(value string) error - // FromJson unmarshals Layer1Ieee802X from JSON text - FromJson(value string) error - // Validate validates Layer1Ieee802X - Validate() error + setMsg(*openapi.Layer1Ieee802X) Layer1Ieee802X + // provides marshal interface + Marshal() marshalLayer1Ieee802X + // provides unmarshal interface + Unmarshal() unMarshalLayer1Ieee802X + // validate validates Layer1Ieee802X + validate() error // A stringer function String() string // Clones the object @@ -12872,7 +13865,9 @@ func (obj *layer1Ieee802X) setDefault() { // ***** MObject ***** type mObject struct { validation - obj *openapi.MObject + obj *openapi.MObject + marshaller marshalMObject + unMarshaller unMarshalMObject } func NewMObject() MObject { @@ -12881,26 +13876,70 @@ func NewMObject() MObject { return &obj } -func (obj *mObject) Msg() *openapi.MObject { +func (obj *mObject) msg() *openapi.MObject { return obj.obj } -func (obj *mObject) SetMsg(msg *openapi.MObject) MObject { +func (obj *mObject) setMsg(msg *openapi.MObject) MObject { proto.Merge(obj.obj, msg) return obj } -func (obj *mObject) ToProto() (*openapi.MObject, error) { - err := obj.validateToAndFrom() +type marshalmObject struct { + obj *mObject +} + +type marshalMObject interface { + // ToProto marshals MObject to protobuf object *openapi.MObject + ToProto() (*openapi.MObject, error) + // ToPbText marshals MObject to protobuf text + ToPbText() (string, error) + // ToYaml marshals MObject to YAML text + ToYaml() (string, error) + // ToJson marshals MObject to JSON text + ToJson() (string, error) +} + +type unMarshalmObject struct { + obj *mObject +} + +type unMarshalMObject interface { + // FromProto unmarshals MObject from protobuf object *openapi.MObject + FromProto(msg *openapi.MObject) (MObject, error) + // FromPbText unmarshals MObject from protobuf text + FromPbText(value string) error + // FromYaml unmarshals MObject from YAML text + FromYaml(value string) error + // FromJson unmarshals MObject from JSON text + FromJson(value string) error +} + +func (obj *mObject) Marshal() marshalMObject { + if obj.marshaller == nil { + obj.marshaller = &marshalmObject{obj: obj} + } + return obj.marshaller +} + +func (obj *mObject) Unmarshal() unMarshalMObject { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalmObject{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalmObject) ToProto() (*openapi.MObject, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *mObject) FromProto(msg *openapi.MObject) (MObject, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalmObject) FromProto(msg *openapi.MObject) (MObject, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -12908,33 +13947,33 @@ func (obj *mObject) FromProto(msg *openapi.MObject) (MObject, error) { return newObj, nil } -func (obj *mObject) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalmObject) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *mObject) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalmObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *mObject) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalmObject) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -12943,7 +13982,7 @@ func (obj *mObject) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -12954,7 +13993,7 @@ func (obj *mObject) ToYaml() (string, error) { return string(data), nil } -func (obj *mObject) FromYaml(value string) error { +func (m *unMarshalmObject) FromYaml(value string) error { if value == "" { value = "{}" } @@ -12966,21 +14005,21 @@ func (obj *mObject) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *mObject) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalmObject) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -12990,14 +14029,14 @@ func (obj *mObject) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *mObject) FromJson(value string) error { +func (m *unMarshalmObject) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -13005,13 +14044,13 @@ func (obj *mObject) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - err := obj.validateToAndFrom() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -13024,14 +14063,14 @@ func (obj *mObject) validateToAndFrom() error { return obj.validationResult() } -func (obj *mObject) Validate() error { +func (obj *mObject) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *mObject) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -13039,16 +14078,16 @@ func (obj *mObject) String() string { } func (obj *mObject) Clone() (MObject, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewMObject() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -13058,30 +14097,18 @@ func (obj *mObject) Clone() (MObject, error) { // MObject is required format validation object type MObject interface { Validation - // Msg marshals MObject to protobuf object *openapi.MObject - // and doesn't set defaults - Msg() *openapi.MObject - // SetMsg unmarshals MObject from protobuf object *openapi.MObject - // and doesn't set defaults - SetMsg(*openapi.MObject) MObject - // ToProto marshals MObject to protobuf object *openapi.MObject - ToProto() (*openapi.MObject, error) - // ToPbText marshals MObject to protobuf text - ToPbText() (string, error) - // ToYaml marshals MObject to YAML text - ToYaml() (string, error) - // ToJson marshals MObject to JSON text - ToJson() (string, error) - // FromProto unmarshals MObject from protobuf object *openapi.MObject - FromProto(msg *openapi.MObject) (MObject, error) - // FromPbText unmarshals MObject from protobuf text - FromPbText(value string) error - // FromYaml unmarshals MObject from YAML text - FromYaml(value string) error - // FromJson unmarshals MObject from JSON text - FromJson(value string) error - // Validate validates MObject - Validate() error + // msg marshals MObject to protobuf object *openapi.MObject + // and doesn't set defaults + msg() *openapi.MObject + // setMsg unmarshals MObject from protobuf object *openapi.MObject + // and doesn't set defaults + setMsg(*openapi.MObject) MObject + // provides marshal interface + Marshal() marshalMObject + // provides unmarshal interface + Unmarshal() unMarshalMObject + // validate validates MObject + validate() error // A stringer function String() string // Clones the object @@ -13346,7 +14373,9 @@ func (obj *mObject) setDefault() { // ***** PatternPrefixConfigHeaderChecksum ***** type patternPrefixConfigHeaderChecksum struct { validation - obj *openapi.PatternPrefixConfigHeaderChecksum + obj *openapi.PatternPrefixConfigHeaderChecksum + marshaller marshalPatternPrefixConfigHeaderChecksum + unMarshaller unMarshalPatternPrefixConfigHeaderChecksum } func NewPatternPrefixConfigHeaderChecksum() PatternPrefixConfigHeaderChecksum { @@ -13355,26 +14384,70 @@ func NewPatternPrefixConfigHeaderChecksum() PatternPrefixConfigHeaderChecksum { return &obj } -func (obj *patternPrefixConfigHeaderChecksum) Msg() *openapi.PatternPrefixConfigHeaderChecksum { +func (obj *patternPrefixConfigHeaderChecksum) msg() *openapi.PatternPrefixConfigHeaderChecksum { return obj.obj } -func (obj *patternPrefixConfigHeaderChecksum) SetMsg(msg *openapi.PatternPrefixConfigHeaderChecksum) PatternPrefixConfigHeaderChecksum { +func (obj *patternPrefixConfigHeaderChecksum) setMsg(msg *openapi.PatternPrefixConfigHeaderChecksum) PatternPrefixConfigHeaderChecksum { proto.Merge(obj.obj, msg) return obj } -func (obj *patternPrefixConfigHeaderChecksum) ToProto() (*openapi.PatternPrefixConfigHeaderChecksum, error) { - err := obj.validateToAndFrom() +type marshalpatternPrefixConfigHeaderChecksum struct { + obj *patternPrefixConfigHeaderChecksum +} + +type marshalPatternPrefixConfigHeaderChecksum interface { + // ToProto marshals PatternPrefixConfigHeaderChecksum to protobuf object *openapi.PatternPrefixConfigHeaderChecksum + ToProto() (*openapi.PatternPrefixConfigHeaderChecksum, error) + // ToPbText marshals PatternPrefixConfigHeaderChecksum to protobuf text + ToPbText() (string, error) + // ToYaml marshals PatternPrefixConfigHeaderChecksum to YAML text + ToYaml() (string, error) + // ToJson marshals PatternPrefixConfigHeaderChecksum to JSON text + ToJson() (string, error) +} + +type unMarshalpatternPrefixConfigHeaderChecksum struct { + obj *patternPrefixConfigHeaderChecksum +} + +type unMarshalPatternPrefixConfigHeaderChecksum interface { + // FromProto unmarshals PatternPrefixConfigHeaderChecksum from protobuf object *openapi.PatternPrefixConfigHeaderChecksum + FromProto(msg *openapi.PatternPrefixConfigHeaderChecksum) (PatternPrefixConfigHeaderChecksum, error) + // FromPbText unmarshals PatternPrefixConfigHeaderChecksum from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PatternPrefixConfigHeaderChecksum from YAML text + FromYaml(value string) error + // FromJson unmarshals PatternPrefixConfigHeaderChecksum from JSON text + FromJson(value string) error +} + +func (obj *patternPrefixConfigHeaderChecksum) Marshal() marshalPatternPrefixConfigHeaderChecksum { + if obj.marshaller == nil { + obj.marshaller = &marshalpatternPrefixConfigHeaderChecksum{obj: obj} + } + return obj.marshaller +} + +func (obj *patternPrefixConfigHeaderChecksum) Unmarshal() unMarshalPatternPrefixConfigHeaderChecksum { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalpatternPrefixConfigHeaderChecksum{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalpatternPrefixConfigHeaderChecksum) ToProto() (*openapi.PatternPrefixConfigHeaderChecksum, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *patternPrefixConfigHeaderChecksum) FromProto(msg *openapi.PatternPrefixConfigHeaderChecksum) (PatternPrefixConfigHeaderChecksum, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalpatternPrefixConfigHeaderChecksum) FromProto(msg *openapi.PatternPrefixConfigHeaderChecksum) (PatternPrefixConfigHeaderChecksum, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -13382,33 +14455,33 @@ func (obj *patternPrefixConfigHeaderChecksum) FromProto(msg *openapi.PatternPref return newObj, nil } -func (obj *patternPrefixConfigHeaderChecksum) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpatternPrefixConfigHeaderChecksum) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *patternPrefixConfigHeaderChecksum) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalpatternPrefixConfigHeaderChecksum) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *patternPrefixConfigHeaderChecksum) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpatternPrefixConfigHeaderChecksum) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -13417,7 +14490,7 @@ func (obj *patternPrefixConfigHeaderChecksum) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -13428,7 +14501,7 @@ func (obj *patternPrefixConfigHeaderChecksum) ToYaml() (string, error) { return string(data), nil } -func (obj *patternPrefixConfigHeaderChecksum) FromYaml(value string) error { +func (m *unMarshalpatternPrefixConfigHeaderChecksum) FromYaml(value string) error { if value == "" { value = "{}" } @@ -13440,21 +14513,21 @@ func (obj *patternPrefixConfigHeaderChecksum) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *patternPrefixConfigHeaderChecksum) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpatternPrefixConfigHeaderChecksum) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -13464,14 +14537,14 @@ func (obj *patternPrefixConfigHeaderChecksum) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *patternPrefixConfigHeaderChecksum) FromJson(value string) error { +func (m *unMarshalpatternPrefixConfigHeaderChecksum) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -13479,13 +14552,13 @@ func (obj *patternPrefixConfigHeaderChecksum) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - err := obj.validateToAndFrom() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -13498,14 +14571,14 @@ func (obj *patternPrefixConfigHeaderChecksum) validateToAndFrom() error { return obj.validationResult() } -func (obj *patternPrefixConfigHeaderChecksum) Validate() error { +func (obj *patternPrefixConfigHeaderChecksum) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *patternPrefixConfigHeaderChecksum) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -13513,16 +14586,16 @@ func (obj *patternPrefixConfigHeaderChecksum) String() string { } func (obj *patternPrefixConfigHeaderChecksum) Clone() (PatternPrefixConfigHeaderChecksum, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewPatternPrefixConfigHeaderChecksum() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -13532,30 +14605,18 @@ func (obj *patternPrefixConfigHeaderChecksum) Clone() (PatternPrefixConfigHeader // PatternPrefixConfigHeaderChecksum is header checksum type PatternPrefixConfigHeaderChecksum interface { Validation - // Msg marshals PatternPrefixConfigHeaderChecksum to protobuf object *openapi.PatternPrefixConfigHeaderChecksum + // msg marshals PatternPrefixConfigHeaderChecksum to protobuf object *openapi.PatternPrefixConfigHeaderChecksum // and doesn't set defaults - Msg() *openapi.PatternPrefixConfigHeaderChecksum - // SetMsg unmarshals PatternPrefixConfigHeaderChecksum from protobuf object *openapi.PatternPrefixConfigHeaderChecksum + msg() *openapi.PatternPrefixConfigHeaderChecksum + // setMsg unmarshals PatternPrefixConfigHeaderChecksum from protobuf object *openapi.PatternPrefixConfigHeaderChecksum // and doesn't set defaults - SetMsg(*openapi.PatternPrefixConfigHeaderChecksum) PatternPrefixConfigHeaderChecksum - // ToProto marshals PatternPrefixConfigHeaderChecksum to protobuf object *openapi.PatternPrefixConfigHeaderChecksum - ToProto() (*openapi.PatternPrefixConfigHeaderChecksum, error) - // ToPbText marshals PatternPrefixConfigHeaderChecksum to protobuf text - ToPbText() (string, error) - // ToYaml marshals PatternPrefixConfigHeaderChecksum to YAML text - ToYaml() (string, error) - // ToJson marshals PatternPrefixConfigHeaderChecksum to JSON text - ToJson() (string, error) - // FromProto unmarshals PatternPrefixConfigHeaderChecksum from protobuf object *openapi.PatternPrefixConfigHeaderChecksum - FromProto(msg *openapi.PatternPrefixConfigHeaderChecksum) (PatternPrefixConfigHeaderChecksum, error) - // FromPbText unmarshals PatternPrefixConfigHeaderChecksum from protobuf text - FromPbText(value string) error - // FromYaml unmarshals PatternPrefixConfigHeaderChecksum from YAML text - FromYaml(value string) error - // FromJson unmarshals PatternPrefixConfigHeaderChecksum from JSON text - FromJson(value string) error - // Validate validates PatternPrefixConfigHeaderChecksum - Validate() error + setMsg(*openapi.PatternPrefixConfigHeaderChecksum) PatternPrefixConfigHeaderChecksum + // provides marshal interface + Marshal() marshalPatternPrefixConfigHeaderChecksum + // provides unmarshal interface + Unmarshal() unMarshalPatternPrefixConfigHeaderChecksum + // validate validates PatternPrefixConfigHeaderChecksum + validate() error // A stringer function String() string // Clones the object @@ -13565,8 +14626,8 @@ type PatternPrefixConfigHeaderChecksum interface { setDefault() // Choice returns PatternPrefixConfigHeaderChecksumChoiceEnum, set in PatternPrefixConfigHeaderChecksum Choice() PatternPrefixConfigHeaderChecksumChoiceEnum - // SetChoice assigns PatternPrefixConfigHeaderChecksumChoiceEnum provided by user to PatternPrefixConfigHeaderChecksum - SetChoice(value PatternPrefixConfigHeaderChecksumChoiceEnum) PatternPrefixConfigHeaderChecksum + // setChoice assigns PatternPrefixConfigHeaderChecksumChoiceEnum provided by user to PatternPrefixConfigHeaderChecksum + setChoice(value PatternPrefixConfigHeaderChecksumChoiceEnum) PatternPrefixConfigHeaderChecksum // HasChoice checks if Choice has been set in PatternPrefixConfigHeaderChecksum HasChoice() bool // Generated returns PatternPrefixConfigHeaderChecksumGeneratedEnum, set in PatternPrefixConfigHeaderChecksum @@ -13604,7 +14665,7 @@ func (obj *patternPrefixConfigHeaderChecksum) HasChoice() bool { return obj.obj.Choice != nil } -func (obj *patternPrefixConfigHeaderChecksum) SetChoice(value PatternPrefixConfigHeaderChecksumChoiceEnum) PatternPrefixConfigHeaderChecksum { +func (obj *patternPrefixConfigHeaderChecksum) setChoice(value PatternPrefixConfigHeaderChecksumChoiceEnum) PatternPrefixConfigHeaderChecksum { intValue, ok := openapi.PatternPrefixConfigHeaderChecksum_Choice_Enum_value[string(value)] if !ok { obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( @@ -13657,7 +14718,7 @@ func (obj *patternPrefixConfigHeaderChecksum) SetGenerated(value PatternPrefixCo func (obj *patternPrefixConfigHeaderChecksum) Custom() uint32 { if obj.obj.Custom == nil { - obj.SetChoice(PatternPrefixConfigHeaderChecksumChoice.CUSTOM) + obj.setChoice(PatternPrefixConfigHeaderChecksumChoice.CUSTOM) } return *obj.obj.Custom @@ -13673,7 +14734,7 @@ func (obj *patternPrefixConfigHeaderChecksum) HasCustom() bool { // A custom checksum value // SetCustom sets the uint32 value in the PatternPrefixConfigHeaderChecksum object func (obj *patternPrefixConfigHeaderChecksum) SetCustom(value uint32) PatternPrefixConfigHeaderChecksum { - obj.SetChoice(PatternPrefixConfigHeaderChecksumChoice.CUSTOM) + obj.setChoice(PatternPrefixConfigHeaderChecksumChoice.CUSTOM) obj.obj.Custom = &value return obj } @@ -13697,7 +14758,7 @@ func (obj *patternPrefixConfigHeaderChecksum) validateObj(vObj *validation, set_ func (obj *patternPrefixConfigHeaderChecksum) setDefault() { if obj.obj.Choice == nil { - obj.SetChoice(PatternPrefixConfigHeaderChecksumChoice.GENERATED) + obj.setChoice(PatternPrefixConfigHeaderChecksumChoice.GENERATED) if obj.obj.Generated.Number() == 0 { obj.SetGenerated(PatternPrefixConfigHeaderChecksumGenerated.GOOD) @@ -13711,6 +14772,8 @@ func (obj *patternPrefixConfigHeaderChecksum) setDefault() { type patternPrefixConfigAutoFieldTest struct { validation obj *openapi.PatternPrefixConfigAutoFieldTest + marshaller marshalPatternPrefixConfigAutoFieldTest + unMarshaller unMarshalPatternPrefixConfigAutoFieldTest incrementHolder PatternPrefixConfigAutoFieldTestCounter decrementHolder PatternPrefixConfigAutoFieldTestCounter } @@ -13721,26 +14784,70 @@ func NewPatternPrefixConfigAutoFieldTest() PatternPrefixConfigAutoFieldTest { return &obj } -func (obj *patternPrefixConfigAutoFieldTest) Msg() *openapi.PatternPrefixConfigAutoFieldTest { +func (obj *patternPrefixConfigAutoFieldTest) msg() *openapi.PatternPrefixConfigAutoFieldTest { return obj.obj } -func (obj *patternPrefixConfigAutoFieldTest) SetMsg(msg *openapi.PatternPrefixConfigAutoFieldTest) PatternPrefixConfigAutoFieldTest { +func (obj *patternPrefixConfigAutoFieldTest) setMsg(msg *openapi.PatternPrefixConfigAutoFieldTest) PatternPrefixConfigAutoFieldTest { obj.setNil() proto.Merge(obj.obj, msg) return obj } -func (obj *patternPrefixConfigAutoFieldTest) ToProto() (*openapi.PatternPrefixConfigAutoFieldTest, error) { - err := obj.validateToAndFrom() +type marshalpatternPrefixConfigAutoFieldTest struct { + obj *patternPrefixConfigAutoFieldTest +} + +type marshalPatternPrefixConfigAutoFieldTest interface { + // ToProto marshals PatternPrefixConfigAutoFieldTest to protobuf object *openapi.PatternPrefixConfigAutoFieldTest + ToProto() (*openapi.PatternPrefixConfigAutoFieldTest, error) + // ToPbText marshals PatternPrefixConfigAutoFieldTest to protobuf text + ToPbText() (string, error) + // ToYaml marshals PatternPrefixConfigAutoFieldTest to YAML text + ToYaml() (string, error) + // ToJson marshals PatternPrefixConfigAutoFieldTest to JSON text + ToJson() (string, error) +} + +type unMarshalpatternPrefixConfigAutoFieldTest struct { + obj *patternPrefixConfigAutoFieldTest +} + +type unMarshalPatternPrefixConfigAutoFieldTest interface { + // FromProto unmarshals PatternPrefixConfigAutoFieldTest from protobuf object *openapi.PatternPrefixConfigAutoFieldTest + FromProto(msg *openapi.PatternPrefixConfigAutoFieldTest) (PatternPrefixConfigAutoFieldTest, error) + // FromPbText unmarshals PatternPrefixConfigAutoFieldTest from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PatternPrefixConfigAutoFieldTest from YAML text + FromYaml(value string) error + // FromJson unmarshals PatternPrefixConfigAutoFieldTest from JSON text + FromJson(value string) error +} + +func (obj *patternPrefixConfigAutoFieldTest) Marshal() marshalPatternPrefixConfigAutoFieldTest { + if obj.marshaller == nil { + obj.marshaller = &marshalpatternPrefixConfigAutoFieldTest{obj: obj} + } + return obj.marshaller +} + +func (obj *patternPrefixConfigAutoFieldTest) Unmarshal() unMarshalPatternPrefixConfigAutoFieldTest { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalpatternPrefixConfigAutoFieldTest{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalpatternPrefixConfigAutoFieldTest) ToProto() (*openapi.PatternPrefixConfigAutoFieldTest, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *patternPrefixConfigAutoFieldTest) FromProto(msg *openapi.PatternPrefixConfigAutoFieldTest) (PatternPrefixConfigAutoFieldTest, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalpatternPrefixConfigAutoFieldTest) FromProto(msg *openapi.PatternPrefixConfigAutoFieldTest) (PatternPrefixConfigAutoFieldTest, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -13748,33 +14855,33 @@ func (obj *patternPrefixConfigAutoFieldTest) FromProto(msg *openapi.PatternPrefi return newObj, nil } -func (obj *patternPrefixConfigAutoFieldTest) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpatternPrefixConfigAutoFieldTest) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *patternPrefixConfigAutoFieldTest) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalpatternPrefixConfigAutoFieldTest) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *patternPrefixConfigAutoFieldTest) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpatternPrefixConfigAutoFieldTest) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -13783,7 +14890,7 @@ func (obj *patternPrefixConfigAutoFieldTest) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -13794,7 +14901,7 @@ func (obj *patternPrefixConfigAutoFieldTest) ToYaml() (string, error) { return string(data), nil } -func (obj *patternPrefixConfigAutoFieldTest) FromYaml(value string) error { +func (m *unMarshalpatternPrefixConfigAutoFieldTest) FromYaml(value string) error { if value == "" { value = "{}" } @@ -13806,21 +14913,21 @@ func (obj *patternPrefixConfigAutoFieldTest) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *patternPrefixConfigAutoFieldTest) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpatternPrefixConfigAutoFieldTest) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -13830,14 +14937,14 @@ func (obj *patternPrefixConfigAutoFieldTest) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *patternPrefixConfigAutoFieldTest) FromJson(value string) error { +func (m *unMarshalpatternPrefixConfigAutoFieldTest) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -13845,13 +14952,13 @@ func (obj *patternPrefixConfigAutoFieldTest) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - err := obj.validateToAndFrom() + m.obj.setNil() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -13864,14 +14971,14 @@ func (obj *patternPrefixConfigAutoFieldTest) validateToAndFrom() error { return obj.validationResult() } -func (obj *patternPrefixConfigAutoFieldTest) Validate() error { +func (obj *patternPrefixConfigAutoFieldTest) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *patternPrefixConfigAutoFieldTest) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -13879,16 +14986,16 @@ func (obj *patternPrefixConfigAutoFieldTest) String() string { } func (obj *patternPrefixConfigAutoFieldTest) Clone() (PatternPrefixConfigAutoFieldTest, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewPatternPrefixConfigAutoFieldTest() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -13906,30 +15013,18 @@ func (obj *patternPrefixConfigAutoFieldTest) setNil() { // PatternPrefixConfigAutoFieldTest is tBD type PatternPrefixConfigAutoFieldTest interface { Validation - // Msg marshals PatternPrefixConfigAutoFieldTest to protobuf object *openapi.PatternPrefixConfigAutoFieldTest + // msg marshals PatternPrefixConfigAutoFieldTest to protobuf object *openapi.PatternPrefixConfigAutoFieldTest // and doesn't set defaults - Msg() *openapi.PatternPrefixConfigAutoFieldTest - // SetMsg unmarshals PatternPrefixConfigAutoFieldTest from protobuf object *openapi.PatternPrefixConfigAutoFieldTest + msg() *openapi.PatternPrefixConfigAutoFieldTest + // setMsg unmarshals PatternPrefixConfigAutoFieldTest from protobuf object *openapi.PatternPrefixConfigAutoFieldTest // and doesn't set defaults - SetMsg(*openapi.PatternPrefixConfigAutoFieldTest) PatternPrefixConfigAutoFieldTest - // ToProto marshals PatternPrefixConfigAutoFieldTest to protobuf object *openapi.PatternPrefixConfigAutoFieldTest - ToProto() (*openapi.PatternPrefixConfigAutoFieldTest, error) - // ToPbText marshals PatternPrefixConfigAutoFieldTest to protobuf text - ToPbText() (string, error) - // ToYaml marshals PatternPrefixConfigAutoFieldTest to YAML text - ToYaml() (string, error) - // ToJson marshals PatternPrefixConfigAutoFieldTest to JSON text - ToJson() (string, error) - // FromProto unmarshals PatternPrefixConfigAutoFieldTest from protobuf object *openapi.PatternPrefixConfigAutoFieldTest - FromProto(msg *openapi.PatternPrefixConfigAutoFieldTest) (PatternPrefixConfigAutoFieldTest, error) - // FromPbText unmarshals PatternPrefixConfigAutoFieldTest from protobuf text - FromPbText(value string) error - // FromYaml unmarshals PatternPrefixConfigAutoFieldTest from YAML text - FromYaml(value string) error - // FromJson unmarshals PatternPrefixConfigAutoFieldTest from JSON text - FromJson(value string) error - // Validate validates PatternPrefixConfigAutoFieldTest - Validate() error + setMsg(*openapi.PatternPrefixConfigAutoFieldTest) PatternPrefixConfigAutoFieldTest + // provides marshal interface + Marshal() marshalPatternPrefixConfigAutoFieldTest + // provides unmarshal interface + Unmarshal() unMarshalPatternPrefixConfigAutoFieldTest + // validate validates PatternPrefixConfigAutoFieldTest + validate() error // A stringer function String() string // Clones the object @@ -13939,8 +15034,8 @@ type PatternPrefixConfigAutoFieldTest interface { setDefault() // Choice returns PatternPrefixConfigAutoFieldTestChoiceEnum, set in PatternPrefixConfigAutoFieldTest Choice() PatternPrefixConfigAutoFieldTestChoiceEnum - // SetChoice assigns PatternPrefixConfigAutoFieldTestChoiceEnum provided by user to PatternPrefixConfigAutoFieldTest - SetChoice(value PatternPrefixConfigAutoFieldTestChoiceEnum) PatternPrefixConfigAutoFieldTest + // setChoice assigns PatternPrefixConfigAutoFieldTestChoiceEnum provided by user to PatternPrefixConfigAutoFieldTest + setChoice(value PatternPrefixConfigAutoFieldTestChoiceEnum) PatternPrefixConfigAutoFieldTest // HasChoice checks if Choice has been set in PatternPrefixConfigAutoFieldTest HasChoice() bool // Value returns uint32, set in PatternPrefixConfigAutoFieldTest. @@ -14003,7 +15098,7 @@ func (obj *patternPrefixConfigAutoFieldTest) HasChoice() bool { return obj.obj.Choice != nil } -func (obj *patternPrefixConfigAutoFieldTest) SetChoice(value PatternPrefixConfigAutoFieldTestChoiceEnum) PatternPrefixConfigAutoFieldTest { +func (obj *patternPrefixConfigAutoFieldTest) setChoice(value PatternPrefixConfigAutoFieldTestChoiceEnum) PatternPrefixConfigAutoFieldTest { intValue, ok := openapi.PatternPrefixConfigAutoFieldTest_Choice_Enum_value[string(value)] if !ok { obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( @@ -14036,11 +15131,11 @@ func (obj *patternPrefixConfigAutoFieldTest) SetChoice(value PatternPrefixConfig } if value == PatternPrefixConfigAutoFieldTestChoice.INCREMENT { - obj.obj.Increment = NewPatternPrefixConfigAutoFieldTestCounter().Msg() + obj.obj.Increment = NewPatternPrefixConfigAutoFieldTestCounter().msg() } if value == PatternPrefixConfigAutoFieldTestChoice.DECREMENT { - obj.obj.Decrement = NewPatternPrefixConfigAutoFieldTestCounter().Msg() + obj.obj.Decrement = NewPatternPrefixConfigAutoFieldTestCounter().msg() } return obj @@ -14051,7 +15146,7 @@ func (obj *patternPrefixConfigAutoFieldTest) SetChoice(value PatternPrefixConfig func (obj *patternPrefixConfigAutoFieldTest) Value() uint32 { if obj.obj.Value == nil { - obj.SetChoice(PatternPrefixConfigAutoFieldTestChoice.VALUE) + obj.setChoice(PatternPrefixConfigAutoFieldTestChoice.VALUE) } return *obj.obj.Value @@ -14067,7 +15162,7 @@ func (obj *patternPrefixConfigAutoFieldTest) HasValue() bool { // description is TBD // SetValue sets the uint32 value in the PatternPrefixConfigAutoFieldTest object func (obj *patternPrefixConfigAutoFieldTest) SetValue(value uint32) PatternPrefixConfigAutoFieldTest { - obj.SetChoice(PatternPrefixConfigAutoFieldTestChoice.VALUE) + obj.setChoice(PatternPrefixConfigAutoFieldTestChoice.VALUE) obj.obj.Value = &value return obj } @@ -14084,7 +15179,7 @@ func (obj *patternPrefixConfigAutoFieldTest) Values() []uint32 { // description is TBD // SetValues sets the []uint32 value in the PatternPrefixConfigAutoFieldTest object func (obj *patternPrefixConfigAutoFieldTest) SetValues(value []uint32) PatternPrefixConfigAutoFieldTest { - obj.SetChoice(PatternPrefixConfigAutoFieldTestChoice.VALUES) + obj.setChoice(PatternPrefixConfigAutoFieldTestChoice.VALUES) if obj.obj.Values == nil { obj.obj.Values = make([]uint32, 0) } @@ -14100,7 +15195,7 @@ func (obj *patternPrefixConfigAutoFieldTest) SetValues(value []uint32) PatternPr func (obj *patternPrefixConfigAutoFieldTest) Auto() uint32 { if obj.obj.Auto == nil { - obj.SetChoice(PatternPrefixConfigAutoFieldTestChoice.AUTO) + obj.setChoice(PatternPrefixConfigAutoFieldTestChoice.AUTO) } return *obj.obj.Auto @@ -14119,7 +15214,7 @@ func (obj *patternPrefixConfigAutoFieldTest) HasAuto() bool { // Increment returns a PatternPrefixConfigAutoFieldTestCounter func (obj *patternPrefixConfigAutoFieldTest) Increment() PatternPrefixConfigAutoFieldTestCounter { if obj.obj.Increment == nil { - obj.SetChoice(PatternPrefixConfigAutoFieldTestChoice.INCREMENT) + obj.setChoice(PatternPrefixConfigAutoFieldTestChoice.INCREMENT) } if obj.incrementHolder == nil { obj.incrementHolder = &patternPrefixConfigAutoFieldTestCounter{obj: obj.obj.Increment} @@ -14136,9 +15231,9 @@ func (obj *patternPrefixConfigAutoFieldTest) HasIncrement() bool { // description is TBD // SetIncrement sets the PatternPrefixConfigAutoFieldTestCounter value in the PatternPrefixConfigAutoFieldTest object func (obj *patternPrefixConfigAutoFieldTest) SetIncrement(value PatternPrefixConfigAutoFieldTestCounter) PatternPrefixConfigAutoFieldTest { - obj.SetChoice(PatternPrefixConfigAutoFieldTestChoice.INCREMENT) + obj.setChoice(PatternPrefixConfigAutoFieldTestChoice.INCREMENT) obj.incrementHolder = nil - obj.obj.Increment = value.Msg() + obj.obj.Increment = value.msg() return obj } @@ -14147,7 +15242,7 @@ func (obj *patternPrefixConfigAutoFieldTest) SetIncrement(value PatternPrefixCon // Decrement returns a PatternPrefixConfigAutoFieldTestCounter func (obj *patternPrefixConfigAutoFieldTest) Decrement() PatternPrefixConfigAutoFieldTestCounter { if obj.obj.Decrement == nil { - obj.SetChoice(PatternPrefixConfigAutoFieldTestChoice.DECREMENT) + obj.setChoice(PatternPrefixConfigAutoFieldTestChoice.DECREMENT) } if obj.decrementHolder == nil { obj.decrementHolder = &patternPrefixConfigAutoFieldTestCounter{obj: obj.obj.Decrement} @@ -14164,9 +15259,9 @@ func (obj *patternPrefixConfigAutoFieldTest) HasDecrement() bool { // description is TBD // SetDecrement sets the PatternPrefixConfigAutoFieldTestCounter value in the PatternPrefixConfigAutoFieldTest object func (obj *patternPrefixConfigAutoFieldTest) SetDecrement(value PatternPrefixConfigAutoFieldTestCounter) PatternPrefixConfigAutoFieldTest { - obj.SetChoice(PatternPrefixConfigAutoFieldTestChoice.DECREMENT) + obj.setChoice(PatternPrefixConfigAutoFieldTestChoice.DECREMENT) obj.decrementHolder = nil - obj.obj.Decrement = value.Msg() + obj.obj.Decrement = value.msg() return obj } @@ -14223,7 +15318,7 @@ func (obj *patternPrefixConfigAutoFieldTest) validateObj(vObj *validation, set_d func (obj *patternPrefixConfigAutoFieldTest) setDefault() { if obj.obj.Choice == nil { - obj.SetChoice(PatternPrefixConfigAutoFieldTestChoice.AUTO) + obj.setChoice(PatternPrefixConfigAutoFieldTestChoice.AUTO) } @@ -14232,7 +15327,9 @@ func (obj *patternPrefixConfigAutoFieldTest) setDefault() { // ***** WObject ***** type wObject struct { validation - obj *openapi.WObject + obj *openapi.WObject + marshaller marshalWObject + unMarshaller unMarshalWObject } func NewWObject() WObject { @@ -14241,26 +15338,70 @@ func NewWObject() WObject { return &obj } -func (obj *wObject) Msg() *openapi.WObject { +func (obj *wObject) msg() *openapi.WObject { return obj.obj } -func (obj *wObject) SetMsg(msg *openapi.WObject) WObject { +func (obj *wObject) setMsg(msg *openapi.WObject) WObject { proto.Merge(obj.obj, msg) return obj } -func (obj *wObject) ToProto() (*openapi.WObject, error) { - err := obj.validateToAndFrom() +type marshalwObject struct { + obj *wObject +} + +type marshalWObject interface { + // ToProto marshals WObject to protobuf object *openapi.WObject + ToProto() (*openapi.WObject, error) + // ToPbText marshals WObject to protobuf text + ToPbText() (string, error) + // ToYaml marshals WObject to YAML text + ToYaml() (string, error) + // ToJson marshals WObject to JSON text + ToJson() (string, error) +} + +type unMarshalwObject struct { + obj *wObject +} + +type unMarshalWObject interface { + // FromProto unmarshals WObject from protobuf object *openapi.WObject + FromProto(msg *openapi.WObject) (WObject, error) + // FromPbText unmarshals WObject from protobuf text + FromPbText(value string) error + // FromYaml unmarshals WObject from YAML text + FromYaml(value string) error + // FromJson unmarshals WObject from JSON text + FromJson(value string) error +} + +func (obj *wObject) Marshal() marshalWObject { + if obj.marshaller == nil { + obj.marshaller = &marshalwObject{obj: obj} + } + return obj.marshaller +} + +func (obj *wObject) Unmarshal() unMarshalWObject { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalwObject{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalwObject) ToProto() (*openapi.WObject, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *wObject) FromProto(msg *openapi.WObject) (WObject, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalwObject) FromProto(msg *openapi.WObject) (WObject, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -14268,33 +15409,33 @@ func (obj *wObject) FromProto(msg *openapi.WObject) (WObject, error) { return newObj, nil } -func (obj *wObject) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalwObject) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *wObject) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalwObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *wObject) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalwObject) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -14303,7 +15444,7 @@ func (obj *wObject) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -14314,7 +15455,7 @@ func (obj *wObject) ToYaml() (string, error) { return string(data), nil } -func (obj *wObject) FromYaml(value string) error { +func (m *unMarshalwObject) FromYaml(value string) error { if value == "" { value = "{}" } @@ -14326,21 +15467,21 @@ func (obj *wObject) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *wObject) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalwObject) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -14350,14 +15491,14 @@ func (obj *wObject) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *wObject) FromJson(value string) error { +func (m *unMarshalwObject) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -14365,13 +15506,13 @@ func (obj *wObject) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - err := obj.validateToAndFrom() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -14384,14 +15525,14 @@ func (obj *wObject) validateToAndFrom() error { return obj.validationResult() } -func (obj *wObject) Validate() error { +func (obj *wObject) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *wObject) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -14399,16 +15540,16 @@ func (obj *wObject) String() string { } func (obj *wObject) Clone() (WObject, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewWObject() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -14418,30 +15559,18 @@ func (obj *wObject) Clone() (WObject, error) { // WObject is description is TBD type WObject interface { Validation - // Msg marshals WObject to protobuf object *openapi.WObject + // msg marshals WObject to protobuf object *openapi.WObject // and doesn't set defaults - Msg() *openapi.WObject - // SetMsg unmarshals WObject from protobuf object *openapi.WObject + msg() *openapi.WObject + // setMsg unmarshals WObject from protobuf object *openapi.WObject // and doesn't set defaults - SetMsg(*openapi.WObject) WObject - // ToProto marshals WObject to protobuf object *openapi.WObject - ToProto() (*openapi.WObject, error) - // ToPbText marshals WObject to protobuf text - ToPbText() (string, error) - // ToYaml marshals WObject to YAML text - ToYaml() (string, error) - // ToJson marshals WObject to JSON text - ToJson() (string, error) - // FromProto unmarshals WObject from protobuf object *openapi.WObject - FromProto(msg *openapi.WObject) (WObject, error) - // FromPbText unmarshals WObject from protobuf text - FromPbText(value string) error - // FromYaml unmarshals WObject from YAML text - FromYaml(value string) error - // FromJson unmarshals WObject from JSON text - FromJson(value string) error - // Validate validates WObject - Validate() error + setMsg(*openapi.WObject) WObject + // provides marshal interface + Marshal() marshalWObject + // provides unmarshal interface + Unmarshal() unMarshalWObject + // validate validates WObject + validate() error // A stringer function String() string // Clones the object @@ -14489,7 +15618,9 @@ func (obj *wObject) setDefault() { // ***** ZObject ***** type zObject struct { validation - obj *openapi.ZObject + obj *openapi.ZObject + marshaller marshalZObject + unMarshaller unMarshalZObject } func NewZObject() ZObject { @@ -14498,26 +15629,70 @@ func NewZObject() ZObject { return &obj } -func (obj *zObject) Msg() *openapi.ZObject { +func (obj *zObject) msg() *openapi.ZObject { return obj.obj } -func (obj *zObject) SetMsg(msg *openapi.ZObject) ZObject { +func (obj *zObject) setMsg(msg *openapi.ZObject) ZObject { proto.Merge(obj.obj, msg) return obj } -func (obj *zObject) ToProto() (*openapi.ZObject, error) { - err := obj.validateToAndFrom() +type marshalzObject struct { + obj *zObject +} + +type marshalZObject interface { + // ToProto marshals ZObject to protobuf object *openapi.ZObject + ToProto() (*openapi.ZObject, error) + // ToPbText marshals ZObject to protobuf text + ToPbText() (string, error) + // ToYaml marshals ZObject to YAML text + ToYaml() (string, error) + // ToJson marshals ZObject to JSON text + ToJson() (string, error) +} + +type unMarshalzObject struct { + obj *zObject +} + +type unMarshalZObject interface { + // FromProto unmarshals ZObject from protobuf object *openapi.ZObject + FromProto(msg *openapi.ZObject) (ZObject, error) + // FromPbText unmarshals ZObject from protobuf text + FromPbText(value string) error + // FromYaml unmarshals ZObject from YAML text + FromYaml(value string) error + // FromJson unmarshals ZObject from JSON text + FromJson(value string) error +} + +func (obj *zObject) Marshal() marshalZObject { + if obj.marshaller == nil { + obj.marshaller = &marshalzObject{obj: obj} + } + return obj.marshaller +} + +func (obj *zObject) Unmarshal() unMarshalZObject { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalzObject{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalzObject) ToProto() (*openapi.ZObject, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *zObject) FromProto(msg *openapi.ZObject) (ZObject, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalzObject) FromProto(msg *openapi.ZObject) (ZObject, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -14525,33 +15700,33 @@ func (obj *zObject) FromProto(msg *openapi.ZObject) (ZObject, error) { return newObj, nil } -func (obj *zObject) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalzObject) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *zObject) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalzObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *zObject) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalzObject) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -14560,7 +15735,7 @@ func (obj *zObject) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -14571,7 +15746,7 @@ func (obj *zObject) ToYaml() (string, error) { return string(data), nil } -func (obj *zObject) FromYaml(value string) error { +func (m *unMarshalzObject) FromYaml(value string) error { if value == "" { value = "{}" } @@ -14583,21 +15758,21 @@ func (obj *zObject) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *zObject) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalzObject) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -14607,14 +15782,14 @@ func (obj *zObject) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *zObject) FromJson(value string) error { +func (m *unMarshalzObject) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -14622,13 +15797,13 @@ func (obj *zObject) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - err := obj.validateToAndFrom() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -14641,14 +15816,14 @@ func (obj *zObject) validateToAndFrom() error { return obj.validationResult() } -func (obj *zObject) Validate() error { +func (obj *zObject) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *zObject) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -14656,16 +15831,16 @@ func (obj *zObject) String() string { } func (obj *zObject) Clone() (ZObject, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewZObject() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -14675,30 +15850,18 @@ func (obj *zObject) Clone() (ZObject, error) { // ZObject is description is TBD type ZObject interface { Validation - // Msg marshals ZObject to protobuf object *openapi.ZObject + // msg marshals ZObject to protobuf object *openapi.ZObject // and doesn't set defaults - Msg() *openapi.ZObject - // SetMsg unmarshals ZObject from protobuf object *openapi.ZObject + msg() *openapi.ZObject + // setMsg unmarshals ZObject from protobuf object *openapi.ZObject // and doesn't set defaults - SetMsg(*openapi.ZObject) ZObject - // ToProto marshals ZObject to protobuf object *openapi.ZObject - ToProto() (*openapi.ZObject, error) - // ToPbText marshals ZObject to protobuf text - ToPbText() (string, error) - // ToYaml marshals ZObject to YAML text - ToYaml() (string, error) - // ToJson marshals ZObject to JSON text - ToJson() (string, error) - // FromProto unmarshals ZObject from protobuf object *openapi.ZObject - FromProto(msg *openapi.ZObject) (ZObject, error) - // FromPbText unmarshals ZObject from protobuf text - FromPbText(value string) error - // FromYaml unmarshals ZObject from YAML text - FromYaml(value string) error - // FromJson unmarshals ZObject from JSON text - FromJson(value string) error - // Validate validates ZObject - Validate() error + setMsg(*openapi.ZObject) ZObject + // provides marshal interface + Marshal() marshalZObject + // provides unmarshal interface + Unmarshal() unMarshalZObject + // validate validates ZObject + validate() error // A stringer function String() string // Clones the object @@ -14746,7 +15909,9 @@ func (obj *zObject) setDefault() { // ***** YObject ***** type yObject struct { validation - obj *openapi.YObject + obj *openapi.YObject + marshaller marshalYObject + unMarshaller unMarshalYObject } func NewYObject() YObject { @@ -14755,26 +15920,70 @@ func NewYObject() YObject { return &obj } -func (obj *yObject) Msg() *openapi.YObject { +func (obj *yObject) msg() *openapi.YObject { return obj.obj } -func (obj *yObject) SetMsg(msg *openapi.YObject) YObject { +func (obj *yObject) setMsg(msg *openapi.YObject) YObject { proto.Merge(obj.obj, msg) return obj } -func (obj *yObject) ToProto() (*openapi.YObject, error) { - err := obj.validateToAndFrom() +type marshalyObject struct { + obj *yObject +} + +type marshalYObject interface { + // ToProto marshals YObject to protobuf object *openapi.YObject + ToProto() (*openapi.YObject, error) + // ToPbText marshals YObject to protobuf text + ToPbText() (string, error) + // ToYaml marshals YObject to YAML text + ToYaml() (string, error) + // ToJson marshals YObject to JSON text + ToJson() (string, error) +} + +type unMarshalyObject struct { + obj *yObject +} + +type unMarshalYObject interface { + // FromProto unmarshals YObject from protobuf object *openapi.YObject + FromProto(msg *openapi.YObject) (YObject, error) + // FromPbText unmarshals YObject from protobuf text + FromPbText(value string) error + // FromYaml unmarshals YObject from YAML text + FromYaml(value string) error + // FromJson unmarshals YObject from JSON text + FromJson(value string) error +} + +func (obj *yObject) Marshal() marshalYObject { + if obj.marshaller == nil { + obj.marshaller = &marshalyObject{obj: obj} + } + return obj.marshaller +} + +func (obj *yObject) Unmarshal() unMarshalYObject { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalyObject{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalyObject) ToProto() (*openapi.YObject, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *yObject) FromProto(msg *openapi.YObject) (YObject, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalyObject) FromProto(msg *openapi.YObject) (YObject, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -14782,33 +15991,33 @@ func (obj *yObject) FromProto(msg *openapi.YObject) (YObject, error) { return newObj, nil } -func (obj *yObject) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalyObject) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *yObject) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalyObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *yObject) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalyObject) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -14817,7 +16026,7 @@ func (obj *yObject) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -14828,7 +16037,7 @@ func (obj *yObject) ToYaml() (string, error) { return string(data), nil } -func (obj *yObject) FromYaml(value string) error { +func (m *unMarshalyObject) FromYaml(value string) error { if value == "" { value = "{}" } @@ -14840,21 +16049,21 @@ func (obj *yObject) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *yObject) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalyObject) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -14864,14 +16073,14 @@ func (obj *yObject) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *yObject) FromJson(value string) error { +func (m *unMarshalyObject) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -14879,13 +16088,13 @@ func (obj *yObject) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - err := obj.validateToAndFrom() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -14898,14 +16107,14 @@ func (obj *yObject) validateToAndFrom() error { return obj.validationResult() } -func (obj *yObject) Validate() error { +func (obj *yObject) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *yObject) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -14913,16 +16122,16 @@ func (obj *yObject) String() string { } func (obj *yObject) Clone() (YObject, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewYObject() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -14932,30 +16141,18 @@ func (obj *yObject) Clone() (YObject, error) { // YObject is description is TBD type YObject interface { Validation - // Msg marshals YObject to protobuf object *openapi.YObject + // msg marshals YObject to protobuf object *openapi.YObject // and doesn't set defaults - Msg() *openapi.YObject - // SetMsg unmarshals YObject from protobuf object *openapi.YObject + msg() *openapi.YObject + // setMsg unmarshals YObject from protobuf object *openapi.YObject // and doesn't set defaults - SetMsg(*openapi.YObject) YObject - // ToProto marshals YObject to protobuf object *openapi.YObject - ToProto() (*openapi.YObject, error) - // ToPbText marshals YObject to protobuf text - ToPbText() (string, error) - // ToYaml marshals YObject to YAML text - ToYaml() (string, error) - // ToJson marshals YObject to JSON text - ToJson() (string, error) - // FromProto unmarshals YObject from protobuf object *openapi.YObject - FromProto(msg *openapi.YObject) (YObject, error) - // FromPbText unmarshals YObject from protobuf text - FromPbText(value string) error - // FromYaml unmarshals YObject from YAML text - FromYaml(value string) error - // FromJson unmarshals YObject from JSON text - FromJson(value string) error - // Validate validates YObject - Validate() error + setMsg(*openapi.YObject) YObject + // provides marshal interface + Marshal() marshalYObject + // provides unmarshal interface + Unmarshal() unMarshalYObject + // validate validates YObject + validate() error // A stringer function String() string // Clones the object @@ -15022,9 +16219,11 @@ func (obj *yObject) setDefault() { // ***** ChoiceObject ***** type choiceObject struct { validation - obj *openapi.ChoiceObject - eObjHolder EObject - fObjHolder FObject + obj *openapi.ChoiceObject + marshaller marshalChoiceObject + unMarshaller unMarshalChoiceObject + eObjHolder EObject + fObjHolder FObject } func NewChoiceObject() ChoiceObject { @@ -15033,26 +16232,70 @@ func NewChoiceObject() ChoiceObject { return &obj } -func (obj *choiceObject) Msg() *openapi.ChoiceObject { - return obj.obj +func (obj *choiceObject) msg() *openapi.ChoiceObject { + return obj.obj +} + +func (obj *choiceObject) setMsg(msg *openapi.ChoiceObject) ChoiceObject { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +type marshalchoiceObject struct { + obj *choiceObject +} + +type marshalChoiceObject interface { + // ToProto marshals ChoiceObject to protobuf object *openapi.ChoiceObject + ToProto() (*openapi.ChoiceObject, error) + // ToPbText marshals ChoiceObject to protobuf text + ToPbText() (string, error) + // ToYaml marshals ChoiceObject to YAML text + ToYaml() (string, error) + // ToJson marshals ChoiceObject to JSON text + ToJson() (string, error) +} + +type unMarshalchoiceObject struct { + obj *choiceObject +} + +type unMarshalChoiceObject interface { + // FromProto unmarshals ChoiceObject from protobuf object *openapi.ChoiceObject + FromProto(msg *openapi.ChoiceObject) (ChoiceObject, error) + // FromPbText unmarshals ChoiceObject from protobuf text + FromPbText(value string) error + // FromYaml unmarshals ChoiceObject from YAML text + FromYaml(value string) error + // FromJson unmarshals ChoiceObject from JSON text + FromJson(value string) error } -func (obj *choiceObject) SetMsg(msg *openapi.ChoiceObject) ChoiceObject { - obj.setNil() - proto.Merge(obj.obj, msg) - return obj +func (obj *choiceObject) Marshal() marshalChoiceObject { + if obj.marshaller == nil { + obj.marshaller = &marshalchoiceObject{obj: obj} + } + return obj.marshaller +} + +func (obj *choiceObject) Unmarshal() unMarshalChoiceObject { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalchoiceObject{obj: obj} + } + return obj.unMarshaller } -func (obj *choiceObject) ToProto() (*openapi.ChoiceObject, error) { - err := obj.validateToAndFrom() +func (m *marshalchoiceObject) ToProto() (*openapi.ChoiceObject, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *choiceObject) FromProto(msg *openapi.ChoiceObject) (ChoiceObject, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalchoiceObject) FromProto(msg *openapi.ChoiceObject) (ChoiceObject, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -15060,33 +16303,33 @@ func (obj *choiceObject) FromProto(msg *openapi.ChoiceObject) (ChoiceObject, err return newObj, nil } -func (obj *choiceObject) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalchoiceObject) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *choiceObject) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalchoiceObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *choiceObject) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalchoiceObject) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -15095,7 +16338,7 @@ func (obj *choiceObject) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -15106,7 +16349,7 @@ func (obj *choiceObject) ToYaml() (string, error) { return string(data), nil } -func (obj *choiceObject) FromYaml(value string) error { +func (m *unMarshalchoiceObject) FromYaml(value string) error { if value == "" { value = "{}" } @@ -15118,21 +16361,21 @@ func (obj *choiceObject) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *choiceObject) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalchoiceObject) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -15142,14 +16385,14 @@ func (obj *choiceObject) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *choiceObject) FromJson(value string) error { +func (m *unMarshalchoiceObject) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -15157,13 +16400,13 @@ func (obj *choiceObject) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - err := obj.validateToAndFrom() + m.obj.setNil() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -15176,14 +16419,14 @@ func (obj *choiceObject) validateToAndFrom() error { return obj.validationResult() } -func (obj *choiceObject) Validate() error { +func (obj *choiceObject) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *choiceObject) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -15191,16 +16434,16 @@ func (obj *choiceObject) String() string { } func (obj *choiceObject) Clone() (ChoiceObject, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewChoiceObject() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -15218,30 +16461,18 @@ func (obj *choiceObject) setNil() { // ChoiceObject is description is TBD type ChoiceObject interface { Validation - // Msg marshals ChoiceObject to protobuf object *openapi.ChoiceObject + // msg marshals ChoiceObject to protobuf object *openapi.ChoiceObject // and doesn't set defaults - Msg() *openapi.ChoiceObject - // SetMsg unmarshals ChoiceObject from protobuf object *openapi.ChoiceObject + msg() *openapi.ChoiceObject + // setMsg unmarshals ChoiceObject from protobuf object *openapi.ChoiceObject // and doesn't set defaults - SetMsg(*openapi.ChoiceObject) ChoiceObject - // ToProto marshals ChoiceObject to protobuf object *openapi.ChoiceObject - ToProto() (*openapi.ChoiceObject, error) - // ToPbText marshals ChoiceObject to protobuf text - ToPbText() (string, error) - // ToYaml marshals ChoiceObject to YAML text - ToYaml() (string, error) - // ToJson marshals ChoiceObject to JSON text - ToJson() (string, error) - // FromProto unmarshals ChoiceObject from protobuf object *openapi.ChoiceObject - FromProto(msg *openapi.ChoiceObject) (ChoiceObject, error) - // FromPbText unmarshals ChoiceObject from protobuf text - FromPbText(value string) error - // FromYaml unmarshals ChoiceObject from YAML text - FromYaml(value string) error - // FromJson unmarshals ChoiceObject from JSON text - FromJson(value string) error - // Validate validates ChoiceObject - Validate() error + setMsg(*openapi.ChoiceObject) ChoiceObject + // provides marshal interface + Marshal() marshalChoiceObject + // provides unmarshal interface + Unmarshal() unMarshalChoiceObject + // validate validates ChoiceObject + validate() error // A stringer function String() string // Clones the object @@ -15251,10 +16482,12 @@ type ChoiceObject interface { setDefault() // Choice returns ChoiceObjectChoiceEnum, set in ChoiceObject Choice() ChoiceObjectChoiceEnum - // SetChoice assigns ChoiceObjectChoiceEnum provided by user to ChoiceObject - SetChoice(value ChoiceObjectChoiceEnum) ChoiceObject + // setChoice assigns ChoiceObjectChoiceEnum provided by user to ChoiceObject + setChoice(value ChoiceObjectChoiceEnum) ChoiceObject // HasChoice checks if Choice has been set in ChoiceObject HasChoice() bool + // getter for NoObj to set choice. + NoObj() // EObj returns EObject, set in ChoiceObject. // EObject is description is TBD EObj() EObject @@ -15291,13 +16524,18 @@ func (obj *choiceObject) Choice() ChoiceObjectChoiceEnum { return ChoiceObjectChoiceEnum(obj.obj.Choice.Enum().String()) } +// getter for NoObj to set choice +func (obj *choiceObject) NoObj() { + obj.setChoice(ChoiceObjectChoice.NO_OBJ) +} + // description is TBD // Choice returns a string func (obj *choiceObject) HasChoice() bool { return obj.obj.Choice != nil } -func (obj *choiceObject) SetChoice(value ChoiceObjectChoiceEnum) ChoiceObject { +func (obj *choiceObject) setChoice(value ChoiceObjectChoiceEnum) ChoiceObject { intValue, ok := openapi.ChoiceObject_Choice_Enum_value[string(value)] if !ok { obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( @@ -15312,11 +16550,11 @@ func (obj *choiceObject) SetChoice(value ChoiceObjectChoiceEnum) ChoiceObject { obj.eObjHolder = nil if value == ChoiceObjectChoice.E_OBJ { - obj.obj.EObj = NewEObject().Msg() + obj.obj.EObj = NewEObject().msg() } if value == ChoiceObjectChoice.F_OBJ { - obj.obj.FObj = NewFObject().Msg() + obj.obj.FObj = NewFObject().msg() } return obj @@ -15326,7 +16564,7 @@ func (obj *choiceObject) SetChoice(value ChoiceObjectChoiceEnum) ChoiceObject { // EObj returns a EObject func (obj *choiceObject) EObj() EObject { if obj.obj.EObj == nil { - obj.SetChoice(ChoiceObjectChoice.E_OBJ) + obj.setChoice(ChoiceObjectChoice.E_OBJ) } if obj.eObjHolder == nil { obj.eObjHolder = &eObject{obj: obj.obj.EObj} @@ -15343,9 +16581,9 @@ func (obj *choiceObject) HasEObj() bool { // description is TBD // SetEObj sets the EObject value in the ChoiceObject object func (obj *choiceObject) SetEObj(value EObject) ChoiceObject { - obj.SetChoice(ChoiceObjectChoice.E_OBJ) + obj.setChoice(ChoiceObjectChoice.E_OBJ) obj.eObjHolder = nil - obj.obj.EObj = value.Msg() + obj.obj.EObj = value.msg() return obj } @@ -15354,7 +16592,7 @@ func (obj *choiceObject) SetEObj(value EObject) ChoiceObject { // FObj returns a FObject func (obj *choiceObject) FObj() FObject { if obj.obj.FObj == nil { - obj.SetChoice(ChoiceObjectChoice.F_OBJ) + obj.setChoice(ChoiceObjectChoice.F_OBJ) } if obj.fObjHolder == nil { obj.fObjHolder = &fObject{obj: obj.obj.FObj} @@ -15371,9 +16609,9 @@ func (obj *choiceObject) HasFObj() bool { // description is TBD // SetFObj sets the FObject value in the ChoiceObject object func (obj *choiceObject) SetFObj(value FObject) ChoiceObject { - obj.SetChoice(ChoiceObjectChoice.F_OBJ) + obj.setChoice(ChoiceObjectChoice.F_OBJ) obj.fObjHolder = nil - obj.obj.FObj = value.Msg() + obj.obj.FObj = value.msg() return obj } @@ -15397,7 +16635,7 @@ func (obj *choiceObject) validateObj(vObj *validation, set_default bool) { func (obj *choiceObject) setDefault() { if obj.obj.Choice == nil { - obj.SetChoice(ChoiceObjectChoice.NO_OBJ) + obj.setChoice(ChoiceObjectChoice.NO_OBJ) } @@ -15407,6 +16645,8 @@ func (obj *choiceObject) setDefault() { type requiredChoiceParent struct { validation obj *openapi.RequiredChoiceParent + marshaller marshalRequiredChoiceParent + unMarshaller unMarshalRequiredChoiceParent intermediateObjHolder RequiredChoiceIntermediate } @@ -15416,26 +16656,70 @@ func NewRequiredChoiceParent() RequiredChoiceParent { return &obj } -func (obj *requiredChoiceParent) Msg() *openapi.RequiredChoiceParent { +func (obj *requiredChoiceParent) msg() *openapi.RequiredChoiceParent { return obj.obj } -func (obj *requiredChoiceParent) SetMsg(msg *openapi.RequiredChoiceParent) RequiredChoiceParent { +func (obj *requiredChoiceParent) setMsg(msg *openapi.RequiredChoiceParent) RequiredChoiceParent { obj.setNil() proto.Merge(obj.obj, msg) return obj } -func (obj *requiredChoiceParent) ToProto() (*openapi.RequiredChoiceParent, error) { - err := obj.validateToAndFrom() +type marshalrequiredChoiceParent struct { + obj *requiredChoiceParent +} + +type marshalRequiredChoiceParent interface { + // ToProto marshals RequiredChoiceParent to protobuf object *openapi.RequiredChoiceParent + ToProto() (*openapi.RequiredChoiceParent, error) + // ToPbText marshals RequiredChoiceParent to protobuf text + ToPbText() (string, error) + // ToYaml marshals RequiredChoiceParent to YAML text + ToYaml() (string, error) + // ToJson marshals RequiredChoiceParent to JSON text + ToJson() (string, error) +} + +type unMarshalrequiredChoiceParent struct { + obj *requiredChoiceParent +} + +type unMarshalRequiredChoiceParent interface { + // FromProto unmarshals RequiredChoiceParent from protobuf object *openapi.RequiredChoiceParent + FromProto(msg *openapi.RequiredChoiceParent) (RequiredChoiceParent, error) + // FromPbText unmarshals RequiredChoiceParent from protobuf text + FromPbText(value string) error + // FromYaml unmarshals RequiredChoiceParent from YAML text + FromYaml(value string) error + // FromJson unmarshals RequiredChoiceParent from JSON text + FromJson(value string) error +} + +func (obj *requiredChoiceParent) Marshal() marshalRequiredChoiceParent { + if obj.marshaller == nil { + obj.marshaller = &marshalrequiredChoiceParent{obj: obj} + } + return obj.marshaller +} + +func (obj *requiredChoiceParent) Unmarshal() unMarshalRequiredChoiceParent { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalrequiredChoiceParent{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalrequiredChoiceParent) ToProto() (*openapi.RequiredChoiceParent, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *requiredChoiceParent) FromProto(msg *openapi.RequiredChoiceParent) (RequiredChoiceParent, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalrequiredChoiceParent) FromProto(msg *openapi.RequiredChoiceParent) (RequiredChoiceParent, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -15443,33 +16727,33 @@ func (obj *requiredChoiceParent) FromProto(msg *openapi.RequiredChoiceParent) (R return newObj, nil } -func (obj *requiredChoiceParent) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalrequiredChoiceParent) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *requiredChoiceParent) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalrequiredChoiceParent) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *requiredChoiceParent) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalrequiredChoiceParent) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -15478,7 +16762,7 @@ func (obj *requiredChoiceParent) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -15489,7 +16773,7 @@ func (obj *requiredChoiceParent) ToYaml() (string, error) { return string(data), nil } -func (obj *requiredChoiceParent) FromYaml(value string) error { +func (m *unMarshalrequiredChoiceParent) FromYaml(value string) error { if value == "" { value = "{}" } @@ -15501,21 +16785,21 @@ func (obj *requiredChoiceParent) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *requiredChoiceParent) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalrequiredChoiceParent) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -15525,14 +16809,14 @@ func (obj *requiredChoiceParent) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *requiredChoiceParent) FromJson(value string) error { +func (m *unMarshalrequiredChoiceParent) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -15540,13 +16824,13 @@ func (obj *requiredChoiceParent) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - err := obj.validateToAndFrom() + m.obj.setNil() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -15559,14 +16843,14 @@ func (obj *requiredChoiceParent) validateToAndFrom() error { return obj.validationResult() } -func (obj *requiredChoiceParent) Validate() error { +func (obj *requiredChoiceParent) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *requiredChoiceParent) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -15574,16 +16858,16 @@ func (obj *requiredChoiceParent) String() string { } func (obj *requiredChoiceParent) Clone() (RequiredChoiceParent, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewRequiredChoiceParent() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -15600,30 +16884,18 @@ func (obj *requiredChoiceParent) setNil() { // RequiredChoiceParent is description is TBD type RequiredChoiceParent interface { Validation - // Msg marshals RequiredChoiceParent to protobuf object *openapi.RequiredChoiceParent + // msg marshals RequiredChoiceParent to protobuf object *openapi.RequiredChoiceParent // and doesn't set defaults - Msg() *openapi.RequiredChoiceParent - // SetMsg unmarshals RequiredChoiceParent from protobuf object *openapi.RequiredChoiceParent + msg() *openapi.RequiredChoiceParent + // setMsg unmarshals RequiredChoiceParent from protobuf object *openapi.RequiredChoiceParent // and doesn't set defaults - SetMsg(*openapi.RequiredChoiceParent) RequiredChoiceParent - // ToProto marshals RequiredChoiceParent to protobuf object *openapi.RequiredChoiceParent - ToProto() (*openapi.RequiredChoiceParent, error) - // ToPbText marshals RequiredChoiceParent to protobuf text - ToPbText() (string, error) - // ToYaml marshals RequiredChoiceParent to YAML text - ToYaml() (string, error) - // ToJson marshals RequiredChoiceParent to JSON text - ToJson() (string, error) - // FromProto unmarshals RequiredChoiceParent from protobuf object *openapi.RequiredChoiceParent - FromProto(msg *openapi.RequiredChoiceParent) (RequiredChoiceParent, error) - // FromPbText unmarshals RequiredChoiceParent from protobuf text - FromPbText(value string) error - // FromYaml unmarshals RequiredChoiceParent from YAML text - FromYaml(value string) error - // FromJson unmarshals RequiredChoiceParent from JSON text - FromJson(value string) error - // Validate validates RequiredChoiceParent - Validate() error + setMsg(*openapi.RequiredChoiceParent) RequiredChoiceParent + // provides marshal interface + Marshal() marshalRequiredChoiceParent + // provides unmarshal interface + Unmarshal() unMarshalRequiredChoiceParent + // validate validates RequiredChoiceParent + validate() error // A stringer function String() string // Clones the object @@ -15633,8 +16905,10 @@ type RequiredChoiceParent interface { setDefault() // Choice returns RequiredChoiceParentChoiceEnum, set in RequiredChoiceParent Choice() RequiredChoiceParentChoiceEnum - // SetChoice assigns RequiredChoiceParentChoiceEnum provided by user to RequiredChoiceParent - SetChoice(value RequiredChoiceParentChoiceEnum) RequiredChoiceParent + // setChoice assigns RequiredChoiceParentChoiceEnum provided by user to RequiredChoiceParent + setChoice(value RequiredChoiceParentChoiceEnum) RequiredChoiceParent + // getter for NoObj to set choice. + NoObj() // IntermediateObj returns RequiredChoiceIntermediate, set in RequiredChoiceParent. // RequiredChoiceIntermediate is description is TBD IntermediateObj() RequiredChoiceIntermediate @@ -15661,7 +16935,12 @@ func (obj *requiredChoiceParent) Choice() RequiredChoiceParentChoiceEnum { return RequiredChoiceParentChoiceEnum(obj.obj.Choice.Enum().String()) } -func (obj *requiredChoiceParent) SetChoice(value RequiredChoiceParentChoiceEnum) RequiredChoiceParent { +// getter for NoObj to set choice +func (obj *requiredChoiceParent) NoObj() { + obj.setChoice(RequiredChoiceParentChoice.NO_OBJ) +} + +func (obj *requiredChoiceParent) setChoice(value RequiredChoiceParentChoiceEnum) RequiredChoiceParent { intValue, ok := openapi.RequiredChoiceParent_Choice_Enum_value[string(value)] if !ok { obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( @@ -15674,7 +16953,7 @@ func (obj *requiredChoiceParent) SetChoice(value RequiredChoiceParentChoiceEnum) obj.intermediateObjHolder = nil if value == RequiredChoiceParentChoice.INTERMEDIATE_OBJ { - obj.obj.IntermediateObj = NewRequiredChoiceIntermediate().Msg() + obj.obj.IntermediateObj = NewRequiredChoiceIntermediate().msg() } return obj @@ -15684,7 +16963,7 @@ func (obj *requiredChoiceParent) SetChoice(value RequiredChoiceParentChoiceEnum) // IntermediateObj returns a RequiredChoiceIntermediate func (obj *requiredChoiceParent) IntermediateObj() RequiredChoiceIntermediate { if obj.obj.IntermediateObj == nil { - obj.SetChoice(RequiredChoiceParentChoice.INTERMEDIATE_OBJ) + obj.setChoice(RequiredChoiceParentChoice.INTERMEDIATE_OBJ) } if obj.intermediateObjHolder == nil { obj.intermediateObjHolder = &requiredChoiceIntermediate{obj: obj.obj.IntermediateObj} @@ -15701,9 +16980,9 @@ func (obj *requiredChoiceParent) HasIntermediateObj() bool { // description is TBD // SetIntermediateObj sets the RequiredChoiceIntermediate value in the RequiredChoiceParent object func (obj *requiredChoiceParent) SetIntermediateObj(value RequiredChoiceIntermediate) RequiredChoiceParent { - obj.SetChoice(RequiredChoiceParentChoice.INTERMEDIATE_OBJ) + obj.setChoice(RequiredChoiceParentChoice.INTERMEDIATE_OBJ) obj.intermediateObjHolder = nil - obj.obj.IntermediateObj = value.Msg() + obj.obj.IntermediateObj = value.msg() return obj } @@ -15732,7 +17011,9 @@ func (obj *requiredChoiceParent) setDefault() { // ***** Error ***** type _error struct { validation - obj *openapi.Error + obj *openapi.Error + marshaller marshalError + unMarshaller unMarshalError } func NewError() Error { @@ -15741,26 +17022,70 @@ func NewError() Error { return &obj } -func (obj *_error) Msg() *openapi.Error { +func (obj *_error) msg() *openapi.Error { return obj.obj } -func (obj *_error) SetMsg(msg *openapi.Error) Error { +func (obj *_error) setMsg(msg *openapi.Error) Error { proto.Merge(obj.obj, msg) return obj } -func (obj *_error) ToProto() (*openapi.Error, error) { - err := obj.validateToAndFrom() +type marshal_error struct { + obj *_error +} + +type marshalError interface { + // ToProto marshals Error to protobuf object *openapi.Error + ToProto() (*openapi.Error, error) + // ToPbText marshals Error to protobuf text + ToPbText() (string, error) + // ToYaml marshals Error to YAML text + ToYaml() (string, error) + // ToJson marshals Error to JSON text + ToJson() (string, error) +} + +type unMarshal_error struct { + obj *_error +} + +type unMarshalError interface { + // FromProto unmarshals Error from protobuf object *openapi.Error + FromProto(msg *openapi.Error) (Error, error) + // FromPbText unmarshals Error from protobuf text + FromPbText(value string) error + // FromYaml unmarshals Error from YAML text + FromYaml(value string) error + // FromJson unmarshals Error from JSON text + FromJson(value string) error +} + +func (obj *_error) Marshal() marshalError { + if obj.marshaller == nil { + obj.marshaller = &marshal_error{obj: obj} + } + return obj.marshaller +} + +func (obj *_error) Unmarshal() unMarshalError { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshal_error{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshal_error) ToProto() (*openapi.Error, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *_error) FromProto(msg *openapi.Error) (Error, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshal_error) FromProto(msg *openapi.Error) (Error, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -15768,33 +17093,33 @@ func (obj *_error) FromProto(msg *openapi.Error) (Error, error) { return newObj, nil } -func (obj *_error) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshal_error) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *_error) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshal_error) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *_error) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshal_error) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -15803,7 +17128,7 @@ func (obj *_error) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -15814,7 +17139,7 @@ func (obj *_error) ToYaml() (string, error) { return string(data), nil } -func (obj *_error) FromYaml(value string) error { +func (m *unMarshal_error) FromYaml(value string) error { if value == "" { value = "{}" } @@ -15826,21 +17151,21 @@ func (obj *_error) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *_error) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshal_error) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -15850,14 +17175,14 @@ func (obj *_error) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *_error) FromJson(value string) error { +func (m *unMarshal_error) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -15865,13 +17190,13 @@ func (obj *_error) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - err := obj.validateToAndFrom() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -15884,14 +17209,14 @@ func (obj *_error) validateToAndFrom() error { return obj.validationResult() } -func (obj *_error) Validate() error { +func (obj *_error) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *_error) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -15899,16 +17224,16 @@ func (obj *_error) String() string { } func (obj *_error) Clone() (Error, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewError() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -15918,30 +17243,18 @@ func (obj *_error) Clone() (Error, error) { // Error is error response generated while serving API request. type Error interface { Validation - // Msg marshals Error to protobuf object *openapi.Error + // msg marshals Error to protobuf object *openapi.Error // and doesn't set defaults - Msg() *openapi.Error - // SetMsg unmarshals Error from protobuf object *openapi.Error + msg() *openapi.Error + // setMsg unmarshals Error from protobuf object *openapi.Error // and doesn't set defaults - SetMsg(*openapi.Error) Error - // ToProto marshals Error to protobuf object *openapi.Error - ToProto() (*openapi.Error, error) - // ToPbText marshals Error to protobuf text - ToPbText() (string, error) - // ToYaml marshals Error to YAML text - ToYaml() (string, error) - // ToJson marshals Error to JSON text - ToJson() (string, error) - // FromProto unmarshals Error from protobuf object *openapi.Error - FromProto(msg *openapi.Error) (Error, error) - // FromPbText unmarshals Error from protobuf text - FromPbText(value string) error - // FromYaml unmarshals Error from YAML text - FromYaml(value string) error - // FromJson unmarshals Error from JSON text - FromJson(value string) error - // Validate validates Error - Validate() error + setMsg(*openapi.Error) Error + // provides marshal interface + Marshal() marshalError + // provides unmarshal interface + Unmarshal() unMarshalError + // validate validates Error + validate() error // A stringer function String() string // Clones the object @@ -15968,7 +17281,7 @@ type Error interface { } func (obj *_error) Error() string { - json, err := obj.ToJson() + json, err := obj.Marshal().ToJson() if err != nil { return fmt.Sprintf("could not convert Error to JSON: %v", err) } @@ -16066,9 +17379,11 @@ func (obj *_error) setDefault() { // ***** Metrics ***** type metrics struct { validation - obj *openapi.Metrics - portsHolder MetricsPortMetricIter - flowsHolder MetricsFlowMetricIter + obj *openapi.Metrics + marshaller marshalMetrics + unMarshaller unMarshalMetrics + portsHolder MetricsPortMetricIter + flowsHolder MetricsFlowMetricIter } func NewMetrics() Metrics { @@ -16077,26 +17392,70 @@ func NewMetrics() Metrics { return &obj } -func (obj *metrics) Msg() *openapi.Metrics { +func (obj *metrics) msg() *openapi.Metrics { return obj.obj } -func (obj *metrics) SetMsg(msg *openapi.Metrics) Metrics { +func (obj *metrics) setMsg(msg *openapi.Metrics) Metrics { obj.setNil() proto.Merge(obj.obj, msg) return obj } -func (obj *metrics) ToProto() (*openapi.Metrics, error) { - err := obj.validateToAndFrom() +type marshalmetrics struct { + obj *metrics +} + +type marshalMetrics interface { + // ToProto marshals Metrics to protobuf object *openapi.Metrics + ToProto() (*openapi.Metrics, error) + // ToPbText marshals Metrics to protobuf text + ToPbText() (string, error) + // ToYaml marshals Metrics to YAML text + ToYaml() (string, error) + // ToJson marshals Metrics to JSON text + ToJson() (string, error) +} + +type unMarshalmetrics struct { + obj *metrics +} + +type unMarshalMetrics interface { + // FromProto unmarshals Metrics from protobuf object *openapi.Metrics + FromProto(msg *openapi.Metrics) (Metrics, error) + // FromPbText unmarshals Metrics from protobuf text + FromPbText(value string) error + // FromYaml unmarshals Metrics from YAML text + FromYaml(value string) error + // FromJson unmarshals Metrics from JSON text + FromJson(value string) error +} + +func (obj *metrics) Marshal() marshalMetrics { + if obj.marshaller == nil { + obj.marshaller = &marshalmetrics{obj: obj} + } + return obj.marshaller +} + +func (obj *metrics) Unmarshal() unMarshalMetrics { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalmetrics{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalmetrics) ToProto() (*openapi.Metrics, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *metrics) FromProto(msg *openapi.Metrics) (Metrics, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalmetrics) FromProto(msg *openapi.Metrics) (Metrics, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -16104,33 +17463,33 @@ func (obj *metrics) FromProto(msg *openapi.Metrics) (Metrics, error) { return newObj, nil } -func (obj *metrics) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalmetrics) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *metrics) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalmetrics) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *metrics) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalmetrics) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -16139,7 +17498,7 @@ func (obj *metrics) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -16150,7 +17509,7 @@ func (obj *metrics) ToYaml() (string, error) { return string(data), nil } -func (obj *metrics) FromYaml(value string) error { +func (m *unMarshalmetrics) FromYaml(value string) error { if value == "" { value = "{}" } @@ -16162,21 +17521,21 @@ func (obj *metrics) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *metrics) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalmetrics) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -16186,14 +17545,14 @@ func (obj *metrics) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *metrics) FromJson(value string) error { +func (m *unMarshalmetrics) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -16201,13 +17560,13 @@ func (obj *metrics) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - err := obj.validateToAndFrom() + m.obj.setNil() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -16220,14 +17579,14 @@ func (obj *metrics) validateToAndFrom() error { return obj.validationResult() } -func (obj *metrics) Validate() error { +func (obj *metrics) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *metrics) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -16235,16 +17594,16 @@ func (obj *metrics) String() string { } func (obj *metrics) Clone() (Metrics, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewMetrics() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -16262,30 +17621,18 @@ func (obj *metrics) setNil() { // Metrics is description is TBD type Metrics interface { Validation - // Msg marshals Metrics to protobuf object *openapi.Metrics + // msg marshals Metrics to protobuf object *openapi.Metrics // and doesn't set defaults - Msg() *openapi.Metrics - // SetMsg unmarshals Metrics from protobuf object *openapi.Metrics + msg() *openapi.Metrics + // setMsg unmarshals Metrics from protobuf object *openapi.Metrics // and doesn't set defaults - SetMsg(*openapi.Metrics) Metrics - // ToProto marshals Metrics to protobuf object *openapi.Metrics - ToProto() (*openapi.Metrics, error) - // ToPbText marshals Metrics to protobuf text - ToPbText() (string, error) - // ToYaml marshals Metrics to YAML text - ToYaml() (string, error) - // ToJson marshals Metrics to JSON text - ToJson() (string, error) - // FromProto unmarshals Metrics from protobuf object *openapi.Metrics - FromProto(msg *openapi.Metrics) (Metrics, error) - // FromPbText unmarshals Metrics from protobuf text - FromPbText(value string) error - // FromYaml unmarshals Metrics from YAML text - FromYaml(value string) error - // FromJson unmarshals Metrics from JSON text - FromJson(value string) error - // Validate validates Metrics - Validate() error + setMsg(*openapi.Metrics) Metrics + // provides marshal interface + Marshal() marshalMetrics + // provides unmarshal interface + Unmarshal() unMarshalMetrics + // validate validates Metrics + validate() error // A stringer function String() string // Clones the object @@ -16295,8 +17642,8 @@ type Metrics interface { setDefault() // Choice returns MetricsChoiceEnum, set in Metrics Choice() MetricsChoiceEnum - // SetChoice assigns MetricsChoiceEnum provided by user to Metrics - SetChoice(value MetricsChoiceEnum) Metrics + // setChoice assigns MetricsChoiceEnum provided by user to Metrics + setChoice(value MetricsChoiceEnum) Metrics // HasChoice checks if Choice has been set in Metrics HasChoice() bool // Ports returns MetricsPortMetricIterIter, set in Metrics @@ -16327,7 +17674,7 @@ func (obj *metrics) HasChoice() bool { return obj.obj.Choice != nil } -func (obj *metrics) SetChoice(value MetricsChoiceEnum) Metrics { +func (obj *metrics) setChoice(value MetricsChoiceEnum) Metrics { intValue, ok := openapi.Metrics_Choice_Enum_value[string(value)] if !ok { obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( @@ -16356,7 +17703,7 @@ func (obj *metrics) SetChoice(value MetricsChoiceEnum) Metrics { // Ports returns a []PortMetric func (obj *metrics) Ports() MetricsPortMetricIter { if len(obj.obj.Ports) == 0 { - obj.SetChoice(MetricsChoice.PORTS) + obj.setChoice(MetricsChoice.PORTS) } if obj.portsHolder == nil { obj.portsHolder = newMetricsPortMetricIter(&obj.obj.Ports).setMsg(obj) @@ -16409,7 +17756,7 @@ func (obj *metricsPortMetricIter) Add() PortMetric { func (obj *metricsPortMetricIter) Append(items ...PortMetric) MetricsPortMetricIter { for _, item := range items { - newObj := item.Msg() + newObj := item.msg() *obj.fieldPtr = append(*obj.fieldPtr, newObj) obj.portMetricSlice = append(obj.portMetricSlice, item) } @@ -16417,7 +17764,7 @@ func (obj *metricsPortMetricIter) Append(items ...PortMetric) MetricsPortMetricI } func (obj *metricsPortMetricIter) Set(index int, newObj PortMetric) MetricsPortMetricIter { - (*obj.fieldPtr)[index] = newObj.Msg() + (*obj.fieldPtr)[index] = newObj.msg() obj.portMetricSlice[index] = newObj return obj } @@ -16443,7 +17790,7 @@ func (obj *metricsPortMetricIter) appendHolderSlice(item PortMetric) MetricsPort // Flows returns a []FlowMetric func (obj *metrics) Flows() MetricsFlowMetricIter { if len(obj.obj.Flows) == 0 { - obj.SetChoice(MetricsChoice.FLOWS) + obj.setChoice(MetricsChoice.FLOWS) } if obj.flowsHolder == nil { obj.flowsHolder = newMetricsFlowMetricIter(&obj.obj.Flows).setMsg(obj) @@ -16496,7 +17843,7 @@ func (obj *metricsFlowMetricIter) Add() FlowMetric { func (obj *metricsFlowMetricIter) Append(items ...FlowMetric) MetricsFlowMetricIter { for _, item := range items { - newObj := item.Msg() + newObj := item.msg() *obj.fieldPtr = append(*obj.fieldPtr, newObj) obj.flowMetricSlice = append(obj.flowMetricSlice, item) } @@ -16504,7 +17851,7 @@ func (obj *metricsFlowMetricIter) Append(items ...FlowMetric) MetricsFlowMetricI } func (obj *metricsFlowMetricIter) Set(index int, newObj FlowMetric) MetricsFlowMetricIter { - (*obj.fieldPtr)[index] = newObj.Msg() + (*obj.fieldPtr)[index] = newObj.msg() obj.flowMetricSlice[index] = newObj return obj } @@ -16563,7 +17910,7 @@ func (obj *metrics) validateObj(vObj *validation, set_default bool) { func (obj *metrics) setDefault() { if obj.obj.Choice == nil { - obj.SetChoice(MetricsChoice.PORTS) + obj.setChoice(MetricsChoice.PORTS) } @@ -16572,7 +17919,9 @@ func (obj *metrics) setDefault() { // ***** WarningDetails ***** type warningDetails struct { validation - obj *openapi.WarningDetails + obj *openapi.WarningDetails + marshaller marshalWarningDetails + unMarshaller unMarshalWarningDetails } func NewWarningDetails() WarningDetails { @@ -16581,26 +17930,70 @@ func NewWarningDetails() WarningDetails { return &obj } -func (obj *warningDetails) Msg() *openapi.WarningDetails { +func (obj *warningDetails) msg() *openapi.WarningDetails { return obj.obj } -func (obj *warningDetails) SetMsg(msg *openapi.WarningDetails) WarningDetails { +func (obj *warningDetails) setMsg(msg *openapi.WarningDetails) WarningDetails { proto.Merge(obj.obj, msg) return obj } -func (obj *warningDetails) ToProto() (*openapi.WarningDetails, error) { - err := obj.validateToAndFrom() +type marshalwarningDetails struct { + obj *warningDetails +} + +type marshalWarningDetails interface { + // ToProto marshals WarningDetails to protobuf object *openapi.WarningDetails + ToProto() (*openapi.WarningDetails, error) + // ToPbText marshals WarningDetails to protobuf text + ToPbText() (string, error) + // ToYaml marshals WarningDetails to YAML text + ToYaml() (string, error) + // ToJson marshals WarningDetails to JSON text + ToJson() (string, error) +} + +type unMarshalwarningDetails struct { + obj *warningDetails +} + +type unMarshalWarningDetails interface { + // FromProto unmarshals WarningDetails from protobuf object *openapi.WarningDetails + FromProto(msg *openapi.WarningDetails) (WarningDetails, error) + // FromPbText unmarshals WarningDetails from protobuf text + FromPbText(value string) error + // FromYaml unmarshals WarningDetails from YAML text + FromYaml(value string) error + // FromJson unmarshals WarningDetails from JSON text + FromJson(value string) error +} + +func (obj *warningDetails) Marshal() marshalWarningDetails { + if obj.marshaller == nil { + obj.marshaller = &marshalwarningDetails{obj: obj} + } + return obj.marshaller +} + +func (obj *warningDetails) Unmarshal() unMarshalWarningDetails { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalwarningDetails{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalwarningDetails) ToProto() (*openapi.WarningDetails, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *warningDetails) FromProto(msg *openapi.WarningDetails) (WarningDetails, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalwarningDetails) FromProto(msg *openapi.WarningDetails) (WarningDetails, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -16608,33 +18001,33 @@ func (obj *warningDetails) FromProto(msg *openapi.WarningDetails) (WarningDetail return newObj, nil } -func (obj *warningDetails) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalwarningDetails) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *warningDetails) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalwarningDetails) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *warningDetails) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalwarningDetails) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -16643,7 +18036,7 @@ func (obj *warningDetails) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -16654,7 +18047,7 @@ func (obj *warningDetails) ToYaml() (string, error) { return string(data), nil } -func (obj *warningDetails) FromYaml(value string) error { +func (m *unMarshalwarningDetails) FromYaml(value string) error { if value == "" { value = "{}" } @@ -16666,21 +18059,21 @@ func (obj *warningDetails) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *warningDetails) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalwarningDetails) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -16690,14 +18083,14 @@ func (obj *warningDetails) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *warningDetails) FromJson(value string) error { +func (m *unMarshalwarningDetails) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -16705,13 +18098,13 @@ func (obj *warningDetails) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - err := obj.validateToAndFrom() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -16724,14 +18117,14 @@ func (obj *warningDetails) validateToAndFrom() error { return obj.validationResult() } -func (obj *warningDetails) Validate() error { +func (obj *warningDetails) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *warningDetails) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -16739,16 +18132,16 @@ func (obj *warningDetails) String() string { } func (obj *warningDetails) Clone() (WarningDetails, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewWarningDetails() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -16758,30 +18151,18 @@ func (obj *warningDetails) Clone() (WarningDetails, error) { // WarningDetails is description is TBD type WarningDetails interface { Validation - // Msg marshals WarningDetails to protobuf object *openapi.WarningDetails + // msg marshals WarningDetails to protobuf object *openapi.WarningDetails // and doesn't set defaults - Msg() *openapi.WarningDetails - // SetMsg unmarshals WarningDetails from protobuf object *openapi.WarningDetails + msg() *openapi.WarningDetails + // setMsg unmarshals WarningDetails from protobuf object *openapi.WarningDetails // and doesn't set defaults - SetMsg(*openapi.WarningDetails) WarningDetails - // ToProto marshals WarningDetails to protobuf object *openapi.WarningDetails - ToProto() (*openapi.WarningDetails, error) - // ToPbText marshals WarningDetails to protobuf text - ToPbText() (string, error) - // ToYaml marshals WarningDetails to YAML text - ToYaml() (string, error) - // ToJson marshals WarningDetails to JSON text - ToJson() (string, error) - // FromProto unmarshals WarningDetails from protobuf object *openapi.WarningDetails - FromProto(msg *openapi.WarningDetails) (WarningDetails, error) - // FromPbText unmarshals WarningDetails from protobuf text - FromPbText(value string) error - // FromYaml unmarshals WarningDetails from YAML text - FromYaml(value string) error - // FromJson unmarshals WarningDetails from JSON text - FromJson(value string) error - // Validate validates WarningDetails - Validate() error + setMsg(*openapi.WarningDetails) WarningDetails + // provides marshal interface + Marshal() marshalWarningDetails + // provides unmarshal interface + Unmarshal() unMarshalWarningDetails + // validate validates WarningDetails + validate() error // A stringer function String() string // Clones the object @@ -16827,38 +18208,84 @@ func (obj *warningDetails) setDefault() { } -// ***** CommonResponseSuccess ***** -type commonResponseSuccess struct { - validation - obj *openapi.CommonResponseSuccess +// ***** CommonResponseSuccess ***** +type commonResponseSuccess struct { + validation + obj *openapi.CommonResponseSuccess + marshaller marshalCommonResponseSuccess + unMarshaller unMarshalCommonResponseSuccess +} + +func NewCommonResponseSuccess() CommonResponseSuccess { + obj := commonResponseSuccess{obj: &openapi.CommonResponseSuccess{}} + obj.setDefault() + return &obj +} + +func (obj *commonResponseSuccess) msg() *openapi.CommonResponseSuccess { + return obj.obj +} + +func (obj *commonResponseSuccess) setMsg(msg *openapi.CommonResponseSuccess) CommonResponseSuccess { + + proto.Merge(obj.obj, msg) + return obj +} + +type marshalcommonResponseSuccess struct { + obj *commonResponseSuccess +} + +type marshalCommonResponseSuccess interface { + // ToProto marshals CommonResponseSuccess to protobuf object *openapi.CommonResponseSuccess + ToProto() (*openapi.CommonResponseSuccess, error) + // ToPbText marshals CommonResponseSuccess to protobuf text + ToPbText() (string, error) + // ToYaml marshals CommonResponseSuccess to YAML text + ToYaml() (string, error) + // ToJson marshals CommonResponseSuccess to JSON text + ToJson() (string, error) +} + +type unMarshalcommonResponseSuccess struct { + obj *commonResponseSuccess } -func NewCommonResponseSuccess() CommonResponseSuccess { - obj := commonResponseSuccess{obj: &openapi.CommonResponseSuccess{}} - obj.setDefault() - return &obj +type unMarshalCommonResponseSuccess interface { + // FromProto unmarshals CommonResponseSuccess from protobuf object *openapi.CommonResponseSuccess + FromProto(msg *openapi.CommonResponseSuccess) (CommonResponseSuccess, error) + // FromPbText unmarshals CommonResponseSuccess from protobuf text + FromPbText(value string) error + // FromYaml unmarshals CommonResponseSuccess from YAML text + FromYaml(value string) error + // FromJson unmarshals CommonResponseSuccess from JSON text + FromJson(value string) error } -func (obj *commonResponseSuccess) Msg() *openapi.CommonResponseSuccess { - return obj.obj +func (obj *commonResponseSuccess) Marshal() marshalCommonResponseSuccess { + if obj.marshaller == nil { + obj.marshaller = &marshalcommonResponseSuccess{obj: obj} + } + return obj.marshaller } -func (obj *commonResponseSuccess) SetMsg(msg *openapi.CommonResponseSuccess) CommonResponseSuccess { - - proto.Merge(obj.obj, msg) - return obj +func (obj *commonResponseSuccess) Unmarshal() unMarshalCommonResponseSuccess { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalcommonResponseSuccess{obj: obj} + } + return obj.unMarshaller } -func (obj *commonResponseSuccess) ToProto() (*openapi.CommonResponseSuccess, error) { - err := obj.validateToAndFrom() +func (m *marshalcommonResponseSuccess) ToProto() (*openapi.CommonResponseSuccess, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *commonResponseSuccess) FromProto(msg *openapi.CommonResponseSuccess) (CommonResponseSuccess, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalcommonResponseSuccess) FromProto(msg *openapi.CommonResponseSuccess) (CommonResponseSuccess, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -16866,33 +18293,33 @@ func (obj *commonResponseSuccess) FromProto(msg *openapi.CommonResponseSuccess) return newObj, nil } -func (obj *commonResponseSuccess) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalcommonResponseSuccess) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *commonResponseSuccess) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalcommonResponseSuccess) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *commonResponseSuccess) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalcommonResponseSuccess) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -16901,7 +18328,7 @@ func (obj *commonResponseSuccess) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -16912,7 +18339,7 @@ func (obj *commonResponseSuccess) ToYaml() (string, error) { return string(data), nil } -func (obj *commonResponseSuccess) FromYaml(value string) error { +func (m *unMarshalcommonResponseSuccess) FromYaml(value string) error { if value == "" { value = "{}" } @@ -16924,21 +18351,21 @@ func (obj *commonResponseSuccess) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *commonResponseSuccess) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalcommonResponseSuccess) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -16948,14 +18375,14 @@ func (obj *commonResponseSuccess) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *commonResponseSuccess) FromJson(value string) error { +func (m *unMarshalcommonResponseSuccess) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -16963,13 +18390,13 @@ func (obj *commonResponseSuccess) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - err := obj.validateToAndFrom() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -16982,14 +18409,14 @@ func (obj *commonResponseSuccess) validateToAndFrom() error { return obj.validationResult() } -func (obj *commonResponseSuccess) Validate() error { +func (obj *commonResponseSuccess) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *commonResponseSuccess) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -16997,16 +18424,16 @@ func (obj *commonResponseSuccess) String() string { } func (obj *commonResponseSuccess) Clone() (CommonResponseSuccess, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewCommonResponseSuccess() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -17016,30 +18443,18 @@ func (obj *commonResponseSuccess) Clone() (CommonResponseSuccess, error) { // CommonResponseSuccess is description is TBD type CommonResponseSuccess interface { Validation - // Msg marshals CommonResponseSuccess to protobuf object *openapi.CommonResponseSuccess + // msg marshals CommonResponseSuccess to protobuf object *openapi.CommonResponseSuccess // and doesn't set defaults - Msg() *openapi.CommonResponseSuccess - // SetMsg unmarshals CommonResponseSuccess from protobuf object *openapi.CommonResponseSuccess + msg() *openapi.CommonResponseSuccess + // setMsg unmarshals CommonResponseSuccess from protobuf object *openapi.CommonResponseSuccess // and doesn't set defaults - SetMsg(*openapi.CommonResponseSuccess) CommonResponseSuccess - // ToProto marshals CommonResponseSuccess to protobuf object *openapi.CommonResponseSuccess - ToProto() (*openapi.CommonResponseSuccess, error) - // ToPbText marshals CommonResponseSuccess to protobuf text - ToPbText() (string, error) - // ToYaml marshals CommonResponseSuccess to YAML text - ToYaml() (string, error) - // ToJson marshals CommonResponseSuccess to JSON text - ToJson() (string, error) - // FromProto unmarshals CommonResponseSuccess from protobuf object *openapi.CommonResponseSuccess - FromProto(msg *openapi.CommonResponseSuccess) (CommonResponseSuccess, error) - // FromPbText unmarshals CommonResponseSuccess from protobuf text - FromPbText(value string) error - // FromYaml unmarshals CommonResponseSuccess from YAML text - FromYaml(value string) error - // FromJson unmarshals CommonResponseSuccess from JSON text - FromJson(value string) error - // Validate validates CommonResponseSuccess - Validate() error + setMsg(*openapi.CommonResponseSuccess) CommonResponseSuccess + // provides marshal interface + Marshal() marshalCommonResponseSuccess + // provides unmarshal interface + Unmarshal() unMarshalCommonResponseSuccess + // validate validates CommonResponseSuccess + validate() error // A stringer function String() string // Clones the object @@ -17091,8 +18506,10 @@ func (obj *commonResponseSuccess) setDefault() { // ***** ServiceAbcItemList ***** type serviceAbcItemList struct { validation - obj *openapi.ServiceAbcItemList - itemsHolder ServiceAbcItemListServiceAbcItemIter + obj *openapi.ServiceAbcItemList + marshaller marshalServiceAbcItemList + unMarshaller unMarshalServiceAbcItemList + itemsHolder ServiceAbcItemListServiceAbcItemIter } func NewServiceAbcItemList() ServiceAbcItemList { @@ -17101,26 +18518,70 @@ func NewServiceAbcItemList() ServiceAbcItemList { return &obj } -func (obj *serviceAbcItemList) Msg() *openapi.ServiceAbcItemList { +func (obj *serviceAbcItemList) msg() *openapi.ServiceAbcItemList { return obj.obj } -func (obj *serviceAbcItemList) SetMsg(msg *openapi.ServiceAbcItemList) ServiceAbcItemList { +func (obj *serviceAbcItemList) setMsg(msg *openapi.ServiceAbcItemList) ServiceAbcItemList { obj.setNil() proto.Merge(obj.obj, msg) return obj } -func (obj *serviceAbcItemList) ToProto() (*openapi.ServiceAbcItemList, error) { - err := obj.validateToAndFrom() +type marshalserviceAbcItemList struct { + obj *serviceAbcItemList +} + +type marshalServiceAbcItemList interface { + // ToProto marshals ServiceAbcItemList to protobuf object *openapi.ServiceAbcItemList + ToProto() (*openapi.ServiceAbcItemList, error) + // ToPbText marshals ServiceAbcItemList to protobuf text + ToPbText() (string, error) + // ToYaml marshals ServiceAbcItemList to YAML text + ToYaml() (string, error) + // ToJson marshals ServiceAbcItemList to JSON text + ToJson() (string, error) +} + +type unMarshalserviceAbcItemList struct { + obj *serviceAbcItemList +} + +type unMarshalServiceAbcItemList interface { + // FromProto unmarshals ServiceAbcItemList from protobuf object *openapi.ServiceAbcItemList + FromProto(msg *openapi.ServiceAbcItemList) (ServiceAbcItemList, error) + // FromPbText unmarshals ServiceAbcItemList from protobuf text + FromPbText(value string) error + // FromYaml unmarshals ServiceAbcItemList from YAML text + FromYaml(value string) error + // FromJson unmarshals ServiceAbcItemList from JSON text + FromJson(value string) error +} + +func (obj *serviceAbcItemList) Marshal() marshalServiceAbcItemList { + if obj.marshaller == nil { + obj.marshaller = &marshalserviceAbcItemList{obj: obj} + } + return obj.marshaller +} + +func (obj *serviceAbcItemList) Unmarshal() unMarshalServiceAbcItemList { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalserviceAbcItemList{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalserviceAbcItemList) ToProto() (*openapi.ServiceAbcItemList, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *serviceAbcItemList) FromProto(msg *openapi.ServiceAbcItemList) (ServiceAbcItemList, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalserviceAbcItemList) FromProto(msg *openapi.ServiceAbcItemList) (ServiceAbcItemList, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -17128,33 +18589,33 @@ func (obj *serviceAbcItemList) FromProto(msg *openapi.ServiceAbcItemList) (Servi return newObj, nil } -func (obj *serviceAbcItemList) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalserviceAbcItemList) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *serviceAbcItemList) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalserviceAbcItemList) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *serviceAbcItemList) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalserviceAbcItemList) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -17163,7 +18624,7 @@ func (obj *serviceAbcItemList) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -17174,7 +18635,7 @@ func (obj *serviceAbcItemList) ToYaml() (string, error) { return string(data), nil } -func (obj *serviceAbcItemList) FromYaml(value string) error { +func (m *unMarshalserviceAbcItemList) FromYaml(value string) error { if value == "" { value = "{}" } @@ -17186,21 +18647,21 @@ func (obj *serviceAbcItemList) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *serviceAbcItemList) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalserviceAbcItemList) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -17210,14 +18671,14 @@ func (obj *serviceAbcItemList) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *serviceAbcItemList) FromJson(value string) error { +func (m *unMarshalserviceAbcItemList) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -17225,13 +18686,13 @@ func (obj *serviceAbcItemList) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - err := obj.validateToAndFrom() + m.obj.setNil() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -17244,14 +18705,14 @@ func (obj *serviceAbcItemList) validateToAndFrom() error { return obj.validationResult() } -func (obj *serviceAbcItemList) Validate() error { +func (obj *serviceAbcItemList) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *serviceAbcItemList) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -17259,16 +18720,16 @@ func (obj *serviceAbcItemList) String() string { } func (obj *serviceAbcItemList) Clone() (ServiceAbcItemList, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewServiceAbcItemList() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -17285,30 +18746,18 @@ func (obj *serviceAbcItemList) setNil() { // ServiceAbcItemList is description is TBD type ServiceAbcItemList interface { Validation - // Msg marshals ServiceAbcItemList to protobuf object *openapi.ServiceAbcItemList + // msg marshals ServiceAbcItemList to protobuf object *openapi.ServiceAbcItemList // and doesn't set defaults - Msg() *openapi.ServiceAbcItemList - // SetMsg unmarshals ServiceAbcItemList from protobuf object *openapi.ServiceAbcItemList + msg() *openapi.ServiceAbcItemList + // setMsg unmarshals ServiceAbcItemList from protobuf object *openapi.ServiceAbcItemList // and doesn't set defaults - SetMsg(*openapi.ServiceAbcItemList) ServiceAbcItemList - // ToProto marshals ServiceAbcItemList to protobuf object *openapi.ServiceAbcItemList - ToProto() (*openapi.ServiceAbcItemList, error) - // ToPbText marshals ServiceAbcItemList to protobuf text - ToPbText() (string, error) - // ToYaml marshals ServiceAbcItemList to YAML text - ToYaml() (string, error) - // ToJson marshals ServiceAbcItemList to JSON text - ToJson() (string, error) - // FromProto unmarshals ServiceAbcItemList from protobuf object *openapi.ServiceAbcItemList - FromProto(msg *openapi.ServiceAbcItemList) (ServiceAbcItemList, error) - // FromPbText unmarshals ServiceAbcItemList from protobuf text - FromPbText(value string) error - // FromYaml unmarshals ServiceAbcItemList from YAML text - FromYaml(value string) error - // FromJson unmarshals ServiceAbcItemList from JSON text - FromJson(value string) error - // Validate validates ServiceAbcItemList - Validate() error + setMsg(*openapi.ServiceAbcItemList) ServiceAbcItemList + // provides marshal interface + Marshal() marshalServiceAbcItemList + // provides unmarshal interface + Unmarshal() unMarshalServiceAbcItemList + // validate validates ServiceAbcItemList + validate() error // A stringer function String() string // Clones the object @@ -17378,7 +18827,7 @@ func (obj *serviceAbcItemListServiceAbcItemIter) Add() ServiceAbcItem { func (obj *serviceAbcItemListServiceAbcItemIter) Append(items ...ServiceAbcItem) ServiceAbcItemListServiceAbcItemIter { for _, item := range items { - newObj := item.Msg() + newObj := item.msg() *obj.fieldPtr = append(*obj.fieldPtr, newObj) obj.serviceAbcItemSlice = append(obj.serviceAbcItemSlice, item) } @@ -17386,7 +18835,7 @@ func (obj *serviceAbcItemListServiceAbcItemIter) Append(items ...ServiceAbcItem) } func (obj *serviceAbcItemListServiceAbcItemIter) Set(index int, newObj ServiceAbcItem) ServiceAbcItemListServiceAbcItemIter { - (*obj.fieldPtr)[index] = newObj.Msg() + (*obj.fieldPtr)[index] = newObj.msg() obj.serviceAbcItemSlice[index] = newObj return obj } @@ -17436,7 +18885,9 @@ func (obj *serviceAbcItemList) setDefault() { // ***** ServiceAbcItem ***** type serviceAbcItem struct { validation - obj *openapi.ServiceAbcItem + obj *openapi.ServiceAbcItem + marshaller marshalServiceAbcItem + unMarshaller unMarshalServiceAbcItem } func NewServiceAbcItem() ServiceAbcItem { @@ -17445,26 +18896,70 @@ func NewServiceAbcItem() ServiceAbcItem { return &obj } -func (obj *serviceAbcItem) Msg() *openapi.ServiceAbcItem { +func (obj *serviceAbcItem) msg() *openapi.ServiceAbcItem { return obj.obj } -func (obj *serviceAbcItem) SetMsg(msg *openapi.ServiceAbcItem) ServiceAbcItem { +func (obj *serviceAbcItem) setMsg(msg *openapi.ServiceAbcItem) ServiceAbcItem { proto.Merge(obj.obj, msg) return obj } -func (obj *serviceAbcItem) ToProto() (*openapi.ServiceAbcItem, error) { - err := obj.validateToAndFrom() +type marshalserviceAbcItem struct { + obj *serviceAbcItem +} + +type marshalServiceAbcItem interface { + // ToProto marshals ServiceAbcItem to protobuf object *openapi.ServiceAbcItem + ToProto() (*openapi.ServiceAbcItem, error) + // ToPbText marshals ServiceAbcItem to protobuf text + ToPbText() (string, error) + // ToYaml marshals ServiceAbcItem to YAML text + ToYaml() (string, error) + // ToJson marshals ServiceAbcItem to JSON text + ToJson() (string, error) +} + +type unMarshalserviceAbcItem struct { + obj *serviceAbcItem +} + +type unMarshalServiceAbcItem interface { + // FromProto unmarshals ServiceAbcItem from protobuf object *openapi.ServiceAbcItem + FromProto(msg *openapi.ServiceAbcItem) (ServiceAbcItem, error) + // FromPbText unmarshals ServiceAbcItem from protobuf text + FromPbText(value string) error + // FromYaml unmarshals ServiceAbcItem from YAML text + FromYaml(value string) error + // FromJson unmarshals ServiceAbcItem from JSON text + FromJson(value string) error +} + +func (obj *serviceAbcItem) Marshal() marshalServiceAbcItem { + if obj.marshaller == nil { + obj.marshaller = &marshalserviceAbcItem{obj: obj} + } + return obj.marshaller +} + +func (obj *serviceAbcItem) Unmarshal() unMarshalServiceAbcItem { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalserviceAbcItem{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalserviceAbcItem) ToProto() (*openapi.ServiceAbcItem, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *serviceAbcItem) FromProto(msg *openapi.ServiceAbcItem) (ServiceAbcItem, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalserviceAbcItem) FromProto(msg *openapi.ServiceAbcItem) (ServiceAbcItem, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -17472,33 +18967,33 @@ func (obj *serviceAbcItem) FromProto(msg *openapi.ServiceAbcItem) (ServiceAbcIte return newObj, nil } -func (obj *serviceAbcItem) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalserviceAbcItem) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *serviceAbcItem) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalserviceAbcItem) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *serviceAbcItem) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalserviceAbcItem) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -17507,7 +19002,7 @@ func (obj *serviceAbcItem) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -17518,7 +19013,7 @@ func (obj *serviceAbcItem) ToYaml() (string, error) { return string(data), nil } -func (obj *serviceAbcItem) FromYaml(value string) error { +func (m *unMarshalserviceAbcItem) FromYaml(value string) error { if value == "" { value = "{}" } @@ -17530,21 +19025,21 @@ func (obj *serviceAbcItem) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *serviceAbcItem) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalserviceAbcItem) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -17554,14 +19049,14 @@ func (obj *serviceAbcItem) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *serviceAbcItem) FromJson(value string) error { +func (m *unMarshalserviceAbcItem) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -17569,13 +19064,13 @@ func (obj *serviceAbcItem) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - err := obj.validateToAndFrom() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -17588,14 +19083,14 @@ func (obj *serviceAbcItem) validateToAndFrom() error { return obj.validationResult() } -func (obj *serviceAbcItem) Validate() error { +func (obj *serviceAbcItem) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *serviceAbcItem) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -17603,16 +19098,16 @@ func (obj *serviceAbcItem) String() string { } func (obj *serviceAbcItem) Clone() (ServiceAbcItem, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewServiceAbcItem() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -17622,30 +19117,18 @@ func (obj *serviceAbcItem) Clone() (ServiceAbcItem, error) { // ServiceAbcItem is description is TBD type ServiceAbcItem interface { Validation - // Msg marshals ServiceAbcItem to protobuf object *openapi.ServiceAbcItem + // msg marshals ServiceAbcItem to protobuf object *openapi.ServiceAbcItem // and doesn't set defaults - Msg() *openapi.ServiceAbcItem - // SetMsg unmarshals ServiceAbcItem from protobuf object *openapi.ServiceAbcItem + msg() *openapi.ServiceAbcItem + // setMsg unmarshals ServiceAbcItem from protobuf object *openapi.ServiceAbcItem // and doesn't set defaults - SetMsg(*openapi.ServiceAbcItem) ServiceAbcItem - // ToProto marshals ServiceAbcItem to protobuf object *openapi.ServiceAbcItem - ToProto() (*openapi.ServiceAbcItem, error) - // ToPbText marshals ServiceAbcItem to protobuf text - ToPbText() (string, error) - // ToYaml marshals ServiceAbcItem to YAML text - ToYaml() (string, error) - // ToJson marshals ServiceAbcItem to JSON text - ToJson() (string, error) - // FromProto unmarshals ServiceAbcItem from protobuf object *openapi.ServiceAbcItem - FromProto(msg *openapi.ServiceAbcItem) (ServiceAbcItem, error) - // FromPbText unmarshals ServiceAbcItem from protobuf text - FromPbText(value string) error - // FromYaml unmarshals ServiceAbcItem from YAML text - FromYaml(value string) error - // FromJson unmarshals ServiceAbcItem from JSON text - FromJson(value string) error - // Validate validates ServiceAbcItem - Validate() error + setMsg(*openapi.ServiceAbcItem) ServiceAbcItem + // provides marshal interface + Marshal() marshalServiceAbcItem + // provides unmarshal interface + Unmarshal() unMarshalServiceAbcItem + // validate validates ServiceAbcItem + validate() error // A stringer function String() string // Clones the object @@ -17781,7 +19264,9 @@ func (obj *serviceAbcItem) setDefault() { // ***** Version ***** type version struct { validation - obj *openapi.Version + obj *openapi.Version + marshaller marshalVersion + unMarshaller unMarshalVersion } func NewVersion() Version { @@ -17790,26 +19275,70 @@ func NewVersion() Version { return &obj } -func (obj *version) Msg() *openapi.Version { +func (obj *version) msg() *openapi.Version { return obj.obj } -func (obj *version) SetMsg(msg *openapi.Version) Version { +func (obj *version) setMsg(msg *openapi.Version) Version { proto.Merge(obj.obj, msg) return obj } -func (obj *version) ToProto() (*openapi.Version, error) { - err := obj.validateToAndFrom() +type marshalversion struct { + obj *version +} + +type marshalVersion interface { + // ToProto marshals Version to protobuf object *openapi.Version + ToProto() (*openapi.Version, error) + // ToPbText marshals Version to protobuf text + ToPbText() (string, error) + // ToYaml marshals Version to YAML text + ToYaml() (string, error) + // ToJson marshals Version to JSON text + ToJson() (string, error) +} + +type unMarshalversion struct { + obj *version +} + +type unMarshalVersion interface { + // FromProto unmarshals Version from protobuf object *openapi.Version + FromProto(msg *openapi.Version) (Version, error) + // FromPbText unmarshals Version from protobuf text + FromPbText(value string) error + // FromYaml unmarshals Version from YAML text + FromYaml(value string) error + // FromJson unmarshals Version from JSON text + FromJson(value string) error +} + +func (obj *version) Marshal() marshalVersion { + if obj.marshaller == nil { + obj.marshaller = &marshalversion{obj: obj} + } + return obj.marshaller +} + +func (obj *version) Unmarshal() unMarshalVersion { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalversion{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalversion) ToProto() (*openapi.Version, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *version) FromProto(msg *openapi.Version) (Version, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalversion) FromProto(msg *openapi.Version) (Version, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -17817,33 +19346,33 @@ func (obj *version) FromProto(msg *openapi.Version) (Version, error) { return newObj, nil } -func (obj *version) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalversion) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *version) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalversion) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *version) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalversion) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -17852,7 +19381,7 @@ func (obj *version) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -17863,7 +19392,7 @@ func (obj *version) ToYaml() (string, error) { return string(data), nil } -func (obj *version) FromYaml(value string) error { +func (m *unMarshalversion) FromYaml(value string) error { if value == "" { value = "{}" } @@ -17875,21 +19404,21 @@ func (obj *version) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *version) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalversion) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -17899,14 +19428,14 @@ func (obj *version) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *version) FromJson(value string) error { +func (m *unMarshalversion) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -17914,13 +19443,13 @@ func (obj *version) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - err := obj.validateToAndFrom() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -17933,14 +19462,14 @@ func (obj *version) validateToAndFrom() error { return obj.validationResult() } -func (obj *version) Validate() error { +func (obj *version) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *version) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -17948,16 +19477,16 @@ func (obj *version) String() string { } func (obj *version) Clone() (Version, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewVersion() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -17967,30 +19496,18 @@ func (obj *version) Clone() (Version, error) { // Version is version details type Version interface { Validation - // Msg marshals Version to protobuf object *openapi.Version + // msg marshals Version to protobuf object *openapi.Version // and doesn't set defaults - Msg() *openapi.Version - // SetMsg unmarshals Version from protobuf object *openapi.Version + msg() *openapi.Version + // setMsg unmarshals Version from protobuf object *openapi.Version // and doesn't set defaults - SetMsg(*openapi.Version) Version - // ToProto marshals Version to protobuf object *openapi.Version - ToProto() (*openapi.Version, error) - // ToPbText marshals Version to protobuf text - ToPbText() (string, error) - // ToYaml marshals Version to YAML text - ToYaml() (string, error) - // ToJson marshals Version to JSON text - ToJson() (string, error) - // FromProto unmarshals Version from protobuf object *openapi.Version - FromProto(msg *openapi.Version) (Version, error) - // FromPbText unmarshals Version from protobuf text - FromPbText(value string) error - // FromYaml unmarshals Version from YAML text - FromYaml(value string) error - // FromJson unmarshals Version from JSON text - FromJson(value string) error - // Validate validates Version - Validate() error + setMsg(*openapi.Version) Version + // provides marshal interface + Marshal() marshalVersion + // provides unmarshal interface + Unmarshal() unMarshalVersion + // validate validates Version + validate() error // A stringer function String() string // Clones the object @@ -18107,8 +19624,10 @@ func (obj *version) setDefault() { // ***** LevelTwo ***** type levelTwo struct { validation - obj *openapi.LevelTwo - l2P1Holder LevelThree + obj *openapi.LevelTwo + marshaller marshalLevelTwo + unMarshaller unMarshalLevelTwo + l2P1Holder LevelThree } func NewLevelTwo() LevelTwo { @@ -18117,26 +19636,70 @@ func NewLevelTwo() LevelTwo { return &obj } -func (obj *levelTwo) Msg() *openapi.LevelTwo { +func (obj *levelTwo) msg() *openapi.LevelTwo { return obj.obj } -func (obj *levelTwo) SetMsg(msg *openapi.LevelTwo) LevelTwo { +func (obj *levelTwo) setMsg(msg *openapi.LevelTwo) LevelTwo { obj.setNil() proto.Merge(obj.obj, msg) return obj } -func (obj *levelTwo) ToProto() (*openapi.LevelTwo, error) { - err := obj.validateToAndFrom() +type marshallevelTwo struct { + obj *levelTwo +} + +type marshalLevelTwo interface { + // ToProto marshals LevelTwo to protobuf object *openapi.LevelTwo + ToProto() (*openapi.LevelTwo, error) + // ToPbText marshals LevelTwo to protobuf text + ToPbText() (string, error) + // ToYaml marshals LevelTwo to YAML text + ToYaml() (string, error) + // ToJson marshals LevelTwo to JSON text + ToJson() (string, error) +} + +type unMarshallevelTwo struct { + obj *levelTwo +} + +type unMarshalLevelTwo interface { + // FromProto unmarshals LevelTwo from protobuf object *openapi.LevelTwo + FromProto(msg *openapi.LevelTwo) (LevelTwo, error) + // FromPbText unmarshals LevelTwo from protobuf text + FromPbText(value string) error + // FromYaml unmarshals LevelTwo from YAML text + FromYaml(value string) error + // FromJson unmarshals LevelTwo from JSON text + FromJson(value string) error +} + +func (obj *levelTwo) Marshal() marshalLevelTwo { + if obj.marshaller == nil { + obj.marshaller = &marshallevelTwo{obj: obj} + } + return obj.marshaller +} + +func (obj *levelTwo) Unmarshal() unMarshalLevelTwo { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshallevelTwo{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshallevelTwo) ToProto() (*openapi.LevelTwo, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *levelTwo) FromProto(msg *openapi.LevelTwo) (LevelTwo, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshallevelTwo) FromProto(msg *openapi.LevelTwo) (LevelTwo, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -18144,33 +19707,33 @@ func (obj *levelTwo) FromProto(msg *openapi.LevelTwo) (LevelTwo, error) { return newObj, nil } -func (obj *levelTwo) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshallevelTwo) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *levelTwo) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshallevelTwo) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *levelTwo) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshallevelTwo) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -18179,7 +19742,7 @@ func (obj *levelTwo) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -18190,7 +19753,7 @@ func (obj *levelTwo) ToYaml() (string, error) { return string(data), nil } -func (obj *levelTwo) FromYaml(value string) error { +func (m *unMarshallevelTwo) FromYaml(value string) error { if value == "" { value = "{}" } @@ -18202,21 +19765,21 @@ func (obj *levelTwo) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *levelTwo) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshallevelTwo) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -18226,14 +19789,14 @@ func (obj *levelTwo) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *levelTwo) FromJson(value string) error { +func (m *unMarshallevelTwo) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -18241,13 +19804,13 @@ func (obj *levelTwo) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - err := obj.validateToAndFrom() + m.obj.setNil() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -18260,14 +19823,14 @@ func (obj *levelTwo) validateToAndFrom() error { return obj.validationResult() } -func (obj *levelTwo) Validate() error { +func (obj *levelTwo) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *levelTwo) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -18275,16 +19838,16 @@ func (obj *levelTwo) String() string { } func (obj *levelTwo) Clone() (LevelTwo, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewLevelTwo() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -18301,30 +19864,18 @@ func (obj *levelTwo) setNil() { // LevelTwo is test Level 2 type LevelTwo interface { Validation - // Msg marshals LevelTwo to protobuf object *openapi.LevelTwo + // msg marshals LevelTwo to protobuf object *openapi.LevelTwo // and doesn't set defaults - Msg() *openapi.LevelTwo - // SetMsg unmarshals LevelTwo from protobuf object *openapi.LevelTwo + msg() *openapi.LevelTwo + // setMsg unmarshals LevelTwo from protobuf object *openapi.LevelTwo // and doesn't set defaults - SetMsg(*openapi.LevelTwo) LevelTwo - // ToProto marshals LevelTwo to protobuf object *openapi.LevelTwo - ToProto() (*openapi.LevelTwo, error) - // ToPbText marshals LevelTwo to protobuf text - ToPbText() (string, error) - // ToYaml marshals LevelTwo to YAML text - ToYaml() (string, error) - // ToJson marshals LevelTwo to JSON text - ToJson() (string, error) - // FromProto unmarshals LevelTwo from protobuf object *openapi.LevelTwo - FromProto(msg *openapi.LevelTwo) (LevelTwo, error) - // FromPbText unmarshals LevelTwo from protobuf text - FromPbText(value string) error - // FromYaml unmarshals LevelTwo from YAML text - FromYaml(value string) error - // FromJson unmarshals LevelTwo from JSON text - FromJson(value string) error - // Validate validates LevelTwo - Validate() error + setMsg(*openapi.LevelTwo) LevelTwo + // provides marshal interface + Marshal() marshalLevelTwo + // provides unmarshal interface + Unmarshal() unMarshalLevelTwo + // validate validates LevelTwo + validate() error // A stringer function String() string // Clones the object @@ -18347,7 +19898,7 @@ type LevelTwo interface { // L2P1 returns a LevelThree func (obj *levelTwo) L2P1() LevelThree { if obj.obj.L2P1 == nil { - obj.obj.L2P1 = NewLevelThree().Msg() + obj.obj.L2P1 = NewLevelThree().msg() } if obj.l2P1Holder == nil { obj.l2P1Holder = &levelThree{obj: obj.obj.L2P1} @@ -18366,7 +19917,7 @@ func (obj *levelTwo) HasL2P1() bool { func (obj *levelTwo) SetL2P1(value LevelThree) LevelTwo { obj.l2P1Holder = nil - obj.obj.L2P1 = value.Msg() + obj.obj.L2P1 = value.msg() return obj } @@ -18390,8 +19941,10 @@ func (obj *levelTwo) setDefault() { // ***** LevelFour ***** type levelFour struct { validation - obj *openapi.LevelFour - l4P1Holder LevelOne + obj *openapi.LevelFour + marshaller marshalLevelFour + unMarshaller unMarshalLevelFour + l4P1Holder LevelOne } func NewLevelFour() LevelFour { @@ -18400,26 +19953,70 @@ func NewLevelFour() LevelFour { return &obj } -func (obj *levelFour) Msg() *openapi.LevelFour { - return obj.obj +func (obj *levelFour) msg() *openapi.LevelFour { + return obj.obj +} + +func (obj *levelFour) setMsg(msg *openapi.LevelFour) LevelFour { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +type marshallevelFour struct { + obj *levelFour +} + +type marshalLevelFour interface { + // ToProto marshals LevelFour to protobuf object *openapi.LevelFour + ToProto() (*openapi.LevelFour, error) + // ToPbText marshals LevelFour to protobuf text + ToPbText() (string, error) + // ToYaml marshals LevelFour to YAML text + ToYaml() (string, error) + // ToJson marshals LevelFour to JSON text + ToJson() (string, error) +} + +type unMarshallevelFour struct { + obj *levelFour +} + +type unMarshalLevelFour interface { + // FromProto unmarshals LevelFour from protobuf object *openapi.LevelFour + FromProto(msg *openapi.LevelFour) (LevelFour, error) + // FromPbText unmarshals LevelFour from protobuf text + FromPbText(value string) error + // FromYaml unmarshals LevelFour from YAML text + FromYaml(value string) error + // FromJson unmarshals LevelFour from JSON text + FromJson(value string) error +} + +func (obj *levelFour) Marshal() marshalLevelFour { + if obj.marshaller == nil { + obj.marshaller = &marshallevelFour{obj: obj} + } + return obj.marshaller } -func (obj *levelFour) SetMsg(msg *openapi.LevelFour) LevelFour { - obj.setNil() - proto.Merge(obj.obj, msg) - return obj +func (obj *levelFour) Unmarshal() unMarshalLevelFour { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshallevelFour{obj: obj} + } + return obj.unMarshaller } -func (obj *levelFour) ToProto() (*openapi.LevelFour, error) { - err := obj.validateToAndFrom() +func (m *marshallevelFour) ToProto() (*openapi.LevelFour, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *levelFour) FromProto(msg *openapi.LevelFour) (LevelFour, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshallevelFour) FromProto(msg *openapi.LevelFour) (LevelFour, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -18427,33 +20024,33 @@ func (obj *levelFour) FromProto(msg *openapi.LevelFour) (LevelFour, error) { return newObj, nil } -func (obj *levelFour) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshallevelFour) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *levelFour) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshallevelFour) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *levelFour) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshallevelFour) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -18462,7 +20059,7 @@ func (obj *levelFour) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -18473,7 +20070,7 @@ func (obj *levelFour) ToYaml() (string, error) { return string(data), nil } -func (obj *levelFour) FromYaml(value string) error { +func (m *unMarshallevelFour) FromYaml(value string) error { if value == "" { value = "{}" } @@ -18485,21 +20082,21 @@ func (obj *levelFour) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *levelFour) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshallevelFour) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -18509,14 +20106,14 @@ func (obj *levelFour) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *levelFour) FromJson(value string) error { +func (m *unMarshallevelFour) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -18524,13 +20121,13 @@ func (obj *levelFour) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - err := obj.validateToAndFrom() + m.obj.setNil() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -18543,14 +20140,14 @@ func (obj *levelFour) validateToAndFrom() error { return obj.validationResult() } -func (obj *levelFour) Validate() error { +func (obj *levelFour) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *levelFour) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -18558,16 +20155,16 @@ func (obj *levelFour) String() string { } func (obj *levelFour) Clone() (LevelFour, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewLevelFour() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -18584,30 +20181,18 @@ func (obj *levelFour) setNil() { // LevelFour is test level4 redundant junk testing type LevelFour interface { Validation - // Msg marshals LevelFour to protobuf object *openapi.LevelFour + // msg marshals LevelFour to protobuf object *openapi.LevelFour // and doesn't set defaults - Msg() *openapi.LevelFour - // SetMsg unmarshals LevelFour from protobuf object *openapi.LevelFour + msg() *openapi.LevelFour + // setMsg unmarshals LevelFour from protobuf object *openapi.LevelFour // and doesn't set defaults - SetMsg(*openapi.LevelFour) LevelFour - // ToProto marshals LevelFour to protobuf object *openapi.LevelFour - ToProto() (*openapi.LevelFour, error) - // ToPbText marshals LevelFour to protobuf text - ToPbText() (string, error) - // ToYaml marshals LevelFour to YAML text - ToYaml() (string, error) - // ToJson marshals LevelFour to JSON text - ToJson() (string, error) - // FromProto unmarshals LevelFour from protobuf object *openapi.LevelFour - FromProto(msg *openapi.LevelFour) (LevelFour, error) - // FromPbText unmarshals LevelFour from protobuf text - FromPbText(value string) error - // FromYaml unmarshals LevelFour from YAML text - FromYaml(value string) error - // FromJson unmarshals LevelFour from JSON text - FromJson(value string) error - // Validate validates LevelFour - Validate() error + setMsg(*openapi.LevelFour) LevelFour + // provides marshal interface + Marshal() marshalLevelFour + // provides unmarshal interface + Unmarshal() unMarshalLevelFour + // validate validates LevelFour + validate() error // A stringer function String() string // Clones the object @@ -18630,7 +20215,7 @@ type LevelFour interface { // L4P1 returns a LevelOne func (obj *levelFour) L4P1() LevelOne { if obj.obj.L4P1 == nil { - obj.obj.L4P1 = NewLevelOne().Msg() + obj.obj.L4P1 = NewLevelOne().msg() } if obj.l4P1Holder == nil { obj.l4P1Holder = &levelOne{obj: obj.obj.L4P1} @@ -18649,7 +20234,7 @@ func (obj *levelFour) HasL4P1() bool { func (obj *levelFour) SetL4P1(value LevelOne) LevelFour { obj.l4P1Holder = nil - obj.obj.L4P1 = value.Msg() + obj.obj.L4P1 = value.msg() return obj } @@ -18674,6 +20259,8 @@ func (obj *levelFour) setDefault() { type patternIpv4PatternIpv4 struct { validation obj *openapi.PatternIpv4PatternIpv4 + marshaller marshalPatternIpv4PatternIpv4 + unMarshaller unMarshalPatternIpv4PatternIpv4 incrementHolder PatternIpv4PatternIpv4Counter decrementHolder PatternIpv4PatternIpv4Counter } @@ -18684,26 +20271,70 @@ func NewPatternIpv4PatternIpv4() PatternIpv4PatternIpv4 { return &obj } -func (obj *patternIpv4PatternIpv4) Msg() *openapi.PatternIpv4PatternIpv4 { +func (obj *patternIpv4PatternIpv4) msg() *openapi.PatternIpv4PatternIpv4 { return obj.obj } -func (obj *patternIpv4PatternIpv4) SetMsg(msg *openapi.PatternIpv4PatternIpv4) PatternIpv4PatternIpv4 { +func (obj *patternIpv4PatternIpv4) setMsg(msg *openapi.PatternIpv4PatternIpv4) PatternIpv4PatternIpv4 { obj.setNil() proto.Merge(obj.obj, msg) return obj } -func (obj *patternIpv4PatternIpv4) ToProto() (*openapi.PatternIpv4PatternIpv4, error) { - err := obj.validateToAndFrom() +type marshalpatternIpv4PatternIpv4 struct { + obj *patternIpv4PatternIpv4 +} + +type marshalPatternIpv4PatternIpv4 interface { + // ToProto marshals PatternIpv4PatternIpv4 to protobuf object *openapi.PatternIpv4PatternIpv4 + ToProto() (*openapi.PatternIpv4PatternIpv4, error) + // ToPbText marshals PatternIpv4PatternIpv4 to protobuf text + ToPbText() (string, error) + // ToYaml marshals PatternIpv4PatternIpv4 to YAML text + ToYaml() (string, error) + // ToJson marshals PatternIpv4PatternIpv4 to JSON text + ToJson() (string, error) +} + +type unMarshalpatternIpv4PatternIpv4 struct { + obj *patternIpv4PatternIpv4 +} + +type unMarshalPatternIpv4PatternIpv4 interface { + // FromProto unmarshals PatternIpv4PatternIpv4 from protobuf object *openapi.PatternIpv4PatternIpv4 + FromProto(msg *openapi.PatternIpv4PatternIpv4) (PatternIpv4PatternIpv4, error) + // FromPbText unmarshals PatternIpv4PatternIpv4 from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PatternIpv4PatternIpv4 from YAML text + FromYaml(value string) error + // FromJson unmarshals PatternIpv4PatternIpv4 from JSON text + FromJson(value string) error +} + +func (obj *patternIpv4PatternIpv4) Marshal() marshalPatternIpv4PatternIpv4 { + if obj.marshaller == nil { + obj.marshaller = &marshalpatternIpv4PatternIpv4{obj: obj} + } + return obj.marshaller +} + +func (obj *patternIpv4PatternIpv4) Unmarshal() unMarshalPatternIpv4PatternIpv4 { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalpatternIpv4PatternIpv4{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalpatternIpv4PatternIpv4) ToProto() (*openapi.PatternIpv4PatternIpv4, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *patternIpv4PatternIpv4) FromProto(msg *openapi.PatternIpv4PatternIpv4) (PatternIpv4PatternIpv4, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalpatternIpv4PatternIpv4) FromProto(msg *openapi.PatternIpv4PatternIpv4) (PatternIpv4PatternIpv4, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -18711,33 +20342,33 @@ func (obj *patternIpv4PatternIpv4) FromProto(msg *openapi.PatternIpv4PatternIpv4 return newObj, nil } -func (obj *patternIpv4PatternIpv4) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpatternIpv4PatternIpv4) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *patternIpv4PatternIpv4) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalpatternIpv4PatternIpv4) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *patternIpv4PatternIpv4) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpatternIpv4PatternIpv4) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -18746,7 +20377,7 @@ func (obj *patternIpv4PatternIpv4) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -18757,7 +20388,7 @@ func (obj *patternIpv4PatternIpv4) ToYaml() (string, error) { return string(data), nil } -func (obj *patternIpv4PatternIpv4) FromYaml(value string) error { +func (m *unMarshalpatternIpv4PatternIpv4) FromYaml(value string) error { if value == "" { value = "{}" } @@ -18769,21 +20400,21 @@ func (obj *patternIpv4PatternIpv4) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *patternIpv4PatternIpv4) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpatternIpv4PatternIpv4) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -18793,14 +20424,14 @@ func (obj *patternIpv4PatternIpv4) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *patternIpv4PatternIpv4) FromJson(value string) error { +func (m *unMarshalpatternIpv4PatternIpv4) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -18808,13 +20439,13 @@ func (obj *patternIpv4PatternIpv4) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - err := obj.validateToAndFrom() + m.obj.setNil() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -18827,14 +20458,14 @@ func (obj *patternIpv4PatternIpv4) validateToAndFrom() error { return obj.validationResult() } -func (obj *patternIpv4PatternIpv4) Validate() error { +func (obj *patternIpv4PatternIpv4) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *patternIpv4PatternIpv4) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -18842,16 +20473,16 @@ func (obj *patternIpv4PatternIpv4) String() string { } func (obj *patternIpv4PatternIpv4) Clone() (PatternIpv4PatternIpv4, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewPatternIpv4PatternIpv4() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -18869,30 +20500,18 @@ func (obj *patternIpv4PatternIpv4) setNil() { // PatternIpv4PatternIpv4 is tBD type PatternIpv4PatternIpv4 interface { Validation - // Msg marshals PatternIpv4PatternIpv4 to protobuf object *openapi.PatternIpv4PatternIpv4 + // msg marshals PatternIpv4PatternIpv4 to protobuf object *openapi.PatternIpv4PatternIpv4 // and doesn't set defaults - Msg() *openapi.PatternIpv4PatternIpv4 - // SetMsg unmarshals PatternIpv4PatternIpv4 from protobuf object *openapi.PatternIpv4PatternIpv4 + msg() *openapi.PatternIpv4PatternIpv4 + // setMsg unmarshals PatternIpv4PatternIpv4 from protobuf object *openapi.PatternIpv4PatternIpv4 // and doesn't set defaults - SetMsg(*openapi.PatternIpv4PatternIpv4) PatternIpv4PatternIpv4 - // ToProto marshals PatternIpv4PatternIpv4 to protobuf object *openapi.PatternIpv4PatternIpv4 - ToProto() (*openapi.PatternIpv4PatternIpv4, error) - // ToPbText marshals PatternIpv4PatternIpv4 to protobuf text - ToPbText() (string, error) - // ToYaml marshals PatternIpv4PatternIpv4 to YAML text - ToYaml() (string, error) - // ToJson marshals PatternIpv4PatternIpv4 to JSON text - ToJson() (string, error) - // FromProto unmarshals PatternIpv4PatternIpv4 from protobuf object *openapi.PatternIpv4PatternIpv4 - FromProto(msg *openapi.PatternIpv4PatternIpv4) (PatternIpv4PatternIpv4, error) - // FromPbText unmarshals PatternIpv4PatternIpv4 from protobuf text - FromPbText(value string) error - // FromYaml unmarshals PatternIpv4PatternIpv4 from YAML text - FromYaml(value string) error - // FromJson unmarshals PatternIpv4PatternIpv4 from JSON text - FromJson(value string) error - // Validate validates PatternIpv4PatternIpv4 - Validate() error + setMsg(*openapi.PatternIpv4PatternIpv4) PatternIpv4PatternIpv4 + // provides marshal interface + Marshal() marshalPatternIpv4PatternIpv4 + // provides unmarshal interface + Unmarshal() unMarshalPatternIpv4PatternIpv4 + // validate validates PatternIpv4PatternIpv4 + validate() error // A stringer function String() string // Clones the object @@ -18902,8 +20521,8 @@ type PatternIpv4PatternIpv4 interface { setDefault() // Choice returns PatternIpv4PatternIpv4ChoiceEnum, set in PatternIpv4PatternIpv4 Choice() PatternIpv4PatternIpv4ChoiceEnum - // SetChoice assigns PatternIpv4PatternIpv4ChoiceEnum provided by user to PatternIpv4PatternIpv4 - SetChoice(value PatternIpv4PatternIpv4ChoiceEnum) PatternIpv4PatternIpv4 + // setChoice assigns PatternIpv4PatternIpv4ChoiceEnum provided by user to PatternIpv4PatternIpv4 + setChoice(value PatternIpv4PatternIpv4ChoiceEnum) PatternIpv4PatternIpv4 // HasChoice checks if Choice has been set in PatternIpv4PatternIpv4 HasChoice() bool // Value returns string, set in PatternIpv4PatternIpv4. @@ -18960,7 +20579,7 @@ func (obj *patternIpv4PatternIpv4) HasChoice() bool { return obj.obj.Choice != nil } -func (obj *patternIpv4PatternIpv4) SetChoice(value PatternIpv4PatternIpv4ChoiceEnum) PatternIpv4PatternIpv4 { +func (obj *patternIpv4PatternIpv4) setChoice(value PatternIpv4PatternIpv4ChoiceEnum) PatternIpv4PatternIpv4 { intValue, ok := openapi.PatternIpv4PatternIpv4_Choice_Enum_value[string(value)] if !ok { obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( @@ -18987,11 +20606,11 @@ func (obj *patternIpv4PatternIpv4) SetChoice(value PatternIpv4PatternIpv4ChoiceE } if value == PatternIpv4PatternIpv4Choice.INCREMENT { - obj.obj.Increment = NewPatternIpv4PatternIpv4Counter().Msg() + obj.obj.Increment = NewPatternIpv4PatternIpv4Counter().msg() } if value == PatternIpv4PatternIpv4Choice.DECREMENT { - obj.obj.Decrement = NewPatternIpv4PatternIpv4Counter().Msg() + obj.obj.Decrement = NewPatternIpv4PatternIpv4Counter().msg() } return obj @@ -19002,7 +20621,7 @@ func (obj *patternIpv4PatternIpv4) SetChoice(value PatternIpv4PatternIpv4ChoiceE func (obj *patternIpv4PatternIpv4) Value() string { if obj.obj.Value == nil { - obj.SetChoice(PatternIpv4PatternIpv4Choice.VALUE) + obj.setChoice(PatternIpv4PatternIpv4Choice.VALUE) } return *obj.obj.Value @@ -19018,7 +20637,7 @@ func (obj *patternIpv4PatternIpv4) HasValue() bool { // description is TBD // SetValue sets the string value in the PatternIpv4PatternIpv4 object func (obj *patternIpv4PatternIpv4) SetValue(value string) PatternIpv4PatternIpv4 { - obj.SetChoice(PatternIpv4PatternIpv4Choice.VALUE) + obj.setChoice(PatternIpv4PatternIpv4Choice.VALUE) obj.obj.Value = &value return obj } @@ -19035,7 +20654,7 @@ func (obj *patternIpv4PatternIpv4) Values() []string { // description is TBD // SetValues sets the []string value in the PatternIpv4PatternIpv4 object func (obj *patternIpv4PatternIpv4) SetValues(value []string) PatternIpv4PatternIpv4 { - obj.SetChoice(PatternIpv4PatternIpv4Choice.VALUES) + obj.setChoice(PatternIpv4PatternIpv4Choice.VALUES) if obj.obj.Values == nil { obj.obj.Values = make([]string, 0) } @@ -19048,7 +20667,7 @@ func (obj *patternIpv4PatternIpv4) SetValues(value []string) PatternIpv4PatternI // Increment returns a PatternIpv4PatternIpv4Counter func (obj *patternIpv4PatternIpv4) Increment() PatternIpv4PatternIpv4Counter { if obj.obj.Increment == nil { - obj.SetChoice(PatternIpv4PatternIpv4Choice.INCREMENT) + obj.setChoice(PatternIpv4PatternIpv4Choice.INCREMENT) } if obj.incrementHolder == nil { obj.incrementHolder = &patternIpv4PatternIpv4Counter{obj: obj.obj.Increment} @@ -19065,9 +20684,9 @@ func (obj *patternIpv4PatternIpv4) HasIncrement() bool { // description is TBD // SetIncrement sets the PatternIpv4PatternIpv4Counter value in the PatternIpv4PatternIpv4 object func (obj *patternIpv4PatternIpv4) SetIncrement(value PatternIpv4PatternIpv4Counter) PatternIpv4PatternIpv4 { - obj.SetChoice(PatternIpv4PatternIpv4Choice.INCREMENT) + obj.setChoice(PatternIpv4PatternIpv4Choice.INCREMENT) obj.incrementHolder = nil - obj.obj.Increment = value.Msg() + obj.obj.Increment = value.msg() return obj } @@ -19076,7 +20695,7 @@ func (obj *patternIpv4PatternIpv4) SetIncrement(value PatternIpv4PatternIpv4Coun // Decrement returns a PatternIpv4PatternIpv4Counter func (obj *patternIpv4PatternIpv4) Decrement() PatternIpv4PatternIpv4Counter { if obj.obj.Decrement == nil { - obj.SetChoice(PatternIpv4PatternIpv4Choice.DECREMENT) + obj.setChoice(PatternIpv4PatternIpv4Choice.DECREMENT) } if obj.decrementHolder == nil { obj.decrementHolder = &patternIpv4PatternIpv4Counter{obj: obj.obj.Decrement} @@ -19093,9 +20712,9 @@ func (obj *patternIpv4PatternIpv4) HasDecrement() bool { // description is TBD // SetDecrement sets the PatternIpv4PatternIpv4Counter value in the PatternIpv4PatternIpv4 object func (obj *patternIpv4PatternIpv4) SetDecrement(value PatternIpv4PatternIpv4Counter) PatternIpv4PatternIpv4 { - obj.SetChoice(PatternIpv4PatternIpv4Choice.DECREMENT) + obj.setChoice(PatternIpv4PatternIpv4Choice.DECREMENT) obj.decrementHolder = nil - obj.obj.Decrement = value.Msg() + obj.obj.Decrement = value.msg() return obj } @@ -19137,7 +20756,7 @@ func (obj *patternIpv4PatternIpv4) validateObj(vObj *validation, set_default boo func (obj *patternIpv4PatternIpv4) setDefault() { if obj.obj.Choice == nil { - obj.SetChoice(PatternIpv4PatternIpv4Choice.VALUE) + obj.setChoice(PatternIpv4PatternIpv4Choice.VALUE) } @@ -19147,6 +20766,8 @@ func (obj *patternIpv4PatternIpv4) setDefault() { type patternIpv6PatternIpv6 struct { validation obj *openapi.PatternIpv6PatternIpv6 + marshaller marshalPatternIpv6PatternIpv6 + unMarshaller unMarshalPatternIpv6PatternIpv6 incrementHolder PatternIpv6PatternIpv6Counter decrementHolder PatternIpv6PatternIpv6Counter } @@ -19157,26 +20778,70 @@ func NewPatternIpv6PatternIpv6() PatternIpv6PatternIpv6 { return &obj } -func (obj *patternIpv6PatternIpv6) Msg() *openapi.PatternIpv6PatternIpv6 { +func (obj *patternIpv6PatternIpv6) msg() *openapi.PatternIpv6PatternIpv6 { return obj.obj } -func (obj *patternIpv6PatternIpv6) SetMsg(msg *openapi.PatternIpv6PatternIpv6) PatternIpv6PatternIpv6 { +func (obj *patternIpv6PatternIpv6) setMsg(msg *openapi.PatternIpv6PatternIpv6) PatternIpv6PatternIpv6 { obj.setNil() proto.Merge(obj.obj, msg) return obj } -func (obj *patternIpv6PatternIpv6) ToProto() (*openapi.PatternIpv6PatternIpv6, error) { - err := obj.validateToAndFrom() +type marshalpatternIpv6PatternIpv6 struct { + obj *patternIpv6PatternIpv6 +} + +type marshalPatternIpv6PatternIpv6 interface { + // ToProto marshals PatternIpv6PatternIpv6 to protobuf object *openapi.PatternIpv6PatternIpv6 + ToProto() (*openapi.PatternIpv6PatternIpv6, error) + // ToPbText marshals PatternIpv6PatternIpv6 to protobuf text + ToPbText() (string, error) + // ToYaml marshals PatternIpv6PatternIpv6 to YAML text + ToYaml() (string, error) + // ToJson marshals PatternIpv6PatternIpv6 to JSON text + ToJson() (string, error) +} + +type unMarshalpatternIpv6PatternIpv6 struct { + obj *patternIpv6PatternIpv6 +} + +type unMarshalPatternIpv6PatternIpv6 interface { + // FromProto unmarshals PatternIpv6PatternIpv6 from protobuf object *openapi.PatternIpv6PatternIpv6 + FromProto(msg *openapi.PatternIpv6PatternIpv6) (PatternIpv6PatternIpv6, error) + // FromPbText unmarshals PatternIpv6PatternIpv6 from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PatternIpv6PatternIpv6 from YAML text + FromYaml(value string) error + // FromJson unmarshals PatternIpv6PatternIpv6 from JSON text + FromJson(value string) error +} + +func (obj *patternIpv6PatternIpv6) Marshal() marshalPatternIpv6PatternIpv6 { + if obj.marshaller == nil { + obj.marshaller = &marshalpatternIpv6PatternIpv6{obj: obj} + } + return obj.marshaller +} + +func (obj *patternIpv6PatternIpv6) Unmarshal() unMarshalPatternIpv6PatternIpv6 { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalpatternIpv6PatternIpv6{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalpatternIpv6PatternIpv6) ToProto() (*openapi.PatternIpv6PatternIpv6, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *patternIpv6PatternIpv6) FromProto(msg *openapi.PatternIpv6PatternIpv6) (PatternIpv6PatternIpv6, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalpatternIpv6PatternIpv6) FromProto(msg *openapi.PatternIpv6PatternIpv6) (PatternIpv6PatternIpv6, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -19184,33 +20849,33 @@ func (obj *patternIpv6PatternIpv6) FromProto(msg *openapi.PatternIpv6PatternIpv6 return newObj, nil } -func (obj *patternIpv6PatternIpv6) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpatternIpv6PatternIpv6) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *patternIpv6PatternIpv6) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalpatternIpv6PatternIpv6) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *patternIpv6PatternIpv6) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpatternIpv6PatternIpv6) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -19219,7 +20884,7 @@ func (obj *patternIpv6PatternIpv6) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -19230,7 +20895,7 @@ func (obj *patternIpv6PatternIpv6) ToYaml() (string, error) { return string(data), nil } -func (obj *patternIpv6PatternIpv6) FromYaml(value string) error { +func (m *unMarshalpatternIpv6PatternIpv6) FromYaml(value string) error { if value == "" { value = "{}" } @@ -19242,21 +20907,21 @@ func (obj *patternIpv6PatternIpv6) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *patternIpv6PatternIpv6) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpatternIpv6PatternIpv6) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -19266,14 +20931,14 @@ func (obj *patternIpv6PatternIpv6) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *patternIpv6PatternIpv6) FromJson(value string) error { +func (m *unMarshalpatternIpv6PatternIpv6) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -19281,13 +20946,13 @@ func (obj *patternIpv6PatternIpv6) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - err := obj.validateToAndFrom() + m.obj.setNil() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -19300,14 +20965,14 @@ func (obj *patternIpv6PatternIpv6) validateToAndFrom() error { return obj.validationResult() } -func (obj *patternIpv6PatternIpv6) Validate() error { +func (obj *patternIpv6PatternIpv6) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *patternIpv6PatternIpv6) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -19315,16 +20980,16 @@ func (obj *patternIpv6PatternIpv6) String() string { } func (obj *patternIpv6PatternIpv6) Clone() (PatternIpv6PatternIpv6, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewPatternIpv6PatternIpv6() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -19342,30 +21007,18 @@ func (obj *patternIpv6PatternIpv6) setNil() { // PatternIpv6PatternIpv6 is tBD type PatternIpv6PatternIpv6 interface { Validation - // Msg marshals PatternIpv6PatternIpv6 to protobuf object *openapi.PatternIpv6PatternIpv6 + // msg marshals PatternIpv6PatternIpv6 to protobuf object *openapi.PatternIpv6PatternIpv6 // and doesn't set defaults - Msg() *openapi.PatternIpv6PatternIpv6 - // SetMsg unmarshals PatternIpv6PatternIpv6 from protobuf object *openapi.PatternIpv6PatternIpv6 + msg() *openapi.PatternIpv6PatternIpv6 + // setMsg unmarshals PatternIpv6PatternIpv6 from protobuf object *openapi.PatternIpv6PatternIpv6 // and doesn't set defaults - SetMsg(*openapi.PatternIpv6PatternIpv6) PatternIpv6PatternIpv6 - // ToProto marshals PatternIpv6PatternIpv6 to protobuf object *openapi.PatternIpv6PatternIpv6 - ToProto() (*openapi.PatternIpv6PatternIpv6, error) - // ToPbText marshals PatternIpv6PatternIpv6 to protobuf text - ToPbText() (string, error) - // ToYaml marshals PatternIpv6PatternIpv6 to YAML text - ToYaml() (string, error) - // ToJson marshals PatternIpv6PatternIpv6 to JSON text - ToJson() (string, error) - // FromProto unmarshals PatternIpv6PatternIpv6 from protobuf object *openapi.PatternIpv6PatternIpv6 - FromProto(msg *openapi.PatternIpv6PatternIpv6) (PatternIpv6PatternIpv6, error) - // FromPbText unmarshals PatternIpv6PatternIpv6 from protobuf text - FromPbText(value string) error - // FromYaml unmarshals PatternIpv6PatternIpv6 from YAML text - FromYaml(value string) error - // FromJson unmarshals PatternIpv6PatternIpv6 from JSON text - FromJson(value string) error - // Validate validates PatternIpv6PatternIpv6 - Validate() error + setMsg(*openapi.PatternIpv6PatternIpv6) PatternIpv6PatternIpv6 + // provides marshal interface + Marshal() marshalPatternIpv6PatternIpv6 + // provides unmarshal interface + Unmarshal() unMarshalPatternIpv6PatternIpv6 + // validate validates PatternIpv6PatternIpv6 + validate() error // A stringer function String() string // Clones the object @@ -19375,8 +21028,8 @@ type PatternIpv6PatternIpv6 interface { setDefault() // Choice returns PatternIpv6PatternIpv6ChoiceEnum, set in PatternIpv6PatternIpv6 Choice() PatternIpv6PatternIpv6ChoiceEnum - // SetChoice assigns PatternIpv6PatternIpv6ChoiceEnum provided by user to PatternIpv6PatternIpv6 - SetChoice(value PatternIpv6PatternIpv6ChoiceEnum) PatternIpv6PatternIpv6 + // setChoice assigns PatternIpv6PatternIpv6ChoiceEnum provided by user to PatternIpv6PatternIpv6 + setChoice(value PatternIpv6PatternIpv6ChoiceEnum) PatternIpv6PatternIpv6 // HasChoice checks if Choice has been set in PatternIpv6PatternIpv6 HasChoice() bool // Value returns string, set in PatternIpv6PatternIpv6. @@ -19433,7 +21086,7 @@ func (obj *patternIpv6PatternIpv6) HasChoice() bool { return obj.obj.Choice != nil } -func (obj *patternIpv6PatternIpv6) SetChoice(value PatternIpv6PatternIpv6ChoiceEnum) PatternIpv6PatternIpv6 { +func (obj *patternIpv6PatternIpv6) setChoice(value PatternIpv6PatternIpv6ChoiceEnum) PatternIpv6PatternIpv6 { intValue, ok := openapi.PatternIpv6PatternIpv6_Choice_Enum_value[string(value)] if !ok { obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( @@ -19460,11 +21113,11 @@ func (obj *patternIpv6PatternIpv6) SetChoice(value PatternIpv6PatternIpv6ChoiceE } if value == PatternIpv6PatternIpv6Choice.INCREMENT { - obj.obj.Increment = NewPatternIpv6PatternIpv6Counter().Msg() + obj.obj.Increment = NewPatternIpv6PatternIpv6Counter().msg() } if value == PatternIpv6PatternIpv6Choice.DECREMENT { - obj.obj.Decrement = NewPatternIpv6PatternIpv6Counter().Msg() + obj.obj.Decrement = NewPatternIpv6PatternIpv6Counter().msg() } return obj @@ -19475,7 +21128,7 @@ func (obj *patternIpv6PatternIpv6) SetChoice(value PatternIpv6PatternIpv6ChoiceE func (obj *patternIpv6PatternIpv6) Value() string { if obj.obj.Value == nil { - obj.SetChoice(PatternIpv6PatternIpv6Choice.VALUE) + obj.setChoice(PatternIpv6PatternIpv6Choice.VALUE) } return *obj.obj.Value @@ -19491,7 +21144,7 @@ func (obj *patternIpv6PatternIpv6) HasValue() bool { // description is TBD // SetValue sets the string value in the PatternIpv6PatternIpv6 object func (obj *patternIpv6PatternIpv6) SetValue(value string) PatternIpv6PatternIpv6 { - obj.SetChoice(PatternIpv6PatternIpv6Choice.VALUE) + obj.setChoice(PatternIpv6PatternIpv6Choice.VALUE) obj.obj.Value = &value return obj } @@ -19508,7 +21161,7 @@ func (obj *patternIpv6PatternIpv6) Values() []string { // description is TBD // SetValues sets the []string value in the PatternIpv6PatternIpv6 object func (obj *patternIpv6PatternIpv6) SetValues(value []string) PatternIpv6PatternIpv6 { - obj.SetChoice(PatternIpv6PatternIpv6Choice.VALUES) + obj.setChoice(PatternIpv6PatternIpv6Choice.VALUES) if obj.obj.Values == nil { obj.obj.Values = make([]string, 0) } @@ -19521,7 +21174,7 @@ func (obj *patternIpv6PatternIpv6) SetValues(value []string) PatternIpv6PatternI // Increment returns a PatternIpv6PatternIpv6Counter func (obj *patternIpv6PatternIpv6) Increment() PatternIpv6PatternIpv6Counter { if obj.obj.Increment == nil { - obj.SetChoice(PatternIpv6PatternIpv6Choice.INCREMENT) + obj.setChoice(PatternIpv6PatternIpv6Choice.INCREMENT) } if obj.incrementHolder == nil { obj.incrementHolder = &patternIpv6PatternIpv6Counter{obj: obj.obj.Increment} @@ -19538,9 +21191,9 @@ func (obj *patternIpv6PatternIpv6) HasIncrement() bool { // description is TBD // SetIncrement sets the PatternIpv6PatternIpv6Counter value in the PatternIpv6PatternIpv6 object func (obj *patternIpv6PatternIpv6) SetIncrement(value PatternIpv6PatternIpv6Counter) PatternIpv6PatternIpv6 { - obj.SetChoice(PatternIpv6PatternIpv6Choice.INCREMENT) + obj.setChoice(PatternIpv6PatternIpv6Choice.INCREMENT) obj.incrementHolder = nil - obj.obj.Increment = value.Msg() + obj.obj.Increment = value.msg() return obj } @@ -19549,7 +21202,7 @@ func (obj *patternIpv6PatternIpv6) SetIncrement(value PatternIpv6PatternIpv6Coun // Decrement returns a PatternIpv6PatternIpv6Counter func (obj *patternIpv6PatternIpv6) Decrement() PatternIpv6PatternIpv6Counter { if obj.obj.Decrement == nil { - obj.SetChoice(PatternIpv6PatternIpv6Choice.DECREMENT) + obj.setChoice(PatternIpv6PatternIpv6Choice.DECREMENT) } if obj.decrementHolder == nil { obj.decrementHolder = &patternIpv6PatternIpv6Counter{obj: obj.obj.Decrement} @@ -19566,9 +21219,9 @@ func (obj *patternIpv6PatternIpv6) HasDecrement() bool { // description is TBD // SetDecrement sets the PatternIpv6PatternIpv6Counter value in the PatternIpv6PatternIpv6 object func (obj *patternIpv6PatternIpv6) SetDecrement(value PatternIpv6PatternIpv6Counter) PatternIpv6PatternIpv6 { - obj.SetChoice(PatternIpv6PatternIpv6Choice.DECREMENT) + obj.setChoice(PatternIpv6PatternIpv6Choice.DECREMENT) obj.decrementHolder = nil - obj.obj.Decrement = value.Msg() + obj.obj.Decrement = value.msg() return obj } @@ -19610,7 +21263,7 @@ func (obj *patternIpv6PatternIpv6) validateObj(vObj *validation, set_default boo func (obj *patternIpv6PatternIpv6) setDefault() { if obj.obj.Choice == nil { - obj.SetChoice(PatternIpv6PatternIpv6Choice.VALUE) + obj.setChoice(PatternIpv6PatternIpv6Choice.VALUE) } @@ -19620,6 +21273,8 @@ func (obj *patternIpv6PatternIpv6) setDefault() { type patternMacPatternMac struct { validation obj *openapi.PatternMacPatternMac + marshaller marshalPatternMacPatternMac + unMarshaller unMarshalPatternMacPatternMac incrementHolder PatternMacPatternMacCounter decrementHolder PatternMacPatternMacCounter } @@ -19630,26 +21285,70 @@ func NewPatternMacPatternMac() PatternMacPatternMac { return &obj } -func (obj *patternMacPatternMac) Msg() *openapi.PatternMacPatternMac { +func (obj *patternMacPatternMac) msg() *openapi.PatternMacPatternMac { return obj.obj } -func (obj *patternMacPatternMac) SetMsg(msg *openapi.PatternMacPatternMac) PatternMacPatternMac { +func (obj *patternMacPatternMac) setMsg(msg *openapi.PatternMacPatternMac) PatternMacPatternMac { obj.setNil() proto.Merge(obj.obj, msg) return obj } -func (obj *patternMacPatternMac) ToProto() (*openapi.PatternMacPatternMac, error) { - err := obj.validateToAndFrom() +type marshalpatternMacPatternMac struct { + obj *patternMacPatternMac +} + +type marshalPatternMacPatternMac interface { + // ToProto marshals PatternMacPatternMac to protobuf object *openapi.PatternMacPatternMac + ToProto() (*openapi.PatternMacPatternMac, error) + // ToPbText marshals PatternMacPatternMac to protobuf text + ToPbText() (string, error) + // ToYaml marshals PatternMacPatternMac to YAML text + ToYaml() (string, error) + // ToJson marshals PatternMacPatternMac to JSON text + ToJson() (string, error) +} + +type unMarshalpatternMacPatternMac struct { + obj *patternMacPatternMac +} + +type unMarshalPatternMacPatternMac interface { + // FromProto unmarshals PatternMacPatternMac from protobuf object *openapi.PatternMacPatternMac + FromProto(msg *openapi.PatternMacPatternMac) (PatternMacPatternMac, error) + // FromPbText unmarshals PatternMacPatternMac from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PatternMacPatternMac from YAML text + FromYaml(value string) error + // FromJson unmarshals PatternMacPatternMac from JSON text + FromJson(value string) error +} + +func (obj *patternMacPatternMac) Marshal() marshalPatternMacPatternMac { + if obj.marshaller == nil { + obj.marshaller = &marshalpatternMacPatternMac{obj: obj} + } + return obj.marshaller +} + +func (obj *patternMacPatternMac) Unmarshal() unMarshalPatternMacPatternMac { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalpatternMacPatternMac{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalpatternMacPatternMac) ToProto() (*openapi.PatternMacPatternMac, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *patternMacPatternMac) FromProto(msg *openapi.PatternMacPatternMac) (PatternMacPatternMac, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalpatternMacPatternMac) FromProto(msg *openapi.PatternMacPatternMac) (PatternMacPatternMac, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -19657,33 +21356,33 @@ func (obj *patternMacPatternMac) FromProto(msg *openapi.PatternMacPatternMac) (P return newObj, nil } -func (obj *patternMacPatternMac) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpatternMacPatternMac) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *patternMacPatternMac) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalpatternMacPatternMac) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *patternMacPatternMac) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpatternMacPatternMac) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -19692,7 +21391,7 @@ func (obj *patternMacPatternMac) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -19703,7 +21402,7 @@ func (obj *patternMacPatternMac) ToYaml() (string, error) { return string(data), nil } -func (obj *patternMacPatternMac) FromYaml(value string) error { +func (m *unMarshalpatternMacPatternMac) FromYaml(value string) error { if value == "" { value = "{}" } @@ -19715,21 +21414,21 @@ func (obj *patternMacPatternMac) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *patternMacPatternMac) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpatternMacPatternMac) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -19739,14 +21438,14 @@ func (obj *patternMacPatternMac) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *patternMacPatternMac) FromJson(value string) error { +func (m *unMarshalpatternMacPatternMac) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -19754,13 +21453,13 @@ func (obj *patternMacPatternMac) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - err := obj.validateToAndFrom() + m.obj.setNil() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -19773,14 +21472,14 @@ func (obj *patternMacPatternMac) validateToAndFrom() error { return obj.validationResult() } -func (obj *patternMacPatternMac) Validate() error { +func (obj *patternMacPatternMac) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *patternMacPatternMac) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -19788,16 +21487,16 @@ func (obj *patternMacPatternMac) String() string { } func (obj *patternMacPatternMac) Clone() (PatternMacPatternMac, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewPatternMacPatternMac() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -19815,30 +21514,18 @@ func (obj *patternMacPatternMac) setNil() { // PatternMacPatternMac is tBD type PatternMacPatternMac interface { Validation - // Msg marshals PatternMacPatternMac to protobuf object *openapi.PatternMacPatternMac + // msg marshals PatternMacPatternMac to protobuf object *openapi.PatternMacPatternMac // and doesn't set defaults - Msg() *openapi.PatternMacPatternMac - // SetMsg unmarshals PatternMacPatternMac from protobuf object *openapi.PatternMacPatternMac + msg() *openapi.PatternMacPatternMac + // setMsg unmarshals PatternMacPatternMac from protobuf object *openapi.PatternMacPatternMac // and doesn't set defaults - SetMsg(*openapi.PatternMacPatternMac) PatternMacPatternMac - // ToProto marshals PatternMacPatternMac to protobuf object *openapi.PatternMacPatternMac - ToProto() (*openapi.PatternMacPatternMac, error) - // ToPbText marshals PatternMacPatternMac to protobuf text - ToPbText() (string, error) - // ToYaml marshals PatternMacPatternMac to YAML text - ToYaml() (string, error) - // ToJson marshals PatternMacPatternMac to JSON text - ToJson() (string, error) - // FromProto unmarshals PatternMacPatternMac from protobuf object *openapi.PatternMacPatternMac - FromProto(msg *openapi.PatternMacPatternMac) (PatternMacPatternMac, error) - // FromPbText unmarshals PatternMacPatternMac from protobuf text - FromPbText(value string) error - // FromYaml unmarshals PatternMacPatternMac from YAML text - FromYaml(value string) error - // FromJson unmarshals PatternMacPatternMac from JSON text - FromJson(value string) error - // Validate validates PatternMacPatternMac - Validate() error + setMsg(*openapi.PatternMacPatternMac) PatternMacPatternMac + // provides marshal interface + Marshal() marshalPatternMacPatternMac + // provides unmarshal interface + Unmarshal() unMarshalPatternMacPatternMac + // validate validates PatternMacPatternMac + validate() error // A stringer function String() string // Clones the object @@ -19848,8 +21535,8 @@ type PatternMacPatternMac interface { setDefault() // Choice returns PatternMacPatternMacChoiceEnum, set in PatternMacPatternMac Choice() PatternMacPatternMacChoiceEnum - // SetChoice assigns PatternMacPatternMacChoiceEnum provided by user to PatternMacPatternMac - SetChoice(value PatternMacPatternMacChoiceEnum) PatternMacPatternMac + // setChoice assigns PatternMacPatternMacChoiceEnum provided by user to PatternMacPatternMac + setChoice(value PatternMacPatternMacChoiceEnum) PatternMacPatternMac // HasChoice checks if Choice has been set in PatternMacPatternMac HasChoice() bool // Value returns string, set in PatternMacPatternMac. @@ -19912,7 +21599,7 @@ func (obj *patternMacPatternMac) HasChoice() bool { return obj.obj.Choice != nil } -func (obj *patternMacPatternMac) SetChoice(value PatternMacPatternMacChoiceEnum) PatternMacPatternMac { +func (obj *patternMacPatternMac) setChoice(value PatternMacPatternMacChoiceEnum) PatternMacPatternMac { intValue, ok := openapi.PatternMacPatternMac_Choice_Enum_value[string(value)] if !ok { obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( @@ -19945,11 +21632,11 @@ func (obj *patternMacPatternMac) SetChoice(value PatternMacPatternMacChoiceEnum) } if value == PatternMacPatternMacChoice.INCREMENT { - obj.obj.Increment = NewPatternMacPatternMacCounter().Msg() + obj.obj.Increment = NewPatternMacPatternMacCounter().msg() } if value == PatternMacPatternMacChoice.DECREMENT { - obj.obj.Decrement = NewPatternMacPatternMacCounter().Msg() + obj.obj.Decrement = NewPatternMacPatternMacCounter().msg() } return obj @@ -19960,7 +21647,7 @@ func (obj *patternMacPatternMac) SetChoice(value PatternMacPatternMacChoiceEnum) func (obj *patternMacPatternMac) Value() string { if obj.obj.Value == nil { - obj.SetChoice(PatternMacPatternMacChoice.VALUE) + obj.setChoice(PatternMacPatternMacChoice.VALUE) } return *obj.obj.Value @@ -19976,7 +21663,7 @@ func (obj *patternMacPatternMac) HasValue() bool { // description is TBD // SetValue sets the string value in the PatternMacPatternMac object func (obj *patternMacPatternMac) SetValue(value string) PatternMacPatternMac { - obj.SetChoice(PatternMacPatternMacChoice.VALUE) + obj.setChoice(PatternMacPatternMacChoice.VALUE) obj.obj.Value = &value return obj } @@ -19993,7 +21680,7 @@ func (obj *patternMacPatternMac) Values() []string { // description is TBD // SetValues sets the []string value in the PatternMacPatternMac object func (obj *patternMacPatternMac) SetValues(value []string) PatternMacPatternMac { - obj.SetChoice(PatternMacPatternMacChoice.VALUES) + obj.setChoice(PatternMacPatternMacChoice.VALUES) if obj.obj.Values == nil { obj.obj.Values = make([]string, 0) } @@ -20009,7 +21696,7 @@ func (obj *patternMacPatternMac) SetValues(value []string) PatternMacPatternMac func (obj *patternMacPatternMac) Auto() string { if obj.obj.Auto == nil { - obj.SetChoice(PatternMacPatternMacChoice.AUTO) + obj.setChoice(PatternMacPatternMacChoice.AUTO) } return *obj.obj.Auto @@ -20028,7 +21715,7 @@ func (obj *patternMacPatternMac) HasAuto() bool { // Increment returns a PatternMacPatternMacCounter func (obj *patternMacPatternMac) Increment() PatternMacPatternMacCounter { if obj.obj.Increment == nil { - obj.SetChoice(PatternMacPatternMacChoice.INCREMENT) + obj.setChoice(PatternMacPatternMacChoice.INCREMENT) } if obj.incrementHolder == nil { obj.incrementHolder = &patternMacPatternMacCounter{obj: obj.obj.Increment} @@ -20045,9 +21732,9 @@ func (obj *patternMacPatternMac) HasIncrement() bool { // description is TBD // SetIncrement sets the PatternMacPatternMacCounter value in the PatternMacPatternMac object func (obj *patternMacPatternMac) SetIncrement(value PatternMacPatternMacCounter) PatternMacPatternMac { - obj.SetChoice(PatternMacPatternMacChoice.INCREMENT) + obj.setChoice(PatternMacPatternMacChoice.INCREMENT) obj.incrementHolder = nil - obj.obj.Increment = value.Msg() + obj.obj.Increment = value.msg() return obj } @@ -20056,7 +21743,7 @@ func (obj *patternMacPatternMac) SetIncrement(value PatternMacPatternMacCounter) // Decrement returns a PatternMacPatternMacCounter func (obj *patternMacPatternMac) Decrement() PatternMacPatternMacCounter { if obj.obj.Decrement == nil { - obj.SetChoice(PatternMacPatternMacChoice.DECREMENT) + obj.setChoice(PatternMacPatternMacChoice.DECREMENT) } if obj.decrementHolder == nil { obj.decrementHolder = &patternMacPatternMacCounter{obj: obj.obj.Decrement} @@ -20073,9 +21760,9 @@ func (obj *patternMacPatternMac) HasDecrement() bool { // description is TBD // SetDecrement sets the PatternMacPatternMacCounter value in the PatternMacPatternMac object func (obj *patternMacPatternMac) SetDecrement(value PatternMacPatternMacCounter) PatternMacPatternMac { - obj.SetChoice(PatternMacPatternMacChoice.DECREMENT) + obj.setChoice(PatternMacPatternMacChoice.DECREMENT) obj.decrementHolder = nil - obj.obj.Decrement = value.Msg() + obj.obj.Decrement = value.msg() return obj } @@ -20126,7 +21813,7 @@ func (obj *patternMacPatternMac) validateObj(vObj *validation, set_default bool) func (obj *patternMacPatternMac) setDefault() { if obj.obj.Choice == nil { - obj.SetChoice(PatternMacPatternMacChoice.AUTO) + obj.setChoice(PatternMacPatternMacChoice.AUTO) } @@ -20136,6 +21823,8 @@ func (obj *patternMacPatternMac) setDefault() { type patternIntegerPatternInteger struct { validation obj *openapi.PatternIntegerPatternInteger + marshaller marshalPatternIntegerPatternInteger + unMarshaller unMarshalPatternIntegerPatternInteger incrementHolder PatternIntegerPatternIntegerCounter decrementHolder PatternIntegerPatternIntegerCounter } @@ -20146,26 +21835,70 @@ func NewPatternIntegerPatternInteger() PatternIntegerPatternInteger { return &obj } -func (obj *patternIntegerPatternInteger) Msg() *openapi.PatternIntegerPatternInteger { +func (obj *patternIntegerPatternInteger) msg() *openapi.PatternIntegerPatternInteger { return obj.obj } -func (obj *patternIntegerPatternInteger) SetMsg(msg *openapi.PatternIntegerPatternInteger) PatternIntegerPatternInteger { +func (obj *patternIntegerPatternInteger) setMsg(msg *openapi.PatternIntegerPatternInteger) PatternIntegerPatternInteger { obj.setNil() proto.Merge(obj.obj, msg) return obj } -func (obj *patternIntegerPatternInteger) ToProto() (*openapi.PatternIntegerPatternInteger, error) { - err := obj.validateToAndFrom() +type marshalpatternIntegerPatternInteger struct { + obj *patternIntegerPatternInteger +} + +type marshalPatternIntegerPatternInteger interface { + // ToProto marshals PatternIntegerPatternInteger to protobuf object *openapi.PatternIntegerPatternInteger + ToProto() (*openapi.PatternIntegerPatternInteger, error) + // ToPbText marshals PatternIntegerPatternInteger to protobuf text + ToPbText() (string, error) + // ToYaml marshals PatternIntegerPatternInteger to YAML text + ToYaml() (string, error) + // ToJson marshals PatternIntegerPatternInteger to JSON text + ToJson() (string, error) +} + +type unMarshalpatternIntegerPatternInteger struct { + obj *patternIntegerPatternInteger +} + +type unMarshalPatternIntegerPatternInteger interface { + // FromProto unmarshals PatternIntegerPatternInteger from protobuf object *openapi.PatternIntegerPatternInteger + FromProto(msg *openapi.PatternIntegerPatternInteger) (PatternIntegerPatternInteger, error) + // FromPbText unmarshals PatternIntegerPatternInteger from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PatternIntegerPatternInteger from YAML text + FromYaml(value string) error + // FromJson unmarshals PatternIntegerPatternInteger from JSON text + FromJson(value string) error +} + +func (obj *patternIntegerPatternInteger) Marshal() marshalPatternIntegerPatternInteger { + if obj.marshaller == nil { + obj.marshaller = &marshalpatternIntegerPatternInteger{obj: obj} + } + return obj.marshaller +} + +func (obj *patternIntegerPatternInteger) Unmarshal() unMarshalPatternIntegerPatternInteger { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalpatternIntegerPatternInteger{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalpatternIntegerPatternInteger) ToProto() (*openapi.PatternIntegerPatternInteger, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *patternIntegerPatternInteger) FromProto(msg *openapi.PatternIntegerPatternInteger) (PatternIntegerPatternInteger, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalpatternIntegerPatternInteger) FromProto(msg *openapi.PatternIntegerPatternInteger) (PatternIntegerPatternInteger, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -20173,33 +21906,33 @@ func (obj *patternIntegerPatternInteger) FromProto(msg *openapi.PatternIntegerPa return newObj, nil } -func (obj *patternIntegerPatternInteger) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpatternIntegerPatternInteger) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *patternIntegerPatternInteger) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalpatternIntegerPatternInteger) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *patternIntegerPatternInteger) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpatternIntegerPatternInteger) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -20208,7 +21941,7 @@ func (obj *patternIntegerPatternInteger) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -20219,7 +21952,7 @@ func (obj *patternIntegerPatternInteger) ToYaml() (string, error) { return string(data), nil } -func (obj *patternIntegerPatternInteger) FromYaml(value string) error { +func (m *unMarshalpatternIntegerPatternInteger) FromYaml(value string) error { if value == "" { value = "{}" } @@ -20231,21 +21964,21 @@ func (obj *patternIntegerPatternInteger) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *patternIntegerPatternInteger) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpatternIntegerPatternInteger) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -20255,14 +21988,14 @@ func (obj *patternIntegerPatternInteger) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *patternIntegerPatternInteger) FromJson(value string) error { +func (m *unMarshalpatternIntegerPatternInteger) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -20270,13 +22003,13 @@ func (obj *patternIntegerPatternInteger) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - err := obj.validateToAndFrom() + m.obj.setNil() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -20289,14 +22022,14 @@ func (obj *patternIntegerPatternInteger) validateToAndFrom() error { return obj.validationResult() } -func (obj *patternIntegerPatternInteger) Validate() error { +func (obj *patternIntegerPatternInteger) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *patternIntegerPatternInteger) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -20304,16 +22037,16 @@ func (obj *patternIntegerPatternInteger) String() string { } func (obj *patternIntegerPatternInteger) Clone() (PatternIntegerPatternInteger, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewPatternIntegerPatternInteger() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -20331,30 +22064,18 @@ func (obj *patternIntegerPatternInteger) setNil() { // PatternIntegerPatternInteger is tBD type PatternIntegerPatternInteger interface { Validation - // Msg marshals PatternIntegerPatternInteger to protobuf object *openapi.PatternIntegerPatternInteger + // msg marshals PatternIntegerPatternInteger to protobuf object *openapi.PatternIntegerPatternInteger // and doesn't set defaults - Msg() *openapi.PatternIntegerPatternInteger - // SetMsg unmarshals PatternIntegerPatternInteger from protobuf object *openapi.PatternIntegerPatternInteger + msg() *openapi.PatternIntegerPatternInteger + // setMsg unmarshals PatternIntegerPatternInteger from protobuf object *openapi.PatternIntegerPatternInteger // and doesn't set defaults - SetMsg(*openapi.PatternIntegerPatternInteger) PatternIntegerPatternInteger - // ToProto marshals PatternIntegerPatternInteger to protobuf object *openapi.PatternIntegerPatternInteger - ToProto() (*openapi.PatternIntegerPatternInteger, error) - // ToPbText marshals PatternIntegerPatternInteger to protobuf text - ToPbText() (string, error) - // ToYaml marshals PatternIntegerPatternInteger to YAML text - ToYaml() (string, error) - // ToJson marshals PatternIntegerPatternInteger to JSON text - ToJson() (string, error) - // FromProto unmarshals PatternIntegerPatternInteger from protobuf object *openapi.PatternIntegerPatternInteger - FromProto(msg *openapi.PatternIntegerPatternInteger) (PatternIntegerPatternInteger, error) - // FromPbText unmarshals PatternIntegerPatternInteger from protobuf text - FromPbText(value string) error - // FromYaml unmarshals PatternIntegerPatternInteger from YAML text - FromYaml(value string) error - // FromJson unmarshals PatternIntegerPatternInteger from JSON text - FromJson(value string) error - // Validate validates PatternIntegerPatternInteger - Validate() error + setMsg(*openapi.PatternIntegerPatternInteger) PatternIntegerPatternInteger + // provides marshal interface + Marshal() marshalPatternIntegerPatternInteger + // provides unmarshal interface + Unmarshal() unMarshalPatternIntegerPatternInteger + // validate validates PatternIntegerPatternInteger + validate() error // A stringer function String() string // Clones the object @@ -20364,8 +22085,8 @@ type PatternIntegerPatternInteger interface { setDefault() // Choice returns PatternIntegerPatternIntegerChoiceEnum, set in PatternIntegerPatternInteger Choice() PatternIntegerPatternIntegerChoiceEnum - // SetChoice assigns PatternIntegerPatternIntegerChoiceEnum provided by user to PatternIntegerPatternInteger - SetChoice(value PatternIntegerPatternIntegerChoiceEnum) PatternIntegerPatternInteger + // setChoice assigns PatternIntegerPatternIntegerChoiceEnum provided by user to PatternIntegerPatternInteger + setChoice(value PatternIntegerPatternIntegerChoiceEnum) PatternIntegerPatternInteger // HasChoice checks if Choice has been set in PatternIntegerPatternInteger HasChoice() bool // Value returns uint32, set in PatternIntegerPatternInteger. @@ -20422,7 +22143,7 @@ func (obj *patternIntegerPatternInteger) HasChoice() bool { return obj.obj.Choice != nil } -func (obj *patternIntegerPatternInteger) SetChoice(value PatternIntegerPatternIntegerChoiceEnum) PatternIntegerPatternInteger { +func (obj *patternIntegerPatternInteger) setChoice(value PatternIntegerPatternIntegerChoiceEnum) PatternIntegerPatternInteger { intValue, ok := openapi.PatternIntegerPatternInteger_Choice_Enum_value[string(value)] if !ok { obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( @@ -20449,11 +22170,11 @@ func (obj *patternIntegerPatternInteger) SetChoice(value PatternIntegerPatternIn } if value == PatternIntegerPatternIntegerChoice.INCREMENT { - obj.obj.Increment = NewPatternIntegerPatternIntegerCounter().Msg() + obj.obj.Increment = NewPatternIntegerPatternIntegerCounter().msg() } if value == PatternIntegerPatternIntegerChoice.DECREMENT { - obj.obj.Decrement = NewPatternIntegerPatternIntegerCounter().Msg() + obj.obj.Decrement = NewPatternIntegerPatternIntegerCounter().msg() } return obj @@ -20464,7 +22185,7 @@ func (obj *patternIntegerPatternInteger) SetChoice(value PatternIntegerPatternIn func (obj *patternIntegerPatternInteger) Value() uint32 { if obj.obj.Value == nil { - obj.SetChoice(PatternIntegerPatternIntegerChoice.VALUE) + obj.setChoice(PatternIntegerPatternIntegerChoice.VALUE) } return *obj.obj.Value @@ -20480,7 +22201,7 @@ func (obj *patternIntegerPatternInteger) HasValue() bool { // description is TBD // SetValue sets the uint32 value in the PatternIntegerPatternInteger object func (obj *patternIntegerPatternInteger) SetValue(value uint32) PatternIntegerPatternInteger { - obj.SetChoice(PatternIntegerPatternIntegerChoice.VALUE) + obj.setChoice(PatternIntegerPatternIntegerChoice.VALUE) obj.obj.Value = &value return obj } @@ -20497,7 +22218,7 @@ func (obj *patternIntegerPatternInteger) Values() []uint32 { // description is TBD // SetValues sets the []uint32 value in the PatternIntegerPatternInteger object func (obj *patternIntegerPatternInteger) SetValues(value []uint32) PatternIntegerPatternInteger { - obj.SetChoice(PatternIntegerPatternIntegerChoice.VALUES) + obj.setChoice(PatternIntegerPatternIntegerChoice.VALUES) if obj.obj.Values == nil { obj.obj.Values = make([]uint32, 0) } @@ -20510,7 +22231,7 @@ func (obj *patternIntegerPatternInteger) SetValues(value []uint32) PatternIntege // Increment returns a PatternIntegerPatternIntegerCounter func (obj *patternIntegerPatternInteger) Increment() PatternIntegerPatternIntegerCounter { if obj.obj.Increment == nil { - obj.SetChoice(PatternIntegerPatternIntegerChoice.INCREMENT) + obj.setChoice(PatternIntegerPatternIntegerChoice.INCREMENT) } if obj.incrementHolder == nil { obj.incrementHolder = &patternIntegerPatternIntegerCounter{obj: obj.obj.Increment} @@ -20527,9 +22248,9 @@ func (obj *patternIntegerPatternInteger) HasIncrement() bool { // description is TBD // SetIncrement sets the PatternIntegerPatternIntegerCounter value in the PatternIntegerPatternInteger object func (obj *patternIntegerPatternInteger) SetIncrement(value PatternIntegerPatternIntegerCounter) PatternIntegerPatternInteger { - obj.SetChoice(PatternIntegerPatternIntegerChoice.INCREMENT) + obj.setChoice(PatternIntegerPatternIntegerChoice.INCREMENT) obj.incrementHolder = nil - obj.obj.Increment = value.Msg() + obj.obj.Increment = value.msg() return obj } @@ -20538,7 +22259,7 @@ func (obj *patternIntegerPatternInteger) SetIncrement(value PatternIntegerPatter // Decrement returns a PatternIntegerPatternIntegerCounter func (obj *patternIntegerPatternInteger) Decrement() PatternIntegerPatternIntegerCounter { if obj.obj.Decrement == nil { - obj.SetChoice(PatternIntegerPatternIntegerChoice.DECREMENT) + obj.setChoice(PatternIntegerPatternIntegerChoice.DECREMENT) } if obj.decrementHolder == nil { obj.decrementHolder = &patternIntegerPatternIntegerCounter{obj: obj.obj.Decrement} @@ -20555,9 +22276,9 @@ func (obj *patternIntegerPatternInteger) HasDecrement() bool { // description is TBD // SetDecrement sets the PatternIntegerPatternIntegerCounter value in the PatternIntegerPatternInteger object func (obj *patternIntegerPatternInteger) SetDecrement(value PatternIntegerPatternIntegerCounter) PatternIntegerPatternInteger { - obj.SetChoice(PatternIntegerPatternIntegerChoice.DECREMENT) + obj.setChoice(PatternIntegerPatternIntegerChoice.DECREMENT) obj.decrementHolder = nil - obj.obj.Decrement = value.Msg() + obj.obj.Decrement = value.msg() return obj } @@ -20604,44 +22325,90 @@ func (obj *patternIntegerPatternInteger) validateObj(vObj *validation, set_defau func (obj *patternIntegerPatternInteger) setDefault() { if obj.obj.Choice == nil { - obj.SetChoice(PatternIntegerPatternIntegerChoice.VALUE) + obj.setChoice(PatternIntegerPatternIntegerChoice.VALUE) } } -// ***** PatternChecksumPatternChecksum ***** -type patternChecksumPatternChecksum struct { - validation - obj *openapi.PatternChecksumPatternChecksum +// ***** PatternChecksumPatternChecksum ***** +type patternChecksumPatternChecksum struct { + validation + obj *openapi.PatternChecksumPatternChecksum + marshaller marshalPatternChecksumPatternChecksum + unMarshaller unMarshalPatternChecksumPatternChecksum +} + +func NewPatternChecksumPatternChecksum() PatternChecksumPatternChecksum { + obj := patternChecksumPatternChecksum{obj: &openapi.PatternChecksumPatternChecksum{}} + obj.setDefault() + return &obj +} + +func (obj *patternChecksumPatternChecksum) msg() *openapi.PatternChecksumPatternChecksum { + return obj.obj +} + +func (obj *patternChecksumPatternChecksum) setMsg(msg *openapi.PatternChecksumPatternChecksum) PatternChecksumPatternChecksum { + + proto.Merge(obj.obj, msg) + return obj +} + +type marshalpatternChecksumPatternChecksum struct { + obj *patternChecksumPatternChecksum +} + +type marshalPatternChecksumPatternChecksum interface { + // ToProto marshals PatternChecksumPatternChecksum to protobuf object *openapi.PatternChecksumPatternChecksum + ToProto() (*openapi.PatternChecksumPatternChecksum, error) + // ToPbText marshals PatternChecksumPatternChecksum to protobuf text + ToPbText() (string, error) + // ToYaml marshals PatternChecksumPatternChecksum to YAML text + ToYaml() (string, error) + // ToJson marshals PatternChecksumPatternChecksum to JSON text + ToJson() (string, error) +} + +type unMarshalpatternChecksumPatternChecksum struct { + obj *patternChecksumPatternChecksum } -func NewPatternChecksumPatternChecksum() PatternChecksumPatternChecksum { - obj := patternChecksumPatternChecksum{obj: &openapi.PatternChecksumPatternChecksum{}} - obj.setDefault() - return &obj +type unMarshalPatternChecksumPatternChecksum interface { + // FromProto unmarshals PatternChecksumPatternChecksum from protobuf object *openapi.PatternChecksumPatternChecksum + FromProto(msg *openapi.PatternChecksumPatternChecksum) (PatternChecksumPatternChecksum, error) + // FromPbText unmarshals PatternChecksumPatternChecksum from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PatternChecksumPatternChecksum from YAML text + FromYaml(value string) error + // FromJson unmarshals PatternChecksumPatternChecksum from JSON text + FromJson(value string) error } -func (obj *patternChecksumPatternChecksum) Msg() *openapi.PatternChecksumPatternChecksum { - return obj.obj +func (obj *patternChecksumPatternChecksum) Marshal() marshalPatternChecksumPatternChecksum { + if obj.marshaller == nil { + obj.marshaller = &marshalpatternChecksumPatternChecksum{obj: obj} + } + return obj.marshaller } -func (obj *patternChecksumPatternChecksum) SetMsg(msg *openapi.PatternChecksumPatternChecksum) PatternChecksumPatternChecksum { - - proto.Merge(obj.obj, msg) - return obj +func (obj *patternChecksumPatternChecksum) Unmarshal() unMarshalPatternChecksumPatternChecksum { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalpatternChecksumPatternChecksum{obj: obj} + } + return obj.unMarshaller } -func (obj *patternChecksumPatternChecksum) ToProto() (*openapi.PatternChecksumPatternChecksum, error) { - err := obj.validateToAndFrom() +func (m *marshalpatternChecksumPatternChecksum) ToProto() (*openapi.PatternChecksumPatternChecksum, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *patternChecksumPatternChecksum) FromProto(msg *openapi.PatternChecksumPatternChecksum) (PatternChecksumPatternChecksum, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalpatternChecksumPatternChecksum) FromProto(msg *openapi.PatternChecksumPatternChecksum) (PatternChecksumPatternChecksum, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -20649,33 +22416,33 @@ func (obj *patternChecksumPatternChecksum) FromProto(msg *openapi.PatternChecksu return newObj, nil } -func (obj *patternChecksumPatternChecksum) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpatternChecksumPatternChecksum) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *patternChecksumPatternChecksum) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalpatternChecksumPatternChecksum) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *patternChecksumPatternChecksum) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpatternChecksumPatternChecksum) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -20684,7 +22451,7 @@ func (obj *patternChecksumPatternChecksum) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -20695,7 +22462,7 @@ func (obj *patternChecksumPatternChecksum) ToYaml() (string, error) { return string(data), nil } -func (obj *patternChecksumPatternChecksum) FromYaml(value string) error { +func (m *unMarshalpatternChecksumPatternChecksum) FromYaml(value string) error { if value == "" { value = "{}" } @@ -20707,21 +22474,21 @@ func (obj *patternChecksumPatternChecksum) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *patternChecksumPatternChecksum) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpatternChecksumPatternChecksum) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -20731,14 +22498,14 @@ func (obj *patternChecksumPatternChecksum) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *patternChecksumPatternChecksum) FromJson(value string) error { +func (m *unMarshalpatternChecksumPatternChecksum) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -20746,13 +22513,13 @@ func (obj *patternChecksumPatternChecksum) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - err := obj.validateToAndFrom() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -20765,14 +22532,14 @@ func (obj *patternChecksumPatternChecksum) validateToAndFrom() error { return obj.validationResult() } -func (obj *patternChecksumPatternChecksum) Validate() error { +func (obj *patternChecksumPatternChecksum) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *patternChecksumPatternChecksum) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -20780,16 +22547,16 @@ func (obj *patternChecksumPatternChecksum) String() string { } func (obj *patternChecksumPatternChecksum) Clone() (PatternChecksumPatternChecksum, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewPatternChecksumPatternChecksum() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -20799,30 +22566,18 @@ func (obj *patternChecksumPatternChecksum) Clone() (PatternChecksumPatternChecks // PatternChecksumPatternChecksum is tBD type PatternChecksumPatternChecksum interface { Validation - // Msg marshals PatternChecksumPatternChecksum to protobuf object *openapi.PatternChecksumPatternChecksum + // msg marshals PatternChecksumPatternChecksum to protobuf object *openapi.PatternChecksumPatternChecksum // and doesn't set defaults - Msg() *openapi.PatternChecksumPatternChecksum - // SetMsg unmarshals PatternChecksumPatternChecksum from protobuf object *openapi.PatternChecksumPatternChecksum + msg() *openapi.PatternChecksumPatternChecksum + // setMsg unmarshals PatternChecksumPatternChecksum from protobuf object *openapi.PatternChecksumPatternChecksum // and doesn't set defaults - SetMsg(*openapi.PatternChecksumPatternChecksum) PatternChecksumPatternChecksum - // ToProto marshals PatternChecksumPatternChecksum to protobuf object *openapi.PatternChecksumPatternChecksum - ToProto() (*openapi.PatternChecksumPatternChecksum, error) - // ToPbText marshals PatternChecksumPatternChecksum to protobuf text - ToPbText() (string, error) - // ToYaml marshals PatternChecksumPatternChecksum to YAML text - ToYaml() (string, error) - // ToJson marshals PatternChecksumPatternChecksum to JSON text - ToJson() (string, error) - // FromProto unmarshals PatternChecksumPatternChecksum from protobuf object *openapi.PatternChecksumPatternChecksum - FromProto(msg *openapi.PatternChecksumPatternChecksum) (PatternChecksumPatternChecksum, error) - // FromPbText unmarshals PatternChecksumPatternChecksum from protobuf text - FromPbText(value string) error - // FromYaml unmarshals PatternChecksumPatternChecksum from YAML text - FromYaml(value string) error - // FromJson unmarshals PatternChecksumPatternChecksum from JSON text - FromJson(value string) error - // Validate validates PatternChecksumPatternChecksum - Validate() error + setMsg(*openapi.PatternChecksumPatternChecksum) PatternChecksumPatternChecksum + // provides marshal interface + Marshal() marshalPatternChecksumPatternChecksum + // provides unmarshal interface + Unmarshal() unMarshalPatternChecksumPatternChecksum + // validate validates PatternChecksumPatternChecksum + validate() error // A stringer function String() string // Clones the object @@ -20832,8 +22587,8 @@ type PatternChecksumPatternChecksum interface { setDefault() // Choice returns PatternChecksumPatternChecksumChoiceEnum, set in PatternChecksumPatternChecksum Choice() PatternChecksumPatternChecksumChoiceEnum - // SetChoice assigns PatternChecksumPatternChecksumChoiceEnum provided by user to PatternChecksumPatternChecksum - SetChoice(value PatternChecksumPatternChecksumChoiceEnum) PatternChecksumPatternChecksum + // setChoice assigns PatternChecksumPatternChecksumChoiceEnum provided by user to PatternChecksumPatternChecksum + setChoice(value PatternChecksumPatternChecksumChoiceEnum) PatternChecksumPatternChecksum // HasChoice checks if Choice has been set in PatternChecksumPatternChecksum HasChoice() bool // Generated returns PatternChecksumPatternChecksumGeneratedEnum, set in PatternChecksumPatternChecksum @@ -20871,7 +22626,7 @@ func (obj *patternChecksumPatternChecksum) HasChoice() bool { return obj.obj.Choice != nil } -func (obj *patternChecksumPatternChecksum) SetChoice(value PatternChecksumPatternChecksumChoiceEnum) PatternChecksumPatternChecksum { +func (obj *patternChecksumPatternChecksum) setChoice(value PatternChecksumPatternChecksumChoiceEnum) PatternChecksumPatternChecksum { intValue, ok := openapi.PatternChecksumPatternChecksum_Choice_Enum_value[string(value)] if !ok { obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( @@ -20924,7 +22679,7 @@ func (obj *patternChecksumPatternChecksum) SetGenerated(value PatternChecksumPat func (obj *patternChecksumPatternChecksum) Custom() uint32 { if obj.obj.Custom == nil { - obj.SetChoice(PatternChecksumPatternChecksumChoice.CUSTOM) + obj.setChoice(PatternChecksumPatternChecksumChoice.CUSTOM) } return *obj.obj.Custom @@ -20940,7 +22695,7 @@ func (obj *patternChecksumPatternChecksum) HasCustom() bool { // A custom checksum value // SetCustom sets the uint32 value in the PatternChecksumPatternChecksum object func (obj *patternChecksumPatternChecksum) SetCustom(value uint32) PatternChecksumPatternChecksum { - obj.SetChoice(PatternChecksumPatternChecksumChoice.CUSTOM) + obj.setChoice(PatternChecksumPatternChecksumChoice.CUSTOM) obj.obj.Custom = &value return obj } @@ -20964,7 +22719,7 @@ func (obj *patternChecksumPatternChecksum) validateObj(vObj *validation, set_def func (obj *patternChecksumPatternChecksum) setDefault() { if obj.obj.Choice == nil { - obj.SetChoice(PatternChecksumPatternChecksumChoice.GENERATED) + obj.setChoice(PatternChecksumPatternChecksumChoice.GENERATED) if obj.obj.Generated.Number() == 0 { obj.SetGenerated(PatternChecksumPatternChecksumGenerated.GOOD) @@ -20977,7 +22732,9 @@ func (obj *patternChecksumPatternChecksum) setDefault() { // ***** PatternPrefixConfigAutoFieldTestCounter ***** type patternPrefixConfigAutoFieldTestCounter struct { validation - obj *openapi.PatternPrefixConfigAutoFieldTestCounter + obj *openapi.PatternPrefixConfigAutoFieldTestCounter + marshaller marshalPatternPrefixConfigAutoFieldTestCounter + unMarshaller unMarshalPatternPrefixConfigAutoFieldTestCounter } func NewPatternPrefixConfigAutoFieldTestCounter() PatternPrefixConfigAutoFieldTestCounter { @@ -20986,26 +22743,70 @@ func NewPatternPrefixConfigAutoFieldTestCounter() PatternPrefixConfigAutoFieldTe return &obj } -func (obj *patternPrefixConfigAutoFieldTestCounter) Msg() *openapi.PatternPrefixConfigAutoFieldTestCounter { +func (obj *patternPrefixConfigAutoFieldTestCounter) msg() *openapi.PatternPrefixConfigAutoFieldTestCounter { return obj.obj } -func (obj *patternPrefixConfigAutoFieldTestCounter) SetMsg(msg *openapi.PatternPrefixConfigAutoFieldTestCounter) PatternPrefixConfigAutoFieldTestCounter { +func (obj *patternPrefixConfigAutoFieldTestCounter) setMsg(msg *openapi.PatternPrefixConfigAutoFieldTestCounter) PatternPrefixConfigAutoFieldTestCounter { proto.Merge(obj.obj, msg) return obj } -func (obj *patternPrefixConfigAutoFieldTestCounter) ToProto() (*openapi.PatternPrefixConfigAutoFieldTestCounter, error) { - err := obj.validateToAndFrom() +type marshalpatternPrefixConfigAutoFieldTestCounter struct { + obj *patternPrefixConfigAutoFieldTestCounter +} + +type marshalPatternPrefixConfigAutoFieldTestCounter interface { + // ToProto marshals PatternPrefixConfigAutoFieldTestCounter to protobuf object *openapi.PatternPrefixConfigAutoFieldTestCounter + ToProto() (*openapi.PatternPrefixConfigAutoFieldTestCounter, error) + // ToPbText marshals PatternPrefixConfigAutoFieldTestCounter to protobuf text + ToPbText() (string, error) + // ToYaml marshals PatternPrefixConfigAutoFieldTestCounter to YAML text + ToYaml() (string, error) + // ToJson marshals PatternPrefixConfigAutoFieldTestCounter to JSON text + ToJson() (string, error) +} + +type unMarshalpatternPrefixConfigAutoFieldTestCounter struct { + obj *patternPrefixConfigAutoFieldTestCounter +} + +type unMarshalPatternPrefixConfigAutoFieldTestCounter interface { + // FromProto unmarshals PatternPrefixConfigAutoFieldTestCounter from protobuf object *openapi.PatternPrefixConfigAutoFieldTestCounter + FromProto(msg *openapi.PatternPrefixConfigAutoFieldTestCounter) (PatternPrefixConfigAutoFieldTestCounter, error) + // FromPbText unmarshals PatternPrefixConfigAutoFieldTestCounter from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PatternPrefixConfigAutoFieldTestCounter from YAML text + FromYaml(value string) error + // FromJson unmarshals PatternPrefixConfigAutoFieldTestCounter from JSON text + FromJson(value string) error +} + +func (obj *patternPrefixConfigAutoFieldTestCounter) Marshal() marshalPatternPrefixConfigAutoFieldTestCounter { + if obj.marshaller == nil { + obj.marshaller = &marshalpatternPrefixConfigAutoFieldTestCounter{obj: obj} + } + return obj.marshaller +} + +func (obj *patternPrefixConfigAutoFieldTestCounter) Unmarshal() unMarshalPatternPrefixConfigAutoFieldTestCounter { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalpatternPrefixConfigAutoFieldTestCounter{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalpatternPrefixConfigAutoFieldTestCounter) ToProto() (*openapi.PatternPrefixConfigAutoFieldTestCounter, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *patternPrefixConfigAutoFieldTestCounter) FromProto(msg *openapi.PatternPrefixConfigAutoFieldTestCounter) (PatternPrefixConfigAutoFieldTestCounter, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalpatternPrefixConfigAutoFieldTestCounter) FromProto(msg *openapi.PatternPrefixConfigAutoFieldTestCounter) (PatternPrefixConfigAutoFieldTestCounter, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -21013,33 +22814,33 @@ func (obj *patternPrefixConfigAutoFieldTestCounter) FromProto(msg *openapi.Patte return newObj, nil } -func (obj *patternPrefixConfigAutoFieldTestCounter) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpatternPrefixConfigAutoFieldTestCounter) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *patternPrefixConfigAutoFieldTestCounter) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalpatternPrefixConfigAutoFieldTestCounter) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *patternPrefixConfigAutoFieldTestCounter) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpatternPrefixConfigAutoFieldTestCounter) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -21048,7 +22849,7 @@ func (obj *patternPrefixConfigAutoFieldTestCounter) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -21059,7 +22860,7 @@ func (obj *patternPrefixConfigAutoFieldTestCounter) ToYaml() (string, error) { return string(data), nil } -func (obj *patternPrefixConfigAutoFieldTestCounter) FromYaml(value string) error { +func (m *unMarshalpatternPrefixConfigAutoFieldTestCounter) FromYaml(value string) error { if value == "" { value = "{}" } @@ -21071,21 +22872,21 @@ func (obj *patternPrefixConfigAutoFieldTestCounter) FromYaml(value string) error AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *patternPrefixConfigAutoFieldTestCounter) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpatternPrefixConfigAutoFieldTestCounter) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -21095,14 +22896,14 @@ func (obj *patternPrefixConfigAutoFieldTestCounter) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *patternPrefixConfigAutoFieldTestCounter) FromJson(value string) error { +func (m *unMarshalpatternPrefixConfigAutoFieldTestCounter) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -21110,13 +22911,13 @@ func (obj *patternPrefixConfigAutoFieldTestCounter) FromJson(value string) error if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - err := obj.validateToAndFrom() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -21129,14 +22930,14 @@ func (obj *patternPrefixConfigAutoFieldTestCounter) validateToAndFrom() error { return obj.validationResult() } -func (obj *patternPrefixConfigAutoFieldTestCounter) Validate() error { +func (obj *patternPrefixConfigAutoFieldTestCounter) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *patternPrefixConfigAutoFieldTestCounter) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -21144,16 +22945,16 @@ func (obj *patternPrefixConfigAutoFieldTestCounter) String() string { } func (obj *patternPrefixConfigAutoFieldTestCounter) Clone() (PatternPrefixConfigAutoFieldTestCounter, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewPatternPrefixConfigAutoFieldTestCounter() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -21163,30 +22964,18 @@ func (obj *patternPrefixConfigAutoFieldTestCounter) Clone() (PatternPrefixConfig // PatternPrefixConfigAutoFieldTestCounter is integer counter pattern type PatternPrefixConfigAutoFieldTestCounter interface { Validation - // Msg marshals PatternPrefixConfigAutoFieldTestCounter to protobuf object *openapi.PatternPrefixConfigAutoFieldTestCounter + // msg marshals PatternPrefixConfigAutoFieldTestCounter to protobuf object *openapi.PatternPrefixConfigAutoFieldTestCounter // and doesn't set defaults - Msg() *openapi.PatternPrefixConfigAutoFieldTestCounter - // SetMsg unmarshals PatternPrefixConfigAutoFieldTestCounter from protobuf object *openapi.PatternPrefixConfigAutoFieldTestCounter + msg() *openapi.PatternPrefixConfigAutoFieldTestCounter + // setMsg unmarshals PatternPrefixConfigAutoFieldTestCounter from protobuf object *openapi.PatternPrefixConfigAutoFieldTestCounter // and doesn't set defaults - SetMsg(*openapi.PatternPrefixConfigAutoFieldTestCounter) PatternPrefixConfigAutoFieldTestCounter - // ToProto marshals PatternPrefixConfigAutoFieldTestCounter to protobuf object *openapi.PatternPrefixConfigAutoFieldTestCounter - ToProto() (*openapi.PatternPrefixConfigAutoFieldTestCounter, error) - // ToPbText marshals PatternPrefixConfigAutoFieldTestCounter to protobuf text - ToPbText() (string, error) - // ToYaml marshals PatternPrefixConfigAutoFieldTestCounter to YAML text - ToYaml() (string, error) - // ToJson marshals PatternPrefixConfigAutoFieldTestCounter to JSON text - ToJson() (string, error) - // FromProto unmarshals PatternPrefixConfigAutoFieldTestCounter from protobuf object *openapi.PatternPrefixConfigAutoFieldTestCounter - FromProto(msg *openapi.PatternPrefixConfigAutoFieldTestCounter) (PatternPrefixConfigAutoFieldTestCounter, error) - // FromPbText unmarshals PatternPrefixConfigAutoFieldTestCounter from protobuf text - FromPbText(value string) error - // FromYaml unmarshals PatternPrefixConfigAutoFieldTestCounter from YAML text - FromYaml(value string) error - // FromJson unmarshals PatternPrefixConfigAutoFieldTestCounter from JSON text - FromJson(value string) error - // Validate validates PatternPrefixConfigAutoFieldTestCounter - Validate() error + setMsg(*openapi.PatternPrefixConfigAutoFieldTestCounter) PatternPrefixConfigAutoFieldTestCounter + // provides marshal interface + Marshal() marshalPatternPrefixConfigAutoFieldTestCounter + // provides unmarshal interface + Unmarshal() unMarshalPatternPrefixConfigAutoFieldTestCounter + // validate validates PatternPrefixConfigAutoFieldTestCounter + validate() error // A stringer function String() string // Clones the object @@ -21333,8 +23122,10 @@ func (obj *patternPrefixConfigAutoFieldTestCounter) setDefault() { // ***** RequiredChoiceIntermediate ***** type requiredChoiceIntermediate struct { validation - obj *openapi.RequiredChoiceIntermediate - leafHolder RequiredChoiceIntermeLeaf + obj *openapi.RequiredChoiceIntermediate + marshaller marshalRequiredChoiceIntermediate + unMarshaller unMarshalRequiredChoiceIntermediate + leafHolder RequiredChoiceIntermeLeaf } func NewRequiredChoiceIntermediate() RequiredChoiceIntermediate { @@ -21343,26 +23134,70 @@ func NewRequiredChoiceIntermediate() RequiredChoiceIntermediate { return &obj } -func (obj *requiredChoiceIntermediate) Msg() *openapi.RequiredChoiceIntermediate { +func (obj *requiredChoiceIntermediate) msg() *openapi.RequiredChoiceIntermediate { return obj.obj } -func (obj *requiredChoiceIntermediate) SetMsg(msg *openapi.RequiredChoiceIntermediate) RequiredChoiceIntermediate { +func (obj *requiredChoiceIntermediate) setMsg(msg *openapi.RequiredChoiceIntermediate) RequiredChoiceIntermediate { obj.setNil() proto.Merge(obj.obj, msg) return obj } -func (obj *requiredChoiceIntermediate) ToProto() (*openapi.RequiredChoiceIntermediate, error) { - err := obj.validateToAndFrom() +type marshalrequiredChoiceIntermediate struct { + obj *requiredChoiceIntermediate +} + +type marshalRequiredChoiceIntermediate interface { + // ToProto marshals RequiredChoiceIntermediate to protobuf object *openapi.RequiredChoiceIntermediate + ToProto() (*openapi.RequiredChoiceIntermediate, error) + // ToPbText marshals RequiredChoiceIntermediate to protobuf text + ToPbText() (string, error) + // ToYaml marshals RequiredChoiceIntermediate to YAML text + ToYaml() (string, error) + // ToJson marshals RequiredChoiceIntermediate to JSON text + ToJson() (string, error) +} + +type unMarshalrequiredChoiceIntermediate struct { + obj *requiredChoiceIntermediate +} + +type unMarshalRequiredChoiceIntermediate interface { + // FromProto unmarshals RequiredChoiceIntermediate from protobuf object *openapi.RequiredChoiceIntermediate + FromProto(msg *openapi.RequiredChoiceIntermediate) (RequiredChoiceIntermediate, error) + // FromPbText unmarshals RequiredChoiceIntermediate from protobuf text + FromPbText(value string) error + // FromYaml unmarshals RequiredChoiceIntermediate from YAML text + FromYaml(value string) error + // FromJson unmarshals RequiredChoiceIntermediate from JSON text + FromJson(value string) error +} + +func (obj *requiredChoiceIntermediate) Marshal() marshalRequiredChoiceIntermediate { + if obj.marshaller == nil { + obj.marshaller = &marshalrequiredChoiceIntermediate{obj: obj} + } + return obj.marshaller +} + +func (obj *requiredChoiceIntermediate) Unmarshal() unMarshalRequiredChoiceIntermediate { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalrequiredChoiceIntermediate{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalrequiredChoiceIntermediate) ToProto() (*openapi.RequiredChoiceIntermediate, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *requiredChoiceIntermediate) FromProto(msg *openapi.RequiredChoiceIntermediate) (RequiredChoiceIntermediate, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalrequiredChoiceIntermediate) FromProto(msg *openapi.RequiredChoiceIntermediate) (RequiredChoiceIntermediate, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -21370,33 +23205,33 @@ func (obj *requiredChoiceIntermediate) FromProto(msg *openapi.RequiredChoiceInte return newObj, nil } -func (obj *requiredChoiceIntermediate) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalrequiredChoiceIntermediate) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *requiredChoiceIntermediate) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalrequiredChoiceIntermediate) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *requiredChoiceIntermediate) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalrequiredChoiceIntermediate) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -21405,7 +23240,7 @@ func (obj *requiredChoiceIntermediate) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -21416,7 +23251,7 @@ func (obj *requiredChoiceIntermediate) ToYaml() (string, error) { return string(data), nil } -func (obj *requiredChoiceIntermediate) FromYaml(value string) error { +func (m *unMarshalrequiredChoiceIntermediate) FromYaml(value string) error { if value == "" { value = "{}" } @@ -21428,21 +23263,21 @@ func (obj *requiredChoiceIntermediate) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - vErr := obj.validateToAndFrom() + m.obj.setNil() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *requiredChoiceIntermediate) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalrequiredChoiceIntermediate) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -21452,14 +23287,14 @@ func (obj *requiredChoiceIntermediate) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *requiredChoiceIntermediate) FromJson(value string) error { +func (m *unMarshalrequiredChoiceIntermediate) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -21467,13 +23302,13 @@ func (obj *requiredChoiceIntermediate) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - obj.setNil() - err := obj.validateToAndFrom() + m.obj.setNil() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -21486,14 +23321,14 @@ func (obj *requiredChoiceIntermediate) validateToAndFrom() error { return obj.validationResult() } -func (obj *requiredChoiceIntermediate) Validate() error { +func (obj *requiredChoiceIntermediate) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *requiredChoiceIntermediate) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -21501,16 +23336,16 @@ func (obj *requiredChoiceIntermediate) String() string { } func (obj *requiredChoiceIntermediate) Clone() (RequiredChoiceIntermediate, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewRequiredChoiceIntermediate() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -21527,30 +23362,18 @@ func (obj *requiredChoiceIntermediate) setNil() { // RequiredChoiceIntermediate is description is TBD type RequiredChoiceIntermediate interface { Validation - // Msg marshals RequiredChoiceIntermediate to protobuf object *openapi.RequiredChoiceIntermediate + // msg marshals RequiredChoiceIntermediate to protobuf object *openapi.RequiredChoiceIntermediate // and doesn't set defaults - Msg() *openapi.RequiredChoiceIntermediate - // SetMsg unmarshals RequiredChoiceIntermediate from protobuf object *openapi.RequiredChoiceIntermediate + msg() *openapi.RequiredChoiceIntermediate + // setMsg unmarshals RequiredChoiceIntermediate from protobuf object *openapi.RequiredChoiceIntermediate // and doesn't set defaults - SetMsg(*openapi.RequiredChoiceIntermediate) RequiredChoiceIntermediate - // ToProto marshals RequiredChoiceIntermediate to protobuf object *openapi.RequiredChoiceIntermediate - ToProto() (*openapi.RequiredChoiceIntermediate, error) - // ToPbText marshals RequiredChoiceIntermediate to protobuf text - ToPbText() (string, error) - // ToYaml marshals RequiredChoiceIntermediate to YAML text - ToYaml() (string, error) - // ToJson marshals RequiredChoiceIntermediate to JSON text - ToJson() (string, error) - // FromProto unmarshals RequiredChoiceIntermediate from protobuf object *openapi.RequiredChoiceIntermediate - FromProto(msg *openapi.RequiredChoiceIntermediate) (RequiredChoiceIntermediate, error) - // FromPbText unmarshals RequiredChoiceIntermediate from protobuf text - FromPbText(value string) error - // FromYaml unmarshals RequiredChoiceIntermediate from YAML text - FromYaml(value string) error - // FromJson unmarshals RequiredChoiceIntermediate from JSON text - FromJson(value string) error - // Validate validates RequiredChoiceIntermediate - Validate() error + setMsg(*openapi.RequiredChoiceIntermediate) RequiredChoiceIntermediate + // provides marshal interface + Marshal() marshalRequiredChoiceIntermediate + // provides unmarshal interface + Unmarshal() unMarshalRequiredChoiceIntermediate + // validate validates RequiredChoiceIntermediate + validate() error // A stringer function String() string // Clones the object @@ -21560,8 +23383,8 @@ type RequiredChoiceIntermediate interface { setDefault() // Choice returns RequiredChoiceIntermediateChoiceEnum, set in RequiredChoiceIntermediate Choice() RequiredChoiceIntermediateChoiceEnum - // SetChoice assigns RequiredChoiceIntermediateChoiceEnum provided by user to RequiredChoiceIntermediate - SetChoice(value RequiredChoiceIntermediateChoiceEnum) RequiredChoiceIntermediate + // setChoice assigns RequiredChoiceIntermediateChoiceEnum provided by user to RequiredChoiceIntermediate + setChoice(value RequiredChoiceIntermediateChoiceEnum) RequiredChoiceIntermediate // FA returns string, set in RequiredChoiceIntermediate. FA() string // SetFA assigns string provided by user to RequiredChoiceIntermediate @@ -21594,7 +23417,7 @@ func (obj *requiredChoiceIntermediate) Choice() RequiredChoiceIntermediateChoice return RequiredChoiceIntermediateChoiceEnum(obj.obj.Choice.Enum().String()) } -func (obj *requiredChoiceIntermediate) SetChoice(value RequiredChoiceIntermediateChoiceEnum) RequiredChoiceIntermediate { +func (obj *requiredChoiceIntermediate) setChoice(value RequiredChoiceIntermediateChoiceEnum) RequiredChoiceIntermediate { intValue, ok := openapi.RequiredChoiceIntermediate_Choice_Enum_value[string(value)] if !ok { obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( @@ -21613,7 +23436,7 @@ func (obj *requiredChoiceIntermediate) SetChoice(value RequiredChoiceIntermediat } if value == RequiredChoiceIntermediateChoice.LEAF { - obj.obj.Leaf = NewRequiredChoiceIntermeLeaf().Msg() + obj.obj.Leaf = NewRequiredChoiceIntermeLeaf().msg() } return obj @@ -21624,7 +23447,7 @@ func (obj *requiredChoiceIntermediate) SetChoice(value RequiredChoiceIntermediat func (obj *requiredChoiceIntermediate) FA() string { if obj.obj.FA == nil { - obj.SetChoice(RequiredChoiceIntermediateChoice.F_A) + obj.setChoice(RequiredChoiceIntermediateChoice.F_A) } return *obj.obj.FA @@ -21640,7 +23463,7 @@ func (obj *requiredChoiceIntermediate) HasFA() bool { // description is TBD // SetFA sets the string value in the RequiredChoiceIntermediate object func (obj *requiredChoiceIntermediate) SetFA(value string) RequiredChoiceIntermediate { - obj.SetChoice(RequiredChoiceIntermediateChoice.F_A) + obj.setChoice(RequiredChoiceIntermediateChoice.F_A) obj.obj.FA = &value return obj } @@ -21649,7 +23472,7 @@ func (obj *requiredChoiceIntermediate) SetFA(value string) RequiredChoiceInterme // Leaf returns a RequiredChoiceIntermeLeaf func (obj *requiredChoiceIntermediate) Leaf() RequiredChoiceIntermeLeaf { if obj.obj.Leaf == nil { - obj.SetChoice(RequiredChoiceIntermediateChoice.LEAF) + obj.setChoice(RequiredChoiceIntermediateChoice.LEAF) } if obj.leafHolder == nil { obj.leafHolder = &requiredChoiceIntermeLeaf{obj: obj.obj.Leaf} @@ -21666,9 +23489,9 @@ func (obj *requiredChoiceIntermediate) HasLeaf() bool { // description is TBD // SetLeaf sets the RequiredChoiceIntermeLeaf value in the RequiredChoiceIntermediate object func (obj *requiredChoiceIntermediate) SetLeaf(value RequiredChoiceIntermeLeaf) RequiredChoiceIntermediate { - obj.SetChoice(RequiredChoiceIntermediateChoice.LEAF) + obj.setChoice(RequiredChoiceIntermediateChoice.LEAF) obj.leafHolder = nil - obj.obj.Leaf = value.Msg() + obj.obj.Leaf = value.msg() return obj } @@ -21700,7 +23523,9 @@ func (obj *requiredChoiceIntermediate) setDefault() { // ***** PortMetric ***** type portMetric struct { validation - obj *openapi.PortMetric + obj *openapi.PortMetric + marshaller marshalPortMetric + unMarshaller unMarshalPortMetric } func NewPortMetric() PortMetric { @@ -21709,26 +23534,70 @@ func NewPortMetric() PortMetric { return &obj } -func (obj *portMetric) Msg() *openapi.PortMetric { +func (obj *portMetric) msg() *openapi.PortMetric { return obj.obj } -func (obj *portMetric) SetMsg(msg *openapi.PortMetric) PortMetric { +func (obj *portMetric) setMsg(msg *openapi.PortMetric) PortMetric { proto.Merge(obj.obj, msg) return obj } -func (obj *portMetric) ToProto() (*openapi.PortMetric, error) { - err := obj.validateToAndFrom() +type marshalportMetric struct { + obj *portMetric +} + +type marshalPortMetric interface { + // ToProto marshals PortMetric to protobuf object *openapi.PortMetric + ToProto() (*openapi.PortMetric, error) + // ToPbText marshals PortMetric to protobuf text + ToPbText() (string, error) + // ToYaml marshals PortMetric to YAML text + ToYaml() (string, error) + // ToJson marshals PortMetric to JSON text + ToJson() (string, error) +} + +type unMarshalportMetric struct { + obj *portMetric +} + +type unMarshalPortMetric interface { + // FromProto unmarshals PortMetric from protobuf object *openapi.PortMetric + FromProto(msg *openapi.PortMetric) (PortMetric, error) + // FromPbText unmarshals PortMetric from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PortMetric from YAML text + FromYaml(value string) error + // FromJson unmarshals PortMetric from JSON text + FromJson(value string) error +} + +func (obj *portMetric) Marshal() marshalPortMetric { + if obj.marshaller == nil { + obj.marshaller = &marshalportMetric{obj: obj} + } + return obj.marshaller +} + +func (obj *portMetric) Unmarshal() unMarshalPortMetric { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalportMetric{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalportMetric) ToProto() (*openapi.PortMetric, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *portMetric) FromProto(msg *openapi.PortMetric) (PortMetric, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalportMetric) FromProto(msg *openapi.PortMetric) (PortMetric, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -21736,33 +23605,33 @@ func (obj *portMetric) FromProto(msg *openapi.PortMetric) (PortMetric, error) { return newObj, nil } -func (obj *portMetric) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalportMetric) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *portMetric) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalportMetric) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *portMetric) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalportMetric) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -21771,7 +23640,7 @@ func (obj *portMetric) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -21782,7 +23651,7 @@ func (obj *portMetric) ToYaml() (string, error) { return string(data), nil } -func (obj *portMetric) FromYaml(value string) error { +func (m *unMarshalportMetric) FromYaml(value string) error { if value == "" { value = "{}" } @@ -21794,21 +23663,21 @@ func (obj *portMetric) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *portMetric) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalportMetric) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -21818,14 +23687,14 @@ func (obj *portMetric) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *portMetric) FromJson(value string) error { +func (m *unMarshalportMetric) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -21833,13 +23702,13 @@ func (obj *portMetric) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - err := obj.validateToAndFrom() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -21852,14 +23721,14 @@ func (obj *portMetric) validateToAndFrom() error { return obj.validationResult() } -func (obj *portMetric) Validate() error { +func (obj *portMetric) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *portMetric) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -21867,16 +23736,16 @@ func (obj *portMetric) String() string { } func (obj *portMetric) Clone() (PortMetric, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewPortMetric() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -21886,30 +23755,18 @@ func (obj *portMetric) Clone() (PortMetric, error) { // PortMetric is description is TBD type PortMetric interface { Validation - // Msg marshals PortMetric to protobuf object *openapi.PortMetric + // msg marshals PortMetric to protobuf object *openapi.PortMetric // and doesn't set defaults - Msg() *openapi.PortMetric - // SetMsg unmarshals PortMetric from protobuf object *openapi.PortMetric + msg() *openapi.PortMetric + // setMsg unmarshals PortMetric from protobuf object *openapi.PortMetric // and doesn't set defaults - SetMsg(*openapi.PortMetric) PortMetric - // ToProto marshals PortMetric to protobuf object *openapi.PortMetric - ToProto() (*openapi.PortMetric, error) - // ToPbText marshals PortMetric to protobuf text - ToPbText() (string, error) - // ToYaml marshals PortMetric to YAML text - ToYaml() (string, error) - // ToJson marshals PortMetric to JSON text - ToJson() (string, error) - // FromProto unmarshals PortMetric from protobuf object *openapi.PortMetric - FromProto(msg *openapi.PortMetric) (PortMetric, error) - // FromPbText unmarshals PortMetric from protobuf text - FromPbText(value string) error - // FromYaml unmarshals PortMetric from YAML text - FromYaml(value string) error - // FromJson unmarshals PortMetric from JSON text - FromJson(value string) error - // Validate validates PortMetric - Validate() error + setMsg(*openapi.PortMetric) PortMetric + // provides marshal interface + Marshal() marshalPortMetric + // provides unmarshal interface + Unmarshal() unMarshalPortMetric + // validate validates PortMetric + validate() error // A stringer function String() string // Clones the object @@ -22007,7 +23864,9 @@ func (obj *portMetric) setDefault() { // ***** FlowMetric ***** type flowMetric struct { validation - obj *openapi.FlowMetric + obj *openapi.FlowMetric + marshaller marshalFlowMetric + unMarshaller unMarshalFlowMetric } func NewFlowMetric() FlowMetric { @@ -22016,26 +23875,70 @@ func NewFlowMetric() FlowMetric { return &obj } -func (obj *flowMetric) Msg() *openapi.FlowMetric { +func (obj *flowMetric) msg() *openapi.FlowMetric { return obj.obj } -func (obj *flowMetric) SetMsg(msg *openapi.FlowMetric) FlowMetric { +func (obj *flowMetric) setMsg(msg *openapi.FlowMetric) FlowMetric { proto.Merge(obj.obj, msg) return obj } -func (obj *flowMetric) ToProto() (*openapi.FlowMetric, error) { - err := obj.validateToAndFrom() +type marshalflowMetric struct { + obj *flowMetric +} + +type marshalFlowMetric interface { + // ToProto marshals FlowMetric to protobuf object *openapi.FlowMetric + ToProto() (*openapi.FlowMetric, error) + // ToPbText marshals FlowMetric to protobuf text + ToPbText() (string, error) + // ToYaml marshals FlowMetric to YAML text + ToYaml() (string, error) + // ToJson marshals FlowMetric to JSON text + ToJson() (string, error) +} + +type unMarshalflowMetric struct { + obj *flowMetric +} + +type unMarshalFlowMetric interface { + // FromProto unmarshals FlowMetric from protobuf object *openapi.FlowMetric + FromProto(msg *openapi.FlowMetric) (FlowMetric, error) + // FromPbText unmarshals FlowMetric from protobuf text + FromPbText(value string) error + // FromYaml unmarshals FlowMetric from YAML text + FromYaml(value string) error + // FromJson unmarshals FlowMetric from JSON text + FromJson(value string) error +} + +func (obj *flowMetric) Marshal() marshalFlowMetric { + if obj.marshaller == nil { + obj.marshaller = &marshalflowMetric{obj: obj} + } + return obj.marshaller +} + +func (obj *flowMetric) Unmarshal() unMarshalFlowMetric { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalflowMetric{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalflowMetric) ToProto() (*openapi.FlowMetric, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *flowMetric) FromProto(msg *openapi.FlowMetric) (FlowMetric, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalflowMetric) FromProto(msg *openapi.FlowMetric) (FlowMetric, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -22043,33 +23946,33 @@ func (obj *flowMetric) FromProto(msg *openapi.FlowMetric) (FlowMetric, error) { return newObj, nil } -func (obj *flowMetric) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalflowMetric) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *flowMetric) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalflowMetric) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *flowMetric) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalflowMetric) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -22078,7 +23981,7 @@ func (obj *flowMetric) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -22089,7 +23992,7 @@ func (obj *flowMetric) ToYaml() (string, error) { return string(data), nil } -func (obj *flowMetric) FromYaml(value string) error { +func (m *unMarshalflowMetric) FromYaml(value string) error { if value == "" { value = "{}" } @@ -22101,21 +24004,21 @@ func (obj *flowMetric) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *flowMetric) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalflowMetric) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -22125,14 +24028,14 @@ func (obj *flowMetric) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *flowMetric) FromJson(value string) error { +func (m *unMarshalflowMetric) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -22140,13 +24043,13 @@ func (obj *flowMetric) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - err := obj.validateToAndFrom() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -22159,14 +24062,14 @@ func (obj *flowMetric) validateToAndFrom() error { return obj.validationResult() } -func (obj *flowMetric) Validate() error { +func (obj *flowMetric) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *flowMetric) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -22174,16 +24077,16 @@ func (obj *flowMetric) String() string { } func (obj *flowMetric) Clone() (FlowMetric, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewFlowMetric() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -22193,30 +24096,18 @@ func (obj *flowMetric) Clone() (FlowMetric, error) { // FlowMetric is description is TBD type FlowMetric interface { Validation - // Msg marshals FlowMetric to protobuf object *openapi.FlowMetric + // msg marshals FlowMetric to protobuf object *openapi.FlowMetric // and doesn't set defaults - Msg() *openapi.FlowMetric - // SetMsg unmarshals FlowMetric from protobuf object *openapi.FlowMetric + msg() *openapi.FlowMetric + // setMsg unmarshals FlowMetric from protobuf object *openapi.FlowMetric // and doesn't set defaults - SetMsg(*openapi.FlowMetric) FlowMetric - // ToProto marshals FlowMetric to protobuf object *openapi.FlowMetric - ToProto() (*openapi.FlowMetric, error) - // ToPbText marshals FlowMetric to protobuf text - ToPbText() (string, error) - // ToYaml marshals FlowMetric to YAML text - ToYaml() (string, error) - // ToJson marshals FlowMetric to JSON text - ToJson() (string, error) - // FromProto unmarshals FlowMetric from protobuf object *openapi.FlowMetric - FromProto(msg *openapi.FlowMetric) (FlowMetric, error) - // FromPbText unmarshals FlowMetric from protobuf text - FromPbText(value string) error - // FromYaml unmarshals FlowMetric from YAML text - FromYaml(value string) error - // FromJson unmarshals FlowMetric from JSON text - FromJson(value string) error - // Validate validates FlowMetric - Validate() error + setMsg(*openapi.FlowMetric) FlowMetric + // provides marshal interface + Marshal() marshalFlowMetric + // provides unmarshal interface + Unmarshal() unMarshalFlowMetric + // validate validates FlowMetric + validate() error // A stringer function String() string // Clones the object @@ -22314,7 +24205,9 @@ func (obj *flowMetric) setDefault() { // ***** LevelThree ***** type levelThree struct { validation - obj *openapi.LevelThree + obj *openapi.LevelThree + marshaller marshalLevelThree + unMarshaller unMarshalLevelThree } func NewLevelThree() LevelThree { @@ -22323,26 +24216,70 @@ func NewLevelThree() LevelThree { return &obj } -func (obj *levelThree) Msg() *openapi.LevelThree { - return obj.obj +func (obj *levelThree) msg() *openapi.LevelThree { + return obj.obj +} + +func (obj *levelThree) setMsg(msg *openapi.LevelThree) LevelThree { + + proto.Merge(obj.obj, msg) + return obj +} + +type marshallevelThree struct { + obj *levelThree +} + +type marshalLevelThree interface { + // ToProto marshals LevelThree to protobuf object *openapi.LevelThree + ToProto() (*openapi.LevelThree, error) + // ToPbText marshals LevelThree to protobuf text + ToPbText() (string, error) + // ToYaml marshals LevelThree to YAML text + ToYaml() (string, error) + // ToJson marshals LevelThree to JSON text + ToJson() (string, error) +} + +type unMarshallevelThree struct { + obj *levelThree +} + +type unMarshalLevelThree interface { + // FromProto unmarshals LevelThree from protobuf object *openapi.LevelThree + FromProto(msg *openapi.LevelThree) (LevelThree, error) + // FromPbText unmarshals LevelThree from protobuf text + FromPbText(value string) error + // FromYaml unmarshals LevelThree from YAML text + FromYaml(value string) error + // FromJson unmarshals LevelThree from JSON text + FromJson(value string) error +} + +func (obj *levelThree) Marshal() marshalLevelThree { + if obj.marshaller == nil { + obj.marshaller = &marshallevelThree{obj: obj} + } + return obj.marshaller } -func (obj *levelThree) SetMsg(msg *openapi.LevelThree) LevelThree { - - proto.Merge(obj.obj, msg) - return obj +func (obj *levelThree) Unmarshal() unMarshalLevelThree { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshallevelThree{obj: obj} + } + return obj.unMarshaller } -func (obj *levelThree) ToProto() (*openapi.LevelThree, error) { - err := obj.validateToAndFrom() +func (m *marshallevelThree) ToProto() (*openapi.LevelThree, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *levelThree) FromProto(msg *openapi.LevelThree) (LevelThree, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshallevelThree) FromProto(msg *openapi.LevelThree) (LevelThree, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -22350,33 +24287,33 @@ func (obj *levelThree) FromProto(msg *openapi.LevelThree) (LevelThree, error) { return newObj, nil } -func (obj *levelThree) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshallevelThree) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *levelThree) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshallevelThree) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *levelThree) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshallevelThree) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -22385,7 +24322,7 @@ func (obj *levelThree) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -22396,7 +24333,7 @@ func (obj *levelThree) ToYaml() (string, error) { return string(data), nil } -func (obj *levelThree) FromYaml(value string) error { +func (m *unMarshallevelThree) FromYaml(value string) error { if value == "" { value = "{}" } @@ -22408,21 +24345,21 @@ func (obj *levelThree) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *levelThree) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshallevelThree) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -22432,14 +24369,14 @@ func (obj *levelThree) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *levelThree) FromJson(value string) error { +func (m *unMarshallevelThree) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -22447,13 +24384,13 @@ func (obj *levelThree) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - err := obj.validateToAndFrom() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -22466,14 +24403,14 @@ func (obj *levelThree) validateToAndFrom() error { return obj.validationResult() } -func (obj *levelThree) Validate() error { +func (obj *levelThree) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *levelThree) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -22481,16 +24418,16 @@ func (obj *levelThree) String() string { } func (obj *levelThree) Clone() (LevelThree, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewLevelThree() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -22500,30 +24437,18 @@ func (obj *levelThree) Clone() (LevelThree, error) { // LevelThree is test Level3 type LevelThree interface { Validation - // Msg marshals LevelThree to protobuf object *openapi.LevelThree + // msg marshals LevelThree to protobuf object *openapi.LevelThree // and doesn't set defaults - Msg() *openapi.LevelThree - // SetMsg unmarshals LevelThree from protobuf object *openapi.LevelThree + msg() *openapi.LevelThree + // setMsg unmarshals LevelThree from protobuf object *openapi.LevelThree // and doesn't set defaults - SetMsg(*openapi.LevelThree) LevelThree - // ToProto marshals LevelThree to protobuf object *openapi.LevelThree - ToProto() (*openapi.LevelThree, error) - // ToPbText marshals LevelThree to protobuf text - ToPbText() (string, error) - // ToYaml marshals LevelThree to YAML text - ToYaml() (string, error) - // ToJson marshals LevelThree to JSON text - ToJson() (string, error) - // FromProto unmarshals LevelThree from protobuf object *openapi.LevelThree - FromProto(msg *openapi.LevelThree) (LevelThree, error) - // FromPbText unmarshals LevelThree from protobuf text - FromPbText(value string) error - // FromYaml unmarshals LevelThree from YAML text - FromYaml(value string) error - // FromJson unmarshals LevelThree from JSON text - FromJson(value string) error - // Validate validates LevelThree - Validate() error + setMsg(*openapi.LevelThree) LevelThree + // provides marshal interface + Marshal() marshalLevelThree + // provides unmarshal interface + Unmarshal() unMarshalLevelThree + // validate validates LevelThree + validate() error // A stringer function String() string // Clones the object @@ -22575,7 +24500,9 @@ func (obj *levelThree) setDefault() { // ***** PatternIpv4PatternIpv4Counter ***** type patternIpv4PatternIpv4Counter struct { validation - obj *openapi.PatternIpv4PatternIpv4Counter + obj *openapi.PatternIpv4PatternIpv4Counter + marshaller marshalPatternIpv4PatternIpv4Counter + unMarshaller unMarshalPatternIpv4PatternIpv4Counter } func NewPatternIpv4PatternIpv4Counter() PatternIpv4PatternIpv4Counter { @@ -22584,26 +24511,70 @@ func NewPatternIpv4PatternIpv4Counter() PatternIpv4PatternIpv4Counter { return &obj } -func (obj *patternIpv4PatternIpv4Counter) Msg() *openapi.PatternIpv4PatternIpv4Counter { +func (obj *patternIpv4PatternIpv4Counter) msg() *openapi.PatternIpv4PatternIpv4Counter { return obj.obj } -func (obj *patternIpv4PatternIpv4Counter) SetMsg(msg *openapi.PatternIpv4PatternIpv4Counter) PatternIpv4PatternIpv4Counter { +func (obj *patternIpv4PatternIpv4Counter) setMsg(msg *openapi.PatternIpv4PatternIpv4Counter) PatternIpv4PatternIpv4Counter { proto.Merge(obj.obj, msg) return obj } -func (obj *patternIpv4PatternIpv4Counter) ToProto() (*openapi.PatternIpv4PatternIpv4Counter, error) { - err := obj.validateToAndFrom() +type marshalpatternIpv4PatternIpv4Counter struct { + obj *patternIpv4PatternIpv4Counter +} + +type marshalPatternIpv4PatternIpv4Counter interface { + // ToProto marshals PatternIpv4PatternIpv4Counter to protobuf object *openapi.PatternIpv4PatternIpv4Counter + ToProto() (*openapi.PatternIpv4PatternIpv4Counter, error) + // ToPbText marshals PatternIpv4PatternIpv4Counter to protobuf text + ToPbText() (string, error) + // ToYaml marshals PatternIpv4PatternIpv4Counter to YAML text + ToYaml() (string, error) + // ToJson marshals PatternIpv4PatternIpv4Counter to JSON text + ToJson() (string, error) +} + +type unMarshalpatternIpv4PatternIpv4Counter struct { + obj *patternIpv4PatternIpv4Counter +} + +type unMarshalPatternIpv4PatternIpv4Counter interface { + // FromProto unmarshals PatternIpv4PatternIpv4Counter from protobuf object *openapi.PatternIpv4PatternIpv4Counter + FromProto(msg *openapi.PatternIpv4PatternIpv4Counter) (PatternIpv4PatternIpv4Counter, error) + // FromPbText unmarshals PatternIpv4PatternIpv4Counter from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PatternIpv4PatternIpv4Counter from YAML text + FromYaml(value string) error + // FromJson unmarshals PatternIpv4PatternIpv4Counter from JSON text + FromJson(value string) error +} + +func (obj *patternIpv4PatternIpv4Counter) Marshal() marshalPatternIpv4PatternIpv4Counter { + if obj.marshaller == nil { + obj.marshaller = &marshalpatternIpv4PatternIpv4Counter{obj: obj} + } + return obj.marshaller +} + +func (obj *patternIpv4PatternIpv4Counter) Unmarshal() unMarshalPatternIpv4PatternIpv4Counter { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalpatternIpv4PatternIpv4Counter{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalpatternIpv4PatternIpv4Counter) ToProto() (*openapi.PatternIpv4PatternIpv4Counter, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *patternIpv4PatternIpv4Counter) FromProto(msg *openapi.PatternIpv4PatternIpv4Counter) (PatternIpv4PatternIpv4Counter, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalpatternIpv4PatternIpv4Counter) FromProto(msg *openapi.PatternIpv4PatternIpv4Counter) (PatternIpv4PatternIpv4Counter, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -22611,33 +24582,33 @@ func (obj *patternIpv4PatternIpv4Counter) FromProto(msg *openapi.PatternIpv4Patt return newObj, nil } -func (obj *patternIpv4PatternIpv4Counter) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpatternIpv4PatternIpv4Counter) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *patternIpv4PatternIpv4Counter) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalpatternIpv4PatternIpv4Counter) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *patternIpv4PatternIpv4Counter) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpatternIpv4PatternIpv4Counter) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -22646,7 +24617,7 @@ func (obj *patternIpv4PatternIpv4Counter) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -22657,7 +24628,7 @@ func (obj *patternIpv4PatternIpv4Counter) ToYaml() (string, error) { return string(data), nil } -func (obj *patternIpv4PatternIpv4Counter) FromYaml(value string) error { +func (m *unMarshalpatternIpv4PatternIpv4Counter) FromYaml(value string) error { if value == "" { value = "{}" } @@ -22669,21 +24640,21 @@ func (obj *patternIpv4PatternIpv4Counter) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *patternIpv4PatternIpv4Counter) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpatternIpv4PatternIpv4Counter) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -22693,14 +24664,14 @@ func (obj *patternIpv4PatternIpv4Counter) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *patternIpv4PatternIpv4Counter) FromJson(value string) error { +func (m *unMarshalpatternIpv4PatternIpv4Counter) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -22708,13 +24679,13 @@ func (obj *patternIpv4PatternIpv4Counter) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - err := obj.validateToAndFrom() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -22727,14 +24698,14 @@ func (obj *patternIpv4PatternIpv4Counter) validateToAndFrom() error { return obj.validationResult() } -func (obj *patternIpv4PatternIpv4Counter) Validate() error { +func (obj *patternIpv4PatternIpv4Counter) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *patternIpv4PatternIpv4Counter) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -22742,16 +24713,16 @@ func (obj *patternIpv4PatternIpv4Counter) String() string { } func (obj *patternIpv4PatternIpv4Counter) Clone() (PatternIpv4PatternIpv4Counter, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewPatternIpv4PatternIpv4Counter() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -22761,30 +24732,18 @@ func (obj *patternIpv4PatternIpv4Counter) Clone() (PatternIpv4PatternIpv4Counter // PatternIpv4PatternIpv4Counter is ipv4 counter pattern type PatternIpv4PatternIpv4Counter interface { Validation - // Msg marshals PatternIpv4PatternIpv4Counter to protobuf object *openapi.PatternIpv4PatternIpv4Counter + // msg marshals PatternIpv4PatternIpv4Counter to protobuf object *openapi.PatternIpv4PatternIpv4Counter // and doesn't set defaults - Msg() *openapi.PatternIpv4PatternIpv4Counter - // SetMsg unmarshals PatternIpv4PatternIpv4Counter from protobuf object *openapi.PatternIpv4PatternIpv4Counter + msg() *openapi.PatternIpv4PatternIpv4Counter + // setMsg unmarshals PatternIpv4PatternIpv4Counter from protobuf object *openapi.PatternIpv4PatternIpv4Counter // and doesn't set defaults - SetMsg(*openapi.PatternIpv4PatternIpv4Counter) PatternIpv4PatternIpv4Counter - // ToProto marshals PatternIpv4PatternIpv4Counter to protobuf object *openapi.PatternIpv4PatternIpv4Counter - ToProto() (*openapi.PatternIpv4PatternIpv4Counter, error) - // ToPbText marshals PatternIpv4PatternIpv4Counter to protobuf text - ToPbText() (string, error) - // ToYaml marshals PatternIpv4PatternIpv4Counter to YAML text - ToYaml() (string, error) - // ToJson marshals PatternIpv4PatternIpv4Counter to JSON text - ToJson() (string, error) - // FromProto unmarshals PatternIpv4PatternIpv4Counter from protobuf object *openapi.PatternIpv4PatternIpv4Counter - FromProto(msg *openapi.PatternIpv4PatternIpv4Counter) (PatternIpv4PatternIpv4Counter, error) - // FromPbText unmarshals PatternIpv4PatternIpv4Counter from protobuf text - FromPbText(value string) error - // FromYaml unmarshals PatternIpv4PatternIpv4Counter from YAML text - FromYaml(value string) error - // FromJson unmarshals PatternIpv4PatternIpv4Counter from JSON text - FromJson(value string) error - // Validate validates PatternIpv4PatternIpv4Counter - Validate() error + setMsg(*openapi.PatternIpv4PatternIpv4Counter) PatternIpv4PatternIpv4Counter + // provides marshal interface + Marshal() marshalPatternIpv4PatternIpv4Counter + // provides unmarshal interface + Unmarshal() unMarshalPatternIpv4PatternIpv4Counter + // validate validates PatternIpv4PatternIpv4Counter + validate() error // A stringer function String() string // Clones the object @@ -22919,7 +24878,9 @@ func (obj *patternIpv4PatternIpv4Counter) setDefault() { // ***** PatternIpv6PatternIpv6Counter ***** type patternIpv6PatternIpv6Counter struct { validation - obj *openapi.PatternIpv6PatternIpv6Counter + obj *openapi.PatternIpv6PatternIpv6Counter + marshaller marshalPatternIpv6PatternIpv6Counter + unMarshaller unMarshalPatternIpv6PatternIpv6Counter } func NewPatternIpv6PatternIpv6Counter() PatternIpv6PatternIpv6Counter { @@ -22928,26 +24889,70 @@ func NewPatternIpv6PatternIpv6Counter() PatternIpv6PatternIpv6Counter { return &obj } -func (obj *patternIpv6PatternIpv6Counter) Msg() *openapi.PatternIpv6PatternIpv6Counter { +func (obj *patternIpv6PatternIpv6Counter) msg() *openapi.PatternIpv6PatternIpv6Counter { return obj.obj } -func (obj *patternIpv6PatternIpv6Counter) SetMsg(msg *openapi.PatternIpv6PatternIpv6Counter) PatternIpv6PatternIpv6Counter { +func (obj *patternIpv6PatternIpv6Counter) setMsg(msg *openapi.PatternIpv6PatternIpv6Counter) PatternIpv6PatternIpv6Counter { proto.Merge(obj.obj, msg) return obj } -func (obj *patternIpv6PatternIpv6Counter) ToProto() (*openapi.PatternIpv6PatternIpv6Counter, error) { - err := obj.validateToAndFrom() +type marshalpatternIpv6PatternIpv6Counter struct { + obj *patternIpv6PatternIpv6Counter +} + +type marshalPatternIpv6PatternIpv6Counter interface { + // ToProto marshals PatternIpv6PatternIpv6Counter to protobuf object *openapi.PatternIpv6PatternIpv6Counter + ToProto() (*openapi.PatternIpv6PatternIpv6Counter, error) + // ToPbText marshals PatternIpv6PatternIpv6Counter to protobuf text + ToPbText() (string, error) + // ToYaml marshals PatternIpv6PatternIpv6Counter to YAML text + ToYaml() (string, error) + // ToJson marshals PatternIpv6PatternIpv6Counter to JSON text + ToJson() (string, error) +} + +type unMarshalpatternIpv6PatternIpv6Counter struct { + obj *patternIpv6PatternIpv6Counter +} + +type unMarshalPatternIpv6PatternIpv6Counter interface { + // FromProto unmarshals PatternIpv6PatternIpv6Counter from protobuf object *openapi.PatternIpv6PatternIpv6Counter + FromProto(msg *openapi.PatternIpv6PatternIpv6Counter) (PatternIpv6PatternIpv6Counter, error) + // FromPbText unmarshals PatternIpv6PatternIpv6Counter from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PatternIpv6PatternIpv6Counter from YAML text + FromYaml(value string) error + // FromJson unmarshals PatternIpv6PatternIpv6Counter from JSON text + FromJson(value string) error +} + +func (obj *patternIpv6PatternIpv6Counter) Marshal() marshalPatternIpv6PatternIpv6Counter { + if obj.marshaller == nil { + obj.marshaller = &marshalpatternIpv6PatternIpv6Counter{obj: obj} + } + return obj.marshaller +} + +func (obj *patternIpv6PatternIpv6Counter) Unmarshal() unMarshalPatternIpv6PatternIpv6Counter { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalpatternIpv6PatternIpv6Counter{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalpatternIpv6PatternIpv6Counter) ToProto() (*openapi.PatternIpv6PatternIpv6Counter, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *patternIpv6PatternIpv6Counter) FromProto(msg *openapi.PatternIpv6PatternIpv6Counter) (PatternIpv6PatternIpv6Counter, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalpatternIpv6PatternIpv6Counter) FromProto(msg *openapi.PatternIpv6PatternIpv6Counter) (PatternIpv6PatternIpv6Counter, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -22955,33 +24960,33 @@ func (obj *patternIpv6PatternIpv6Counter) FromProto(msg *openapi.PatternIpv6Patt return newObj, nil } -func (obj *patternIpv6PatternIpv6Counter) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpatternIpv6PatternIpv6Counter) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *patternIpv6PatternIpv6Counter) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalpatternIpv6PatternIpv6Counter) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *patternIpv6PatternIpv6Counter) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpatternIpv6PatternIpv6Counter) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -22990,7 +24995,7 @@ func (obj *patternIpv6PatternIpv6Counter) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -23001,7 +25006,7 @@ func (obj *patternIpv6PatternIpv6Counter) ToYaml() (string, error) { return string(data), nil } -func (obj *patternIpv6PatternIpv6Counter) FromYaml(value string) error { +func (m *unMarshalpatternIpv6PatternIpv6Counter) FromYaml(value string) error { if value == "" { value = "{}" } @@ -23013,21 +25018,21 @@ func (obj *patternIpv6PatternIpv6Counter) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *patternIpv6PatternIpv6Counter) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpatternIpv6PatternIpv6Counter) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -23037,14 +25042,14 @@ func (obj *patternIpv6PatternIpv6Counter) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *patternIpv6PatternIpv6Counter) FromJson(value string) error { +func (m *unMarshalpatternIpv6PatternIpv6Counter) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -23052,13 +25057,13 @@ func (obj *patternIpv6PatternIpv6Counter) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - err := obj.validateToAndFrom() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -23071,14 +25076,14 @@ func (obj *patternIpv6PatternIpv6Counter) validateToAndFrom() error { return obj.validationResult() } -func (obj *patternIpv6PatternIpv6Counter) Validate() error { +func (obj *patternIpv6PatternIpv6Counter) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *patternIpv6PatternIpv6Counter) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -23086,16 +25091,16 @@ func (obj *patternIpv6PatternIpv6Counter) String() string { } func (obj *patternIpv6PatternIpv6Counter) Clone() (PatternIpv6PatternIpv6Counter, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewPatternIpv6PatternIpv6Counter() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -23105,30 +25110,18 @@ func (obj *patternIpv6PatternIpv6Counter) Clone() (PatternIpv6PatternIpv6Counter // PatternIpv6PatternIpv6Counter is ipv6 counter pattern type PatternIpv6PatternIpv6Counter interface { Validation - // Msg marshals PatternIpv6PatternIpv6Counter to protobuf object *openapi.PatternIpv6PatternIpv6Counter + // msg marshals PatternIpv6PatternIpv6Counter to protobuf object *openapi.PatternIpv6PatternIpv6Counter // and doesn't set defaults - Msg() *openapi.PatternIpv6PatternIpv6Counter - // SetMsg unmarshals PatternIpv6PatternIpv6Counter from protobuf object *openapi.PatternIpv6PatternIpv6Counter + msg() *openapi.PatternIpv6PatternIpv6Counter + // setMsg unmarshals PatternIpv6PatternIpv6Counter from protobuf object *openapi.PatternIpv6PatternIpv6Counter // and doesn't set defaults - SetMsg(*openapi.PatternIpv6PatternIpv6Counter) PatternIpv6PatternIpv6Counter - // ToProto marshals PatternIpv6PatternIpv6Counter to protobuf object *openapi.PatternIpv6PatternIpv6Counter - ToProto() (*openapi.PatternIpv6PatternIpv6Counter, error) - // ToPbText marshals PatternIpv6PatternIpv6Counter to protobuf text - ToPbText() (string, error) - // ToYaml marshals PatternIpv6PatternIpv6Counter to YAML text - ToYaml() (string, error) - // ToJson marshals PatternIpv6PatternIpv6Counter to JSON text - ToJson() (string, error) - // FromProto unmarshals PatternIpv6PatternIpv6Counter from protobuf object *openapi.PatternIpv6PatternIpv6Counter - FromProto(msg *openapi.PatternIpv6PatternIpv6Counter) (PatternIpv6PatternIpv6Counter, error) - // FromPbText unmarshals PatternIpv6PatternIpv6Counter from protobuf text - FromPbText(value string) error - // FromYaml unmarshals PatternIpv6PatternIpv6Counter from YAML text - FromYaml(value string) error - // FromJson unmarshals PatternIpv6PatternIpv6Counter from JSON text - FromJson(value string) error - // Validate validates PatternIpv6PatternIpv6Counter - Validate() error + setMsg(*openapi.PatternIpv6PatternIpv6Counter) PatternIpv6PatternIpv6Counter + // provides marshal interface + Marshal() marshalPatternIpv6PatternIpv6Counter + // provides unmarshal interface + Unmarshal() unMarshalPatternIpv6PatternIpv6Counter + // validate validates PatternIpv6PatternIpv6Counter + validate() error // A stringer function String() string // Clones the object @@ -23263,7 +25256,9 @@ func (obj *patternIpv6PatternIpv6Counter) setDefault() { // ***** PatternMacPatternMacCounter ***** type patternMacPatternMacCounter struct { validation - obj *openapi.PatternMacPatternMacCounter + obj *openapi.PatternMacPatternMacCounter + marshaller marshalPatternMacPatternMacCounter + unMarshaller unMarshalPatternMacPatternMacCounter } func NewPatternMacPatternMacCounter() PatternMacPatternMacCounter { @@ -23272,26 +25267,70 @@ func NewPatternMacPatternMacCounter() PatternMacPatternMacCounter { return &obj } -func (obj *patternMacPatternMacCounter) Msg() *openapi.PatternMacPatternMacCounter { +func (obj *patternMacPatternMacCounter) msg() *openapi.PatternMacPatternMacCounter { return obj.obj } -func (obj *patternMacPatternMacCounter) SetMsg(msg *openapi.PatternMacPatternMacCounter) PatternMacPatternMacCounter { +func (obj *patternMacPatternMacCounter) setMsg(msg *openapi.PatternMacPatternMacCounter) PatternMacPatternMacCounter { proto.Merge(obj.obj, msg) return obj } -func (obj *patternMacPatternMacCounter) ToProto() (*openapi.PatternMacPatternMacCounter, error) { - err := obj.validateToAndFrom() +type marshalpatternMacPatternMacCounter struct { + obj *patternMacPatternMacCounter +} + +type marshalPatternMacPatternMacCounter interface { + // ToProto marshals PatternMacPatternMacCounter to protobuf object *openapi.PatternMacPatternMacCounter + ToProto() (*openapi.PatternMacPatternMacCounter, error) + // ToPbText marshals PatternMacPatternMacCounter to protobuf text + ToPbText() (string, error) + // ToYaml marshals PatternMacPatternMacCounter to YAML text + ToYaml() (string, error) + // ToJson marshals PatternMacPatternMacCounter to JSON text + ToJson() (string, error) +} + +type unMarshalpatternMacPatternMacCounter struct { + obj *patternMacPatternMacCounter +} + +type unMarshalPatternMacPatternMacCounter interface { + // FromProto unmarshals PatternMacPatternMacCounter from protobuf object *openapi.PatternMacPatternMacCounter + FromProto(msg *openapi.PatternMacPatternMacCounter) (PatternMacPatternMacCounter, error) + // FromPbText unmarshals PatternMacPatternMacCounter from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PatternMacPatternMacCounter from YAML text + FromYaml(value string) error + // FromJson unmarshals PatternMacPatternMacCounter from JSON text + FromJson(value string) error +} + +func (obj *patternMacPatternMacCounter) Marshal() marshalPatternMacPatternMacCounter { + if obj.marshaller == nil { + obj.marshaller = &marshalpatternMacPatternMacCounter{obj: obj} + } + return obj.marshaller +} + +func (obj *patternMacPatternMacCounter) Unmarshal() unMarshalPatternMacPatternMacCounter { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalpatternMacPatternMacCounter{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalpatternMacPatternMacCounter) ToProto() (*openapi.PatternMacPatternMacCounter, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *patternMacPatternMacCounter) FromProto(msg *openapi.PatternMacPatternMacCounter) (PatternMacPatternMacCounter, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalpatternMacPatternMacCounter) FromProto(msg *openapi.PatternMacPatternMacCounter) (PatternMacPatternMacCounter, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -23299,33 +25338,33 @@ func (obj *patternMacPatternMacCounter) FromProto(msg *openapi.PatternMacPattern return newObj, nil } -func (obj *patternMacPatternMacCounter) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpatternMacPatternMacCounter) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *patternMacPatternMacCounter) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalpatternMacPatternMacCounter) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *patternMacPatternMacCounter) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpatternMacPatternMacCounter) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -23334,7 +25373,7 @@ func (obj *patternMacPatternMacCounter) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -23345,7 +25384,7 @@ func (obj *patternMacPatternMacCounter) ToYaml() (string, error) { return string(data), nil } -func (obj *patternMacPatternMacCounter) FromYaml(value string) error { +func (m *unMarshalpatternMacPatternMacCounter) FromYaml(value string) error { if value == "" { value = "{}" } @@ -23357,21 +25396,21 @@ func (obj *patternMacPatternMacCounter) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *patternMacPatternMacCounter) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpatternMacPatternMacCounter) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -23381,14 +25420,14 @@ func (obj *patternMacPatternMacCounter) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *patternMacPatternMacCounter) FromJson(value string) error { +func (m *unMarshalpatternMacPatternMacCounter) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -23396,13 +25435,13 @@ func (obj *patternMacPatternMacCounter) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - err := obj.validateToAndFrom() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -23415,14 +25454,14 @@ func (obj *patternMacPatternMacCounter) validateToAndFrom() error { return obj.validationResult() } -func (obj *patternMacPatternMacCounter) Validate() error { +func (obj *patternMacPatternMacCounter) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *patternMacPatternMacCounter) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -23430,16 +25469,16 @@ func (obj *patternMacPatternMacCounter) String() string { } func (obj *patternMacPatternMacCounter) Clone() (PatternMacPatternMacCounter, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewPatternMacPatternMacCounter() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -23449,30 +25488,18 @@ func (obj *patternMacPatternMacCounter) Clone() (PatternMacPatternMacCounter, er // PatternMacPatternMacCounter is mac counter pattern type PatternMacPatternMacCounter interface { Validation - // Msg marshals PatternMacPatternMacCounter to protobuf object *openapi.PatternMacPatternMacCounter + // msg marshals PatternMacPatternMacCounter to protobuf object *openapi.PatternMacPatternMacCounter // and doesn't set defaults - Msg() *openapi.PatternMacPatternMacCounter - // SetMsg unmarshals PatternMacPatternMacCounter from protobuf object *openapi.PatternMacPatternMacCounter + msg() *openapi.PatternMacPatternMacCounter + // setMsg unmarshals PatternMacPatternMacCounter from protobuf object *openapi.PatternMacPatternMacCounter // and doesn't set defaults - SetMsg(*openapi.PatternMacPatternMacCounter) PatternMacPatternMacCounter - // ToProto marshals PatternMacPatternMacCounter to protobuf object *openapi.PatternMacPatternMacCounter - ToProto() (*openapi.PatternMacPatternMacCounter, error) - // ToPbText marshals PatternMacPatternMacCounter to protobuf text - ToPbText() (string, error) - // ToYaml marshals PatternMacPatternMacCounter to YAML text - ToYaml() (string, error) - // ToJson marshals PatternMacPatternMacCounter to JSON text - ToJson() (string, error) - // FromProto unmarshals PatternMacPatternMacCounter from protobuf object *openapi.PatternMacPatternMacCounter - FromProto(msg *openapi.PatternMacPatternMacCounter) (PatternMacPatternMacCounter, error) - // FromPbText unmarshals PatternMacPatternMacCounter from protobuf text - FromPbText(value string) error - // FromYaml unmarshals PatternMacPatternMacCounter from YAML text - FromYaml(value string) error - // FromJson unmarshals PatternMacPatternMacCounter from JSON text - FromJson(value string) error - // Validate validates PatternMacPatternMacCounter - Validate() error + setMsg(*openapi.PatternMacPatternMacCounter) PatternMacPatternMacCounter + // provides marshal interface + Marshal() marshalPatternMacPatternMacCounter + // provides unmarshal interface + Unmarshal() unMarshalPatternMacPatternMacCounter + // validate validates PatternMacPatternMacCounter + validate() error // A stringer function String() string // Clones the object @@ -23607,7 +25634,9 @@ func (obj *patternMacPatternMacCounter) setDefault() { // ***** PatternIntegerPatternIntegerCounter ***** type patternIntegerPatternIntegerCounter struct { validation - obj *openapi.PatternIntegerPatternIntegerCounter + obj *openapi.PatternIntegerPatternIntegerCounter + marshaller marshalPatternIntegerPatternIntegerCounter + unMarshaller unMarshalPatternIntegerPatternIntegerCounter } func NewPatternIntegerPatternIntegerCounter() PatternIntegerPatternIntegerCounter { @@ -23616,26 +25645,70 @@ func NewPatternIntegerPatternIntegerCounter() PatternIntegerPatternIntegerCounte return &obj } -func (obj *patternIntegerPatternIntegerCounter) Msg() *openapi.PatternIntegerPatternIntegerCounter { +func (obj *patternIntegerPatternIntegerCounter) msg() *openapi.PatternIntegerPatternIntegerCounter { return obj.obj } -func (obj *patternIntegerPatternIntegerCounter) SetMsg(msg *openapi.PatternIntegerPatternIntegerCounter) PatternIntegerPatternIntegerCounter { +func (obj *patternIntegerPatternIntegerCounter) setMsg(msg *openapi.PatternIntegerPatternIntegerCounter) PatternIntegerPatternIntegerCounter { proto.Merge(obj.obj, msg) return obj } -func (obj *patternIntegerPatternIntegerCounter) ToProto() (*openapi.PatternIntegerPatternIntegerCounter, error) { - err := obj.validateToAndFrom() +type marshalpatternIntegerPatternIntegerCounter struct { + obj *patternIntegerPatternIntegerCounter +} + +type marshalPatternIntegerPatternIntegerCounter interface { + // ToProto marshals PatternIntegerPatternIntegerCounter to protobuf object *openapi.PatternIntegerPatternIntegerCounter + ToProto() (*openapi.PatternIntegerPatternIntegerCounter, error) + // ToPbText marshals PatternIntegerPatternIntegerCounter to protobuf text + ToPbText() (string, error) + // ToYaml marshals PatternIntegerPatternIntegerCounter to YAML text + ToYaml() (string, error) + // ToJson marshals PatternIntegerPatternIntegerCounter to JSON text + ToJson() (string, error) +} + +type unMarshalpatternIntegerPatternIntegerCounter struct { + obj *patternIntegerPatternIntegerCounter +} + +type unMarshalPatternIntegerPatternIntegerCounter interface { + // FromProto unmarshals PatternIntegerPatternIntegerCounter from protobuf object *openapi.PatternIntegerPatternIntegerCounter + FromProto(msg *openapi.PatternIntegerPatternIntegerCounter) (PatternIntegerPatternIntegerCounter, error) + // FromPbText unmarshals PatternIntegerPatternIntegerCounter from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PatternIntegerPatternIntegerCounter from YAML text + FromYaml(value string) error + // FromJson unmarshals PatternIntegerPatternIntegerCounter from JSON text + FromJson(value string) error +} + +func (obj *patternIntegerPatternIntegerCounter) Marshal() marshalPatternIntegerPatternIntegerCounter { + if obj.marshaller == nil { + obj.marshaller = &marshalpatternIntegerPatternIntegerCounter{obj: obj} + } + return obj.marshaller +} + +func (obj *patternIntegerPatternIntegerCounter) Unmarshal() unMarshalPatternIntegerPatternIntegerCounter { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalpatternIntegerPatternIntegerCounter{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalpatternIntegerPatternIntegerCounter) ToProto() (*openapi.PatternIntegerPatternIntegerCounter, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *patternIntegerPatternIntegerCounter) FromProto(msg *openapi.PatternIntegerPatternIntegerCounter) (PatternIntegerPatternIntegerCounter, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalpatternIntegerPatternIntegerCounter) FromProto(msg *openapi.PatternIntegerPatternIntegerCounter) (PatternIntegerPatternIntegerCounter, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -23643,33 +25716,33 @@ func (obj *patternIntegerPatternIntegerCounter) FromProto(msg *openapi.PatternIn return newObj, nil } -func (obj *patternIntegerPatternIntegerCounter) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpatternIntegerPatternIntegerCounter) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *patternIntegerPatternIntegerCounter) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalpatternIntegerPatternIntegerCounter) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *patternIntegerPatternIntegerCounter) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpatternIntegerPatternIntegerCounter) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -23678,7 +25751,7 @@ func (obj *patternIntegerPatternIntegerCounter) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -23689,7 +25762,7 @@ func (obj *patternIntegerPatternIntegerCounter) ToYaml() (string, error) { return string(data), nil } -func (obj *patternIntegerPatternIntegerCounter) FromYaml(value string) error { +func (m *unMarshalpatternIntegerPatternIntegerCounter) FromYaml(value string) error { if value == "" { value = "{}" } @@ -23701,21 +25774,21 @@ func (obj *patternIntegerPatternIntegerCounter) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *patternIntegerPatternIntegerCounter) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalpatternIntegerPatternIntegerCounter) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -23725,14 +25798,14 @@ func (obj *patternIntegerPatternIntegerCounter) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *patternIntegerPatternIntegerCounter) FromJson(value string) error { +func (m *unMarshalpatternIntegerPatternIntegerCounter) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -23740,13 +25813,13 @@ func (obj *patternIntegerPatternIntegerCounter) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - err := obj.validateToAndFrom() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -23759,14 +25832,14 @@ func (obj *patternIntegerPatternIntegerCounter) validateToAndFrom() error { return obj.validationResult() } -func (obj *patternIntegerPatternIntegerCounter) Validate() error { +func (obj *patternIntegerPatternIntegerCounter) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *patternIntegerPatternIntegerCounter) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -23774,16 +25847,16 @@ func (obj *patternIntegerPatternIntegerCounter) String() string { } func (obj *patternIntegerPatternIntegerCounter) Clone() (PatternIntegerPatternIntegerCounter, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewPatternIntegerPatternIntegerCounter() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -23793,30 +25866,18 @@ func (obj *patternIntegerPatternIntegerCounter) Clone() (PatternIntegerPatternIn // PatternIntegerPatternIntegerCounter is integer counter pattern type PatternIntegerPatternIntegerCounter interface { Validation - // Msg marshals PatternIntegerPatternIntegerCounter to protobuf object *openapi.PatternIntegerPatternIntegerCounter + // msg marshals PatternIntegerPatternIntegerCounter to protobuf object *openapi.PatternIntegerPatternIntegerCounter // and doesn't set defaults - Msg() *openapi.PatternIntegerPatternIntegerCounter - // SetMsg unmarshals PatternIntegerPatternIntegerCounter from protobuf object *openapi.PatternIntegerPatternIntegerCounter + msg() *openapi.PatternIntegerPatternIntegerCounter + // setMsg unmarshals PatternIntegerPatternIntegerCounter from protobuf object *openapi.PatternIntegerPatternIntegerCounter // and doesn't set defaults - SetMsg(*openapi.PatternIntegerPatternIntegerCounter) PatternIntegerPatternIntegerCounter - // ToProto marshals PatternIntegerPatternIntegerCounter to protobuf object *openapi.PatternIntegerPatternIntegerCounter - ToProto() (*openapi.PatternIntegerPatternIntegerCounter, error) - // ToPbText marshals PatternIntegerPatternIntegerCounter to protobuf text - ToPbText() (string, error) - // ToYaml marshals PatternIntegerPatternIntegerCounter to YAML text - ToYaml() (string, error) - // ToJson marshals PatternIntegerPatternIntegerCounter to JSON text - ToJson() (string, error) - // FromProto unmarshals PatternIntegerPatternIntegerCounter from protobuf object *openapi.PatternIntegerPatternIntegerCounter - FromProto(msg *openapi.PatternIntegerPatternIntegerCounter) (PatternIntegerPatternIntegerCounter, error) - // FromPbText unmarshals PatternIntegerPatternIntegerCounter from protobuf text - FromPbText(value string) error - // FromYaml unmarshals PatternIntegerPatternIntegerCounter from YAML text - FromYaml(value string) error - // FromJson unmarshals PatternIntegerPatternIntegerCounter from JSON text - FromJson(value string) error - // Validate validates PatternIntegerPatternIntegerCounter - Validate() error + setMsg(*openapi.PatternIntegerPatternIntegerCounter) PatternIntegerPatternIntegerCounter + // provides marshal interface + Marshal() marshalPatternIntegerPatternIntegerCounter + // provides unmarshal interface + Unmarshal() unMarshalPatternIntegerPatternIntegerCounter + // validate validates PatternIntegerPatternIntegerCounter + validate() error // A stringer function String() string // Clones the object @@ -23963,7 +26024,9 @@ func (obj *patternIntegerPatternIntegerCounter) setDefault() { // ***** RequiredChoiceIntermeLeaf ***** type requiredChoiceIntermeLeaf struct { validation - obj *openapi.RequiredChoiceIntermeLeaf + obj *openapi.RequiredChoiceIntermeLeaf + marshaller marshalRequiredChoiceIntermeLeaf + unMarshaller unMarshalRequiredChoiceIntermeLeaf } func NewRequiredChoiceIntermeLeaf() RequiredChoiceIntermeLeaf { @@ -23972,26 +26035,70 @@ func NewRequiredChoiceIntermeLeaf() RequiredChoiceIntermeLeaf { return &obj } -func (obj *requiredChoiceIntermeLeaf) Msg() *openapi.RequiredChoiceIntermeLeaf { +func (obj *requiredChoiceIntermeLeaf) msg() *openapi.RequiredChoiceIntermeLeaf { return obj.obj } -func (obj *requiredChoiceIntermeLeaf) SetMsg(msg *openapi.RequiredChoiceIntermeLeaf) RequiredChoiceIntermeLeaf { +func (obj *requiredChoiceIntermeLeaf) setMsg(msg *openapi.RequiredChoiceIntermeLeaf) RequiredChoiceIntermeLeaf { proto.Merge(obj.obj, msg) return obj } -func (obj *requiredChoiceIntermeLeaf) ToProto() (*openapi.RequiredChoiceIntermeLeaf, error) { - err := obj.validateToAndFrom() +type marshalrequiredChoiceIntermeLeaf struct { + obj *requiredChoiceIntermeLeaf +} + +type marshalRequiredChoiceIntermeLeaf interface { + // ToProto marshals RequiredChoiceIntermeLeaf to protobuf object *openapi.RequiredChoiceIntermeLeaf + ToProto() (*openapi.RequiredChoiceIntermeLeaf, error) + // ToPbText marshals RequiredChoiceIntermeLeaf to protobuf text + ToPbText() (string, error) + // ToYaml marshals RequiredChoiceIntermeLeaf to YAML text + ToYaml() (string, error) + // ToJson marshals RequiredChoiceIntermeLeaf to JSON text + ToJson() (string, error) +} + +type unMarshalrequiredChoiceIntermeLeaf struct { + obj *requiredChoiceIntermeLeaf +} + +type unMarshalRequiredChoiceIntermeLeaf interface { + // FromProto unmarshals RequiredChoiceIntermeLeaf from protobuf object *openapi.RequiredChoiceIntermeLeaf + FromProto(msg *openapi.RequiredChoiceIntermeLeaf) (RequiredChoiceIntermeLeaf, error) + // FromPbText unmarshals RequiredChoiceIntermeLeaf from protobuf text + FromPbText(value string) error + // FromYaml unmarshals RequiredChoiceIntermeLeaf from YAML text + FromYaml(value string) error + // FromJson unmarshals RequiredChoiceIntermeLeaf from JSON text + FromJson(value string) error +} + +func (obj *requiredChoiceIntermeLeaf) Marshal() marshalRequiredChoiceIntermeLeaf { + if obj.marshaller == nil { + obj.marshaller = &marshalrequiredChoiceIntermeLeaf{obj: obj} + } + return obj.marshaller +} + +func (obj *requiredChoiceIntermeLeaf) Unmarshal() unMarshalRequiredChoiceIntermeLeaf { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalrequiredChoiceIntermeLeaf{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalrequiredChoiceIntermeLeaf) ToProto() (*openapi.RequiredChoiceIntermeLeaf, error) { + err := m.obj.validateToAndFrom() if err != nil { return nil, err } - return obj.Msg(), nil + return m.obj.msg(), nil } -func (obj *requiredChoiceIntermeLeaf) FromProto(msg *openapi.RequiredChoiceIntermeLeaf) (RequiredChoiceIntermeLeaf, error) { - newObj := obj.SetMsg(msg) +func (m *unMarshalrequiredChoiceIntermeLeaf) FromProto(msg *openapi.RequiredChoiceIntermeLeaf) (RequiredChoiceIntermeLeaf, error) { + newObj := m.obj.setMsg(msg) err := newObj.validateToAndFrom() if err != nil { return nil, err @@ -23999,33 +26106,33 @@ func (obj *requiredChoiceIntermeLeaf) FromProto(msg *openapi.RequiredChoiceInter return newObj, nil } -func (obj *requiredChoiceIntermeLeaf) ToPbText() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalrequiredChoiceIntermeLeaf) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } - protoMarshal, err := proto.Marshal(obj.Msg()) + protoMarshal, err := proto.Marshal(m.obj.msg()) if err != nil { return "", err } return string(protoMarshal), nil } -func (obj *requiredChoiceIntermeLeaf) FromPbText(value string) error { - retObj := proto.Unmarshal([]byte(value), obj.Msg()) +func (m *unMarshalrequiredChoiceIntermeLeaf) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) if retObj != nil { return retObj } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return retObj } -func (obj *requiredChoiceIntermeLeaf) ToYaml() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalrequiredChoiceIntermeLeaf) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -24034,7 +26141,7 @@ func (obj *requiredChoiceIntermeLeaf) ToYaml() (string, error) { AllowPartial: true, EmitUnpopulated: false, } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } @@ -24045,7 +26152,7 @@ func (obj *requiredChoiceIntermeLeaf) ToYaml() (string, error) { return string(data), nil } -func (obj *requiredChoiceIntermeLeaf) FromYaml(value string) error { +func (m *unMarshalrequiredChoiceIntermeLeaf) FromYaml(value string) error { if value == "" { value = "{}" } @@ -24057,21 +26164,21 @@ func (obj *requiredChoiceIntermeLeaf) FromYaml(value string) error { AllowPartial: true, DiscardUnknown: false, } - uError := opts.Unmarshal([]byte(data), obj.Msg()) + uError := opts.Unmarshal([]byte(data), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - vErr := obj.validateToAndFrom() + vErr := m.obj.validateToAndFrom() if vErr != nil { return vErr } return nil } -func (obj *requiredChoiceIntermeLeaf) ToJson() (string, error) { - vErr := obj.validateToAndFrom() +func (m *marshalrequiredChoiceIntermeLeaf) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() if vErr != nil { return "", vErr } @@ -24081,14 +26188,14 @@ func (obj *requiredChoiceIntermeLeaf) ToJson() (string, error) { EmitUnpopulated: false, Indent: " ", } - data, err := opts.Marshal(obj.Msg()) + data, err := opts.Marshal(m.obj.msg()) if err != nil { return "", err } return string(data), nil } -func (obj *requiredChoiceIntermeLeaf) FromJson(value string) error { +func (m *unMarshalrequiredChoiceIntermeLeaf) FromJson(value string) error { opts := protojson.UnmarshalOptions{ AllowPartial: true, DiscardUnknown: false, @@ -24096,13 +26203,13 @@ func (obj *requiredChoiceIntermeLeaf) FromJson(value string) error { if value == "" { value = "{}" } - uError := opts.Unmarshal([]byte(value), obj.Msg()) + uError := opts.Unmarshal([]byte(value), m.obj.msg()) if uError != nil { return fmt.Errorf("unmarshal error %s", strings.Replace( uError.Error(), "\u00a0", " ", -1)[7:]) } - err := obj.validateToAndFrom() + err := m.obj.validateToAndFrom() if err != nil { return err } @@ -24115,14 +26222,14 @@ func (obj *requiredChoiceIntermeLeaf) validateToAndFrom() error { return obj.validationResult() } -func (obj *requiredChoiceIntermeLeaf) Validate() error { +func (obj *requiredChoiceIntermeLeaf) validate() error { // emptyVars() obj.validateObj(&obj.validation, false) return obj.validationResult() } func (obj *requiredChoiceIntermeLeaf) String() string { - str, err := obj.ToYaml() + str, err := obj.Marshal().ToYaml() if err != nil { return err.Error() } @@ -24130,16 +26237,16 @@ func (obj *requiredChoiceIntermeLeaf) String() string { } func (obj *requiredChoiceIntermeLeaf) Clone() (RequiredChoiceIntermeLeaf, error) { - vErr := obj.Validate() + vErr := obj.validate() if vErr != nil { return nil, vErr } newObj := NewRequiredChoiceIntermeLeaf() - data, err := proto.Marshal(obj.Msg()) + data, err := proto.Marshal(obj.msg()) if err != nil { return nil, err } - pbErr := proto.Unmarshal(data, newObj.Msg()) + pbErr := proto.Unmarshal(data, newObj.msg()) if pbErr != nil { return nil, pbErr } @@ -24149,30 +26256,18 @@ func (obj *requiredChoiceIntermeLeaf) Clone() (RequiredChoiceIntermeLeaf, error) // RequiredChoiceIntermeLeaf is description is TBD type RequiredChoiceIntermeLeaf interface { Validation - // Msg marshals RequiredChoiceIntermeLeaf to protobuf object *openapi.RequiredChoiceIntermeLeaf + // msg marshals RequiredChoiceIntermeLeaf to protobuf object *openapi.RequiredChoiceIntermeLeaf // and doesn't set defaults - Msg() *openapi.RequiredChoiceIntermeLeaf - // SetMsg unmarshals RequiredChoiceIntermeLeaf from protobuf object *openapi.RequiredChoiceIntermeLeaf + msg() *openapi.RequiredChoiceIntermeLeaf + // setMsg unmarshals RequiredChoiceIntermeLeaf from protobuf object *openapi.RequiredChoiceIntermeLeaf // and doesn't set defaults - SetMsg(*openapi.RequiredChoiceIntermeLeaf) RequiredChoiceIntermeLeaf - // ToProto marshals RequiredChoiceIntermeLeaf to protobuf object *openapi.RequiredChoiceIntermeLeaf - ToProto() (*openapi.RequiredChoiceIntermeLeaf, error) - // ToPbText marshals RequiredChoiceIntermeLeaf to protobuf text - ToPbText() (string, error) - // ToYaml marshals RequiredChoiceIntermeLeaf to YAML text - ToYaml() (string, error) - // ToJson marshals RequiredChoiceIntermeLeaf to JSON text - ToJson() (string, error) - // FromProto unmarshals RequiredChoiceIntermeLeaf from protobuf object *openapi.RequiredChoiceIntermeLeaf - FromProto(msg *openapi.RequiredChoiceIntermeLeaf) (RequiredChoiceIntermeLeaf, error) - // FromPbText unmarshals RequiredChoiceIntermeLeaf from protobuf text - FromPbText(value string) error - // FromYaml unmarshals RequiredChoiceIntermeLeaf from YAML text - FromYaml(value string) error - // FromJson unmarshals RequiredChoiceIntermeLeaf from JSON text - FromJson(value string) error - // Validate validates RequiredChoiceIntermeLeaf - Validate() error + setMsg(*openapi.RequiredChoiceIntermeLeaf) RequiredChoiceIntermeLeaf + // provides marshal interface + Marshal() marshalRequiredChoiceIntermeLeaf + // provides unmarshal interface + Unmarshal() unMarshalRequiredChoiceIntermeLeaf + // validate validates RequiredChoiceIntermeLeaf + validate() error // A stringer function String() string // Clones the object diff --git a/artifacts/goapi/httpapi/controllers/apitest_controller.go b/artifacts/goapi/httpapi/controllers/apitest_controller.go index 3b983225..fb480240 100644 --- a/artifacts/goapi/httpapi/controllers/apitest_controller.go +++ b/artifacts/goapi/httpapi/controllers/apitest_controller.go @@ -40,7 +40,7 @@ func (ctrl *apiTestController) GetRootResponse(w http.ResponseWriter, r *http.Re } if result.HasCommonResponseSuccess() { - if _, err := httpapi.WriteJSONResponse(w, 200, result.CommonResponseSuccess()); err != nil { + if _, err := httpapi.WriteJSONResponse(w, 200, result.CommonResponseSuccess().Marshal()); err != nil { log.Print(err.Error()) } return @@ -61,18 +61,18 @@ func (ctrl *apiTestController) responseGetRootResponseError(w http.ResponseWrite result = rErr } else { result = openapi.NewError() - err := result.FromJson(rsp_err.Error()) + err := result.Unmarshal().FromJson(rsp_err.Error()) if err != nil { - result.Msg().Code = &statusCode + _ = result.SetCode(statusCode) err = result.SetKind(errorKind) if err != nil { log.Print(err.Error()) } - result.Msg().Errors = []string{rsp_err.Error()} + _ = result.SetErrors([]string{rsp_err.Error()}) } } - if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result.Marshal()); err != nil { log.Print(err.Error()) } } @@ -110,18 +110,18 @@ func (ctrl *apiTestController) responseDummyResponseTestError(w http.ResponseWri result = rErr } else { result = openapi.NewError() - err := result.FromJson(rsp_err.Error()) + err := result.Unmarshal().FromJson(rsp_err.Error()) if err != nil { - result.Msg().Code = &statusCode + _ = result.SetCode(statusCode) err = result.SetKind(errorKind) if err != nil { log.Print(err.Error()) } - result.Msg().Errors = []string{rsp_err.Error()} + _ = result.SetErrors([]string{rsp_err.Error()}) } } - if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result.Marshal()); err != nil { log.Print(err.Error()) } } @@ -136,7 +136,7 @@ func (ctrl *apiTestController) PostRootResponse(w http.ResponseWriter, r *http.R body, readError := io.ReadAll(r.Body) if body != nil { item = openapi.NewApiTestInputBody() - err := item.FromJson(string(body)) + err := item.Unmarshal().FromJson(string(body)) if err != nil { ctrl.responsePostRootResponseError(w, "validation", err) return @@ -157,7 +157,7 @@ func (ctrl *apiTestController) PostRootResponse(w http.ResponseWriter, r *http.R } if result.HasCommonResponseSuccess() { - if _, err := httpapi.WriteJSONResponse(w, 200, result.CommonResponseSuccess()); err != nil { + if _, err := httpapi.WriteJSONResponse(w, 200, result.CommonResponseSuccess().Marshal()); err != nil { log.Print(err.Error()) } return @@ -178,18 +178,18 @@ func (ctrl *apiTestController) responsePostRootResponseError(w http.ResponseWrit result = rErr } else { result = openapi.NewError() - err := result.FromJson(rsp_err.Error()) + err := result.Unmarshal().FromJson(rsp_err.Error()) if err != nil { - result.Msg().Code = &statusCode + _ = result.SetCode(statusCode) err = result.SetKind(errorKind) if err != nil { log.Print(err.Error()) } - result.Msg().Errors = []string{rsp_err.Error()} + _ = result.SetErrors([]string{rsp_err.Error()}) } } - if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result.Marshal()); err != nil { log.Print(err.Error()) } } diff --git a/artifacts/goapi/httpapi/controllers/bundler_controller.go b/artifacts/goapi/httpapi/controllers/bundler_controller.go index bf330968..7ce817b7 100644 --- a/artifacts/goapi/httpapi/controllers/bundler_controller.go +++ b/artifacts/goapi/httpapi/controllers/bundler_controller.go @@ -38,7 +38,7 @@ func (ctrl *bundlerController) SetConfig(w http.ResponseWriter, r *http.Request) body, readError := io.ReadAll(r.Body) if body != nil { item = openapi.NewPrefixConfig() - err := item.FromJson(string(body)) + err := item.Unmarshal().FromJson(string(body)) if err != nil { ctrl.responseSetConfigError(w, "validation", err) return @@ -80,18 +80,18 @@ func (ctrl *bundlerController) responseSetConfigError(w http.ResponseWriter, err result = rErr } else { result = openapi.NewError() - err := result.FromJson(rsp_err.Error()) + err := result.Unmarshal().FromJson(rsp_err.Error()) if err != nil { - result.Msg().Code = &statusCode + _ = result.SetCode(statusCode) err = result.SetKind(errorKind) if err != nil { log.Print(err.Error()) } - result.Msg().Errors = []string{rsp_err.Error()} + _ = result.SetErrors([]string{rsp_err.Error()}) } } - if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result.Marshal()); err != nil { log.Print(err.Error()) } } @@ -108,7 +108,7 @@ func (ctrl *bundlerController) UpdateConfiguration(w http.ResponseWriter, r *htt body, readError := io.ReadAll(r.Body) if body != nil { item = openapi.NewUpdateConfig() - err := item.FromJson(string(body)) + err := item.Unmarshal().FromJson(string(body)) if err != nil { ctrl.responseUpdateConfigurationError(w, "validation", err) return @@ -129,7 +129,7 @@ func (ctrl *bundlerController) UpdateConfiguration(w http.ResponseWriter, r *htt } if result.HasPrefixConfig() { - if _, err := httpapi.WriteJSONResponse(w, 200, result.PrefixConfig()); err != nil { + if _, err := httpapi.WriteJSONResponse(w, 200, result.PrefixConfig().Marshal()); err != nil { log.Print(err.Error()) } return @@ -150,18 +150,18 @@ func (ctrl *bundlerController) responseUpdateConfigurationError(w http.ResponseW result = rErr } else { result = openapi.NewError() - err := result.FromJson(rsp_err.Error()) + err := result.Unmarshal().FromJson(rsp_err.Error()) if err != nil { - result.Msg().Code = &statusCode + _ = result.SetCode(statusCode) err = result.SetKind(errorKind) if err != nil { log.Print(err.Error()) } - result.Msg().Errors = []string{rsp_err.Error()} + _ = result.SetErrors([]string{rsp_err.Error()}) } } - if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result.Marshal()); err != nil { log.Print(err.Error()) } } @@ -178,7 +178,7 @@ func (ctrl *bundlerController) GetConfig(w http.ResponseWriter, r *http.Request) } if result.HasPrefixConfig() { - if _, err := httpapi.WriteJSONResponse(w, 200, result.PrefixConfig()); err != nil { + if _, err := httpapi.WriteJSONResponse(w, 200, result.PrefixConfig().Marshal()); err != nil { log.Print(err.Error()) } return @@ -199,18 +199,18 @@ func (ctrl *bundlerController) responseGetConfigError(w http.ResponseWriter, err result = rErr } else { result = openapi.NewError() - err := result.FromJson(rsp_err.Error()) + err := result.Unmarshal().FromJson(rsp_err.Error()) if err != nil { - result.Msg().Code = &statusCode + _ = result.SetCode(statusCode) err = result.SetKind(errorKind) if err != nil { log.Print(err.Error()) } - result.Msg().Errors = []string{rsp_err.Error()} + _ = result.SetErrors([]string{rsp_err.Error()}) } } - if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result.Marshal()); err != nil { log.Print(err.Error()) } } diff --git a/artifacts/goapi/httpapi/controllers/capabilities_controller.go b/artifacts/goapi/httpapi/controllers/capabilities_controller.go index fc2a4c5c..18b8166e 100644 --- a/artifacts/goapi/httpapi/controllers/capabilities_controller.go +++ b/artifacts/goapi/httpapi/controllers/capabilities_controller.go @@ -37,7 +37,7 @@ func (ctrl *capabilitiesController) GetVersion(w http.ResponseWriter, r *http.Re } if result.HasVersion() { - if _, err := httpapi.WriteJSONResponse(w, 200, result.Version()); err != nil { + if _, err := httpapi.WriteJSONResponse(w, 200, result.Version().Marshal()); err != nil { log.Print(err.Error()) } return @@ -58,18 +58,18 @@ func (ctrl *capabilitiesController) responseGetVersionError(w http.ResponseWrite result = rErr } else { result = openapi.NewError() - err := result.FromJson(rsp_err.Error()) + err := result.Unmarshal().FromJson(rsp_err.Error()) if err != nil { - result.Msg().Code = &statusCode + _ = result.SetCode(statusCode) err = result.SetKind(errorKind) if err != nil { log.Print(err.Error()) } - result.Msg().Errors = []string{rsp_err.Error()} + _ = result.SetErrors([]string{rsp_err.Error()}) } } - if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result.Marshal()); err != nil { log.Print(err.Error()) } } diff --git a/artifacts/goapi/httpapi/controllers/metrics_controller.go b/artifacts/goapi/httpapi/controllers/metrics_controller.go index 8d32bae8..6661bd9f 100644 --- a/artifacts/goapi/httpapi/controllers/metrics_controller.go +++ b/artifacts/goapi/httpapi/controllers/metrics_controller.go @@ -38,7 +38,7 @@ func (ctrl *metricsController) GetMetrics(w http.ResponseWriter, r *http.Request body, readError := io.ReadAll(r.Body) if body != nil { item = openapi.NewMetricsRequest() - err := item.FromJson(string(body)) + err := item.Unmarshal().FromJson(string(body)) if err != nil { ctrl.responseGetMetricsError(w, "validation", err) return @@ -59,7 +59,7 @@ func (ctrl *metricsController) GetMetrics(w http.ResponseWriter, r *http.Request } if result.HasMetrics() { - if _, err := httpapi.WriteJSONResponse(w, 200, result.Metrics()); err != nil { + if _, err := httpapi.WriteJSONResponse(w, 200, result.Metrics().Marshal()); err != nil { log.Print(err.Error()) } return @@ -80,18 +80,18 @@ func (ctrl *metricsController) responseGetMetricsError(w http.ResponseWriter, er result = rErr } else { result = openapi.NewError() - err := result.FromJson(rsp_err.Error()) + err := result.Unmarshal().FromJson(rsp_err.Error()) if err != nil { - result.Msg().Code = &statusCode + _ = result.SetCode(statusCode) err = result.SetKind(errorKind) if err != nil { log.Print(err.Error()) } - result.Msg().Errors = []string{rsp_err.Error()} + _ = result.SetErrors([]string{rsp_err.Error()}) } } - if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result.Marshal()); err != nil { log.Print(err.Error()) } } @@ -108,7 +108,7 @@ func (ctrl *metricsController) GetWarnings(w http.ResponseWriter, r *http.Reques } if result.HasWarningDetails() { - if _, err := httpapi.WriteJSONResponse(w, 200, result.WarningDetails()); err != nil { + if _, err := httpapi.WriteJSONResponse(w, 200, result.WarningDetails().Marshal()); err != nil { log.Print(err.Error()) } return @@ -129,18 +129,18 @@ func (ctrl *metricsController) responseGetWarningsError(w http.ResponseWriter, e result = rErr } else { result = openapi.NewError() - err := result.FromJson(rsp_err.Error()) + err := result.Unmarshal().FromJson(rsp_err.Error()) if err != nil { - result.Msg().Code = &statusCode + _ = result.SetCode(statusCode) err = result.SetKind(errorKind) if err != nil { log.Print(err.Error()) } - result.Msg().Errors = []string{rsp_err.Error()} + _ = result.SetErrors([]string{rsp_err.Error()}) } } - if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result.Marshal()); err != nil { log.Print(err.Error()) } } @@ -178,18 +178,18 @@ func (ctrl *metricsController) responseClearWarningsError(w http.ResponseWriter, result = rErr } else { result = openapi.NewError() - err := result.FromJson(rsp_err.Error()) + err := result.Unmarshal().FromJson(rsp_err.Error()) if err != nil { - result.Msg().Code = &statusCode + _ = result.SetCode(statusCode) err = result.SetKind(errorKind) if err != nil { log.Print(err.Error()) } - result.Msg().Errors = []string{rsp_err.Error()} + _ = result.SetErrors([]string{rsp_err.Error()}) } } - if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result.Marshal()); err != nil { log.Print(err.Error()) } } diff --git a/artifacts/goapi/httpapi/controllers/serviceabc_controller.go b/artifacts/goapi/httpapi/controllers/serviceabc_controller.go index 9f828401..92761f7a 100644 --- a/artifacts/goapi/httpapi/controllers/serviceabc_controller.go +++ b/artifacts/goapi/httpapi/controllers/serviceabc_controller.go @@ -39,7 +39,7 @@ func (ctrl *serviceAbcController) GetAllItems(w http.ResponseWriter, r *http.Req } if result.HasServiceAbcItemList() { - if _, err := httpapi.WriteJSONResponse(w, 200, result.ServiceAbcItemList()); err != nil { + if _, err := httpapi.WriteJSONResponse(w, 200, result.ServiceAbcItemList().Marshal()); err != nil { log.Print(err.Error()) } return @@ -60,18 +60,18 @@ func (ctrl *serviceAbcController) responseGetAllItemsError(w http.ResponseWriter result = rErr } else { result = openapi.NewError() - err := result.FromJson(rsp_err.Error()) + err := result.Unmarshal().FromJson(rsp_err.Error()) if err != nil { - result.Msg().Code = &statusCode + _ = result.SetCode(statusCode) err = result.SetKind(errorKind) if err != nil { log.Print(err.Error()) } - result.Msg().Errors = []string{rsp_err.Error()} + _ = result.SetErrors([]string{rsp_err.Error()}) } } - if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result.Marshal()); err != nil { log.Print(err.Error()) } } @@ -88,7 +88,7 @@ func (ctrl *serviceAbcController) GetSingleItem(w http.ResponseWriter, r *http.R } if result.HasServiceAbcItem() { - if _, err := httpapi.WriteJSONResponse(w, 200, result.ServiceAbcItem()); err != nil { + if _, err := httpapi.WriteJSONResponse(w, 200, result.ServiceAbcItem().Marshal()); err != nil { log.Print(err.Error()) } return @@ -109,18 +109,18 @@ func (ctrl *serviceAbcController) responseGetSingleItemError(w http.ResponseWrit result = rErr } else { result = openapi.NewError() - err := result.FromJson(rsp_err.Error()) + err := result.Unmarshal().FromJson(rsp_err.Error()) if err != nil { - result.Msg().Code = &statusCode + _ = result.SetCode(statusCode) err = result.SetKind(errorKind) if err != nil { log.Print(err.Error()) } - result.Msg().Errors = []string{rsp_err.Error()} + _ = result.SetErrors([]string{rsp_err.Error()}) } } - if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result.Marshal()); err != nil { log.Print(err.Error()) } } @@ -137,7 +137,7 @@ func (ctrl *serviceAbcController) GetSingleItemLevel2(w http.ResponseWriter, r * } if result.HasServiceAbcItem() { - if _, err := httpapi.WriteJSONResponse(w, 200, result.ServiceAbcItem()); err != nil { + if _, err := httpapi.WriteJSONResponse(w, 200, result.ServiceAbcItem().Marshal()); err != nil { log.Print(err.Error()) } return @@ -158,18 +158,18 @@ func (ctrl *serviceAbcController) responseGetSingleItemLevel2Error(w http.Respon result = rErr } else { result = openapi.NewError() - err := result.FromJson(rsp_err.Error()) + err := result.Unmarshal().FromJson(rsp_err.Error()) if err != nil { - result.Msg().Code = &statusCode + _ = result.SetCode(statusCode) err = result.SetKind(errorKind) if err != nil { log.Print(err.Error()) } - result.Msg().Errors = []string{rsp_err.Error()} + _ = result.SetErrors([]string{rsp_err.Error()}) } } - if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result.Marshal()); err != nil { log.Print(err.Error()) } } diff --git a/artifacts/pyapi/__pycache__/__init__.cpython-310.pyc b/artifacts/pyapi/__pycache__/__init__.cpython-310.pyc index 1078b810290fdf9b91f4c3cc8c06c2167fb146fe..47d4e8a5859cf10ef543caef592307ab8594e24f 100644 GIT binary patch delta 20 acmdlbyi1rnpO=@50SHX9rf%e3&j|oBhy>vP delta 20 acmdlbyi1rnpO=@50SMM!*V)Luo)Z8zQ3YK9 diff --git a/artifacts/pyapi/__pycache__/openapi_pb2.cpython-310.pyc b/artifacts/pyapi/__pycache__/openapi_pb2.cpython-310.pyc index a40d2ca12594b95ca869a8193c5547bc5ca2248a..dee64110c2098f9a6d3b12f203e717fa19c20079 100644 GIT binary patch delta 22 ccmcaUk@5OOM(%uGUM>b8FwL5}k^77X08M5FbpQYW delta 22 ccmcaUk@5OOM(%uGUM>b8SbJS(Blj5(08uXn@c;k- diff --git a/artifacts/pyapi/__pycache__/openapi_pb2_grpc.cpython-310.pyc b/artifacts/pyapi/__pycache__/openapi_pb2_grpc.cpython-310.pyc index 5a33879e784296c5e8314e911d1932439f568c8b..16cb38d45bc52572aae3ef4c168498d5d4318b25 100644 GIT binary patch delta 20 acmbQ>KEa(kpO=@50SHX9rf%eJRR#bvVg%&? delta 20 acmbQ>KEa(kpO=@50SMM!*V)M3stf=(D+OTy diff --git a/artifacts/pyapi/__pycache__/pyapi.cpython-310.pyc b/artifacts/pyapi/__pycache__/pyapi.cpython-310.pyc index af986f1b45b399ce756ca53cef7661011cfdfd26..906f4f430d284655654a1fae7b84072f16ae3383 100644 GIT binary patch delta 28 icmbQVkaN;PPVRhOUM>b8u*jO)$lc1#xRsl!Jpce|76$|X delta 28 icmbQVkaN;PPVRhOUM>b8*mzy1k-L?faVs}ddjJ4%)CYk8 diff --git a/artifacts/pyapi/requirements.txt b/artifacts/pyapi/requirements.txt index 29cd38a0..46acef17 100644 --- a/artifacts/pyapi/requirements.txt +++ b/artifacts/pyapi/requirements.txt @@ -1,10 +1,10 @@ --prefer-binary -protobuf~=4.23.3 ; python_version > '3.6' -protobuf~=3.15.0 ; python_version <= '3.6' -grpcio-tools~=1.54.2 ; python_version > '3.6' grpcio~=1.54.2 ; python_version > '3.6' grpcio-tools~=1.35.0 ; python_version <= '3.6' +grpcio-tools~=1.54.2 ; python_version > '3.6' grpcio~=1.35.0 ; python_version <= '3.6' +protobuf~=4.23.3 ; python_version > '3.6' +protobuf~=3.15.0 ; python_version <= '3.6' requests PyYAML semantic_version From 31736ef7f6417071c4f035eea2890dcb0cb6fa28 Mon Sep 17 00:00:00 2001 From: Github Actions Bot Date: Wed, 3 Jan 2024 16:52:54 +0000 Subject: [PATCH 24/27] Update auto generated go code --- .../__pycache__/__init__.cpython-310.pyc | Bin 2490 -> 2490 bytes .../__pycache__/openapi_pb2.cpython-310.pyc | Bin 18647 -> 18647 bytes .../openapi_pb2_grpc.cpython-310.pyc | Bin 9104 -> 9104 bytes .../pyapi/__pycache__/pyapi.cpython-310.pyc | Bin 151698 -> 151698 bytes artifacts/pyapi/requirements.txt | 4 ++-- 5 files changed, 2 insertions(+), 2 deletions(-) diff --git a/artifacts/pyapi/__pycache__/__init__.cpython-310.pyc b/artifacts/pyapi/__pycache__/__init__.cpython-310.pyc index 47d4e8a5859cf10ef543caef592307ab8594e24f..7f5aa6036309735bfffde4f8dff309c48bb16721 100644 GIT binary patch delta 19 Zcmdlbyi1rXpO=@50SFdP*vPek696y?1m6Gv delta 19 Zcmdlbyi1rXpO=@50SHX9Hgav?1OP0z1WNz_ diff --git a/artifacts/pyapi/__pycache__/openapi_pb2.cpython-310.pyc b/artifacts/pyapi/__pycache__/openapi_pb2.cpython-310.pyc index dee64110c2098f9a6d3b12f203e717fa19c20079..0f44257c60fea96c8177dd63f355027e538368bf 100644 GIT binary patch delta 21 bcmcaUk@5OOMy`BbUM>b8SUh1P*I5q$Nv{TT delta 21 bcmcaUk@5OOMy`BbUM>b8FwNS?b=Cs_MqLHp diff --git a/artifacts/pyapi/__pycache__/openapi_pb2_grpc.cpython-310.pyc b/artifacts/pyapi/__pycache__/openapi_pb2_grpc.cpython-310.pyc index 16cb38d45bc52572aae3ef4c168498d5d4318b25..af1a6c27be63a5308e71c81805a3ccbce9ad681e 100644 GIT binary patch delta 19 ZcmbQ>KEa(UpO=@50SFdP*vQqU3;;0C1mgez delta 19 ZcmbQ>KEa(UpO=@50SHX9HgdHo0{|_31Wy0} diff --git a/artifacts/pyapi/__pycache__/pyapi.cpython-310.pyc b/artifacts/pyapi/__pycache__/pyapi.cpython-310.pyc index 906f4f430d284655654a1fae7b84072f16ae3383..1342ebcbffb5831b51a14b33f488b66039889891 100644 GIT binary patch delta 27 hcmbQVkaN;PPOf}jUM>b8ST>=NtCfp!D;HBo003s02LJ#7 delta 27 hcmbQVkaN;PPOf}jUM>b8u*hoUYUN_w%Ei '3.6' grpcio-tools~=1.35.0 ; python_version <= '3.6' -grpcio-tools~=1.54.2 ; python_version > '3.6' +grpcio~=1.54.2 ; python_version > '3.6' grpcio~=1.35.0 ; python_version <= '3.6' +grpcio-tools~=1.54.2 ; python_version > '3.6' protobuf~=4.23.3 ; python_version > '3.6' protobuf~=3.15.0 ; python_version <= '3.6' requests From 70f79ca8e52343f49d77778b3adf9ffbfc6b4600 Mon Sep 17 00:00:00 2001 From: Vibaswan Date: Wed, 3 Jan 2024 16:58:11 +0000 Subject: [PATCH 25/27] bug fix --- .github/workflows/build.yml | 3 ++- .../pyapi/__pycache__/__init__.cpython-310.pyc | Bin 2490 -> 0 bytes .../__pycache__/openapi_pb2.cpython-310.pyc | Bin 18647 -> 0 bytes .../openapi_pb2_grpc.cpython-310.pyc | Bin 9104 -> 0 bytes .../pyapi/__pycache__/pyapi.cpython-310.pyc | Bin 151698 -> 0 bytes 5 files changed, 2 insertions(+), 1 deletion(-) delete mode 100644 artifacts/pyapi/__pycache__/__init__.cpython-310.pyc delete mode 100644 artifacts/pyapi/__pycache__/openapi_pb2.cpython-310.pyc delete mode 100644 artifacts/pyapi/__pycache__/openapi_pb2_grpc.cpython-310.pyc delete mode 100644 artifacts/pyapi/__pycache__/pyapi.cpython-310.pyc diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8ad959e2..42452565 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -78,7 +78,8 @@ jobs: git config user.name "Github Actions Bot" git config user.email "actions@github.com" git pull - git add --force artifacts/\* + git add --force artifacts/ + git rm --cached artifacts/pyapi/__pycache__ if git status --porcelain | grep . then git commit -m "Update auto generated go code" diff --git a/artifacts/pyapi/__pycache__/__init__.cpython-310.pyc b/artifacts/pyapi/__pycache__/__init__.cpython-310.pyc deleted file mode 100644 index 7f5aa6036309735bfffde4f8dff309c48bb16721..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2490 zcmc)L*;XS}6b9gg5Hg1VVV-BgkTB2CjR=Z@&1%qI?i*Hha)7dvs(4a?#;5ScC-BNw z;>xwW@)f-D-#bMrDC(sQKi@g~)UKlHWR;yrM1A=B`NyBsQP}7EjR%ciO&Gk!Z{=60 z;4AoxzLKB(es&YwL`~uV9H4->8E&R#aS#qtP}~ByP>VPOhbSZt!(j@GBXEQw;wT)Y zs5l14C?<}>af*u*aDo!zB%GwAxD{@tR&feWQA*qfw^5t89d4&~aR=N%9pW^crnI;d z?xap}7u-c%;%>N`y2U+k5A}$9;a=($_rZPCC+>&)sb4$*572;k5FVsK@en*jL*ik0 zn1;n8@Cc2FN8wQ#6_3GVG$tO0$7x(V0Z-6`coLqZN%0gsMN{Hwc$%igGw=+}h%<18 zGU8cymS)9s@EpyF=izyp7camIv>?vHS;~rYaE@}~MR<`G#Y^xKEs2-mWm*=mz$>&O zUWHd_RlEkT(VBQ2UZ-{O2E0KV;!SvyHpN@;7Hx^Q;ceO$@4!2>Bi@B~X;-`l@6jH- zf8oo#`rVJcp7B4%&$YTXKOWlFwRwYa=;+P+?^NDl9((+(&X~&+M`>R4g;#O;RQa-A z37ys%K2>+B_{LH=w&u%w8;;8S<*im+iOA^KuF5IS469%`JRdtL->se-4$f_1*yXZe zmWj&X%audBYSpfrJFUOi>1mc1Jnz(4@j6A%jJ($Z-pNzrLFuIvrPSu)@<+^s&gxHa)IGd$ z<9x1+g3=8gMqXHSP<8BMQxyxBs>1tg`oGqA|3&Cs{q!-HPrHn~ip!_UxAjW=@YXi- zsytM8?yJs>ZvlWacJ;JYnyj){OdAr z;QEIwd8Qm~<|}+~?Ouf387z*T+uErOF-m$P_d=t`Mf={Xdn31=d}nCOv~E6Cj$sxn z=+Sv-mrAzvR#nQjRZ$n!d|p+!kUA)v{4h?ea@G07E<9ka{X*$G+^mE5c{D7Yn)0lY z&u9O>&OLeP8>K6z%^%JHn&VI8QX3XdtoddJjI#MvX8$o*etMC1)cnt5B>_WAu_W3PQ`2i94#r^-scgp`KumX+) diff --git a/artifacts/pyapi/__pycache__/openapi_pb2.cpython-310.pyc b/artifacts/pyapi/__pycache__/openapi_pb2.cpython-310.pyc deleted file mode 100644 index 0f44257c60fea96c8177dd63f355027e538368bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18647 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 diff --git a/artifacts/pyapi/__pycache__/openapi_pb2_grpc.cpython-310.pyc b/artifacts/pyapi/__pycache__/openapi_pb2_grpc.cpython-310.pyc deleted file mode 100644 index af1a6c27be63a5308e71c81805a3ccbce9ad681e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9104 zcmd^F&668P6`vV>jlNdeFYlMvp0yn(GKn^ruV6y3S+9+Qy*6GusffUMtnOWFBWaYL zk)7RAQdAOdq@bYSKyk2(3qDa?xN(8vFW@#e3ND;|NYxgp@ZOu5UX3)ewg^=@p!M|h zykD#P*RS8a_qt`fSj;K#`R&hs$$x%ZQT~As{U043&co&W2nwdu6s9t*sn%4uCz@I- zQA?`IUYew-TKaXRT}moEv%8`y_y_W2Q*QyHDsL!l^?`C(VJVjWP+@7F{UA}x!E=V` z@T}8wo@H6?L#0*#d7c$OULbjqX`4!=xVOI6Z1A>gSZ!uFT-@ivs5dRg;f_(ah2T!d zZnH*v+i-28BW%~c+ueGB@vTOi`(J3(xl{cYOh(zLs9u)0I_|F7xqB8K@^*)}txf|U z>)4|Iqrt;@xSV+?xB?1LY8q2(38t|G5Kgir5KMXb>wYJjZujorPpXP?kvnzK=(r8L zZL}JWgX9`ewHa?Zxtsx?OSUkqX4ANNW6d!_ve3r8*KlZ-K>B&(!i_7&ra$G)?_9rq z^&(F2euHu2)y?Z0)REvFPyy)2qT%c<RfL?gJ+XDTz9oK5Rj`3UrYTRN7-M5-uUNN?yzdLU=+UyRp z>Tu!i8bCgvL!HrtxDn+@NF9|Mez2Z`YYi^vHBewr-2ppt)g5go0cCP0#k7wSJ;h8D zg0c)DxiiD)#I}?PIBvK|MEx$7}f!xa_X zx@(K7Z;5D)7sR%6j@AXA@Ke8MwcEUT&bVM~i%z||=08_uqy5Fz;N7VP=D)hhUFd$R zv0c%;DZ$_Fa>q5{jcr)X#vT{mtpBb$++<*}p?Lq)P)D~r%yPNkS67f>#|(El9BzMU zs0YBVaj^Bevwt)WeBBaluy|+x*butbasQxl6)s1#niv-eSxWhaE4) zV(8@^?oG#l-idA722GgEcFiyX(1Y*lX#%Nrbo<^U=*2fINii!$ga&pKvY7%@iUJb3 z1DQ7s_0U>mm-#-SHyg1i*`^o~dvoxWe!G(GN&|qmFl1k{?c@;T%?(;wII;O*Aedfx z5TQwiwkQX~Nrpmi79I}lQMM^Y#NJZm(YH$37BzX$g%5hD{=hhRpzh5R7= z2AYyd4zaWA>89CeH(b-4#klo86v?!vrr}TjB$@g=YK2esW&&@F$w)OMxB*!Tu*KMJ znqJN{ArIxDau+_P+gmEfLZWi|=-Jey+Ea4)bKHVgM6 zJHqDRKEdYM0^Cb%kuAZ!%#K3DTlPw!J|K;PoJt5xH0lW`!VlK*T7&C}0Yy)Hs6ecS z+~bj|;!~2TSaVZM{Xl(Rt!R6v!Ife9iP0{IP>|&~c2{7oc@QM$z;)cSnbEdgqtWU# zc?&W%&Q>0$J>B81S%;L+OQJz}xlKsny3QI(inlkeT)S~~{o4A*t@Vpu9-A`mLc->F z(;K#X<)AA{_8uq1*MYc~5rK2g05zAt;|?z0613We>j^I3L?Wl^>fXYDhN{v{k5rRD zU4a@lFJksthhWXl88AD`;YJs(4n#M|cqwB%$TAM6GjS367VB7C#R6YvzaRrV29IsH z$N(o&G=r0aGl&TiW9M=Pyov+)Hy^*OVK7)8Rc6^LUj`1MKl@3kdSs47slE6|7fiPf>Ww1a&^1t9vf$@JL zIV=xyh{WEpELI(Qca6*Iw+sjd#)F1?&%j+>6ZbZ5SHQk)x5MRYKW2fx0K9%7xg8(m z21@Tw1fI_BG5DgVZ#OZU$Ilp2F94xmOHwO?q=piUr_%!8@M55}8`n4gCt7xZy46NZ&KqfFMq;Xgl zUj_!hmn?=X9jxgfsd_pO@jdKjr04xApnsGD4f)*2Kz{Z%X1E(q9quJS|0IWtb7OMn zGAUlchTp>CJQf$Qz*r|RTnKc?0^OoO*Cfz42z&_z8ofZn61bKERVi?q0tfGlJQRZ{ z{CpdLAHwBe$C&@k{hr$m_6 z5YZtiG~q~vH6bGaI$V(tx`gv^IllsT(7#RM$*h)5z+aL| zsIlX8j1F6nS}GRBLv=*cu_zw0Bbtdt@!%a%Jr*sp2|}~6Xo-~x&BdaVY>Lo)EIQ3* z2ra~-v+M|=#aMKX%@aBii!QK5LQApe5<5z0ITl@J#|WKd32-HbmkCUbHjiYB8<*+mapm#^C`Ji5oTKyTuK1?L)Yz;6mT^WXI{F0iq?uBXGhZ^7ZL zHSj``51R)Qeo_EBg*+aDz}bMB{P*5upu4_pm0Gm*ZJ_ytppDRE}Y(Zr&OwOutJHt_QMlB=+=^cI4LSko?EG=Xo^#g}Z)M+`% zb&uqae*T=~FO>*cRZysW8WRD9Ox+${E@%j^q;BG3M=u(+;IjBMD)a^#@6)-;U*GaV(dqLvx`dZX_4X z^ZqQkNIM40>Dw}nWix$fHk3$?WP`cp-y|F9u_J7PedSnAGl%AcDeY)mehJWjN>2R_ zF#G{R_tSxmOB?X1OvUX)y#oA*?l$Uv-u#*O8GVuNAl%h}XbFfqIuy7s)pRYPsr`S2 zkG1muldSx)K&@0J{NsSjP=|d5{Zd#Bet2d}|MAlH z-5p+c>9-Er*i$-B1H`R|r@!p~#PSL(hyNc);HW??Xc{C%1+}bdpO%y5oBH<5tN#JI CcN+fy diff --git a/artifacts/pyapi/__pycache__/pyapi.cpython-310.pyc b/artifacts/pyapi/__pycache__/pyapi.cpython-310.pyc deleted file mode 100644 index 1342ebcbffb5831b51a14b33f488b66039889891..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 151698 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 Date: Wed, 3 Jan 2024 17:02:24 +0000 Subject: [PATCH 26/27] bug fix --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 42452565..d309482d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -79,7 +79,7 @@ jobs: git config user.email "actions@github.com" git pull git add --force artifacts/ - git rm --cached artifacts/pyapi/__pycache__ + git rm -r --cached artifacts/pyapi/__pycache__ if git status --porcelain | grep . then git commit -m "Update auto generated go code" From a087c43a788d37c98b44bf7fe211178fea305865 Mon Sep 17 00:00:00 2001 From: Github Actions Bot Date: Wed, 3 Jan 2024 17:04:45 +0000 Subject: [PATCH 27/27] Update auto generated go code --- artifacts/pyapi/requirements.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/artifacts/pyapi/requirements.txt b/artifacts/pyapi/requirements.txt index b2ed9ad9..ad314cef 100644 --- a/artifacts/pyapi/requirements.txt +++ b/artifacts/pyapi/requirements.txt @@ -1,11 +1,11 @@ --prefer-binary -grpcio-tools~=1.35.0 ; python_version <= '3.6' +PyYAML +protobuf~=4.23.3 ; python_version > '3.6' +protobuf~=3.15.0 ; python_version <= '3.6' grpcio~=1.54.2 ; python_version > '3.6' grpcio~=1.35.0 ; python_version <= '3.6' grpcio-tools~=1.54.2 ; python_version > '3.6' -protobuf~=4.23.3 ; python_version > '3.6' -protobuf~=3.15.0 ; python_version <= '3.6' +grpcio-tools~=1.35.0 ; python_version <= '3.6' requests -PyYAML -semantic_version urllib3 +semantic_version

*`!35mz_M0^%L1#3Big4>93uS>{b)d4 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 diff --git a/artifacts/sanity/__pycache__/sanity_pb2_grpc.cpython-310.pyc b/artifacts/sanity/__pycache__/sanity_pb2_grpc.cpython-310.pyc deleted file mode 100644 index 533fd333e10dd66b573ab5045dadec60fb2992d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9089 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 ujlIn0 '3.6' -requests -PyYAML -grpcio~=1.54.2 ; python_version > '3.6' -grpcio-tools~=1.35.0 ; python_version <= '3.6' -grpcio-tools~=1.54.2 ; python_version > '3.6' -grpcio~=1.35.0 ; python_version <= '3.6' -semantic_version -urllib3 diff --git a/artifacts/sanity/sanity.py b/artifacts/sanity/sanity.py deleted file mode 100644 index 379f987a..00000000 --- a/artifacts/sanity/sanity.py +++ /dev/null @@ -1,8198 +0,0 @@ -# OpenAPIArt Test API 0.0.1 -# License: NO-LICENSE-PRESENT - -import importlib -import logging -import json -import platform -import yaml -import requests -import urllib3 -import io -import sys -import time -import grpc -import semantic_version -import types -import platform -from google.protobuf import json_format - -try: - from sanity import sanity_pb2_grpc as pb2_grpc -except ImportError: - import sanity_pb2_grpc as pb2_grpc -try: - from sanity import sanity_pb2 as pb2 -except ImportError: - import sanity_pb2 as pb2 - -try: - from typing import Union, Dict, List, Any, Literal -except ImportError: - from typing_extensions import Literal - - -if sys.version_info[0] == 3: - unicode = str - - -openapi_warnings = [] - - -class Transport: - HTTP = "http" - GRPC = "grpc" - - -def api( - location=None, - transport=None, - verify=True, - logger=None, - loglevel=logging.INFO, - ext=None, - version_check=False, -): - """Create an instance of an Api class - - generator.Generator outputs a base Api class with the following: - - an abstract method for each OpenAPI path item object - - a concrete properties for each unique OpenAPI path item parameter. - - generator.Generator also outputs an HttpApi class that inherits the base - Api class, implements the abstract methods and uses the common HttpTransport - class send_recv method to communicate with a REST based server. - - Args - ---- - - location (str): The location of an Open Traffic Generator server. - - transport (enum["http", "grpc"]): Transport Type - - verify (bool): Verify the server's TLS certificate, or a string, in which - case it must be a path to a CA bundle to use. Defaults to `True`. - When set to `False`, requests will accept any TLS certificate presented by - the server, and will ignore hostname mismatches and/or expired - certificates, which will make your application vulnerable to - man-in-the-middle (MitM) attacks. Setting verify to `False` - may be useful during local development or testing. - - logger (logging.Logger): A user defined logging.logger, if none is provided - then a default logger with a stdout handler will be provided - - loglevel (logging.loglevel): The logging package log level. - The default loglevel is logging.INFO - - ext (str): Name of an extension package - """ - params = locals() - transport_types = ["http", "grpc"] - if ext is None: - transport = "http" if transport is None else transport - if transport not in transport_types: - raise Exception( - "{transport} is not within valid transport types {transport_types}".format( - transport=transport, transport_types=transport_types - ) - ) - if transport == "http": - return HttpApi(**params) - else: - return GrpcApi(**params) - try: - if transport is not None: - raise Exception( - "ext and transport are not mutually exclusive. Please configure one of them." - ) - lib = importlib.import_module("sanity_{}.sanity_api".format(ext)) - return lib.Api(**params) - except ImportError as err: - msg = "Extension %s is not installed or invalid: %s" - raise Exception(msg % (ext, err)) - - -class HttpTransport(object): - def __init__(self, **kwargs): - """Use args from api() method to instantiate an HTTP transport""" - self.location = ( - kwargs["location"] - if "location" in kwargs and kwargs["location"] is not None - else "https://localhost:443" - ) - self.verify = kwargs["verify"] if "verify" in kwargs else False - self.logger = kwargs["logger"] if "logger" in kwargs else None - self.loglevel = ( - kwargs["loglevel"] if "loglevel" in kwargs else logging.DEBUG - ) - if self.logger is None: - stdout_handler = logging.StreamHandler(sys.stdout) - formatter = logging.Formatter( - fmt="%(asctime)s [%(name)s] [%(levelname)s] %(message)s", - datefmt="%Y-%m-%d %H:%M:%S", - ) - formatter.converter = time.gmtime - stdout_handler.setFormatter(formatter) - self.logger = logging.Logger(self.__module__, level=self.loglevel) - self.logger.addHandler(stdout_handler) - self.logger.debug( - "HttpTransport args: {}".format( - ", ".join(["{}={!r}".format(k, v) for k, v in kwargs.items()]) - ) - ) - self.set_verify(self.verify) - self._session = requests.Session() - - def set_verify(self, verify): - self.verify = verify - if self.verify is False: - urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) - self.logger.warning("Certificate verification is disabled") - - def _parse_response_error(self, response_code, response_text): - error_response = "" - try: - error_response = yaml.safe_load(response_text) - except Exception as _: - error_response = response_text - - err_obj = Error() - try: - err_obj.deserialize(error_response) - except Exception as _: - err_obj.code = response_code - err_obj.errors = [str(error_response)] - - raise Exception(err_obj) - - def send_recv( - self, - method, - relative_url, - payload=None, - return_object=None, - headers=None, - request_class=None, - ): - url = "%s%s" % (self.location, relative_url) - data = None - headers = headers or {"Content-Type": "application/json"} - if payload is not None: - if isinstance(payload, bytes): - data = payload - headers["Content-Type"] = "application/octet-stream" - elif isinstance(payload, (str, unicode)): - if request_class is not None: - request_class().deserialize(payload) - data = payload - elif isinstance(payload, OpenApiBase): - data = payload.serialize() - else: - raise Exception("Type of payload provided is unknown") - response = self._session.request( - method=method, - url=url, - data=data, - verify=False, - allow_redirects=True, - # TODO: add a timeout here - headers=headers, - ) - if response.ok: - if "application/json" in response.headers["content-type"]: - # TODO: we might want to check for utf-8 charset and decode - # accordingly, but current impl works for now - response_dict = yaml.safe_load(response.text) - if return_object is None: - # if response type is not provided, return dictionary - # instead of python object - return response_dict - else: - return return_object.deserialize(response_dict) - elif ( - "application/octet-stream" in response.headers["content-type"] - ): - return io.BytesIO(response.content) - else: - # TODO: for now, return bare response object for unknown - # content types - return response - else: - self._parse_response_error(response.status_code, response.text) - - -class OpenApiStatus: - messages = {} - # logger = logging.getLogger(__module__) - - @classmethod - def warn(cls, key, object): - if cls.messages.get(key) is not None: - if cls.messages[key] in object.__warnings__: - return - # cls.logger.warning(cls.messages[key]) - logging.warning(cls.messages[key]) - object.__warnings__.append(cls.messages[key]) - # openapi_warnings.append(cls.messages[key]) - - @staticmethod - def deprecated(func_or_data): - def inner(self, *args, **kwargs): - OpenApiStatus.warn( - "{}.{}".format(type(self).__name__, func_or_data.__name__), - self, - ) - return func_or_data(self, *args, **kwargs) - - if isinstance(func_or_data, types.FunctionType): - return inner - OpenApiStatus.warn(func_or_data) - - @staticmethod - def under_review(func_or_data): - def inner(self, *args, **kwargs): - OpenApiStatus.warn( - "{}.{}".format(type(self).__name__, func_or_data.__name__), - self, - ) - return func_or_data(self, *args, **kwargs) - - if isinstance(func_or_data, types.FunctionType): - return inner - OpenApiStatus.warn(func_or_data) - - -class OpenApiBase(object): - """Base class for all generated classes""" - - JSON = "json" - YAML = "yaml" - DICT = "dict" - - __slots__ = () - - __constraints__ = {"global": []} - __validate_latter__ = {"unique": [], "constraint": []} - - def __init__(self): - pass - - def serialize(self, encoding=JSON): - """Serialize the current object according to a specified encoding. - - Args - ---- - - encoding (str[json, yaml, dict]): The object will be recursively - serialized according to the specified encoding. - The supported encodings are json, yaml and python dict. - - Returns - ------- - - obj(Union[str, dict]): A str or dict object depending on the specified - encoding. The json and yaml encodings will return a str object and - the dict encoding will return a python dict object. - """ - # TODO: restore behavior - # self._clear_globals() - if encoding == OpenApiBase.JSON: - data = json.dumps(self._encode(), indent=2, sort_keys=True) - elif encoding == OpenApiBase.YAML: - data = yaml.safe_dump(self._encode()) - elif encoding == OpenApiBase.DICT: - data = self._encode() - else: - raise NotImplementedError("Encoding %s not supported" % encoding) - # TODO: restore behavior - # self._validate_coded() - return data - - def _encode(self): - raise NotImplementedError() - - def deserialize(self, serialized_object): - """Deserialize a python object into the current object. - - If the input `serialized_object` does not match the current - openapi object an exception will be raised. - - Args - ---- - - serialized_object (Union[str, dict]): The object to deserialize. - If the serialized_object is of type str then the internal encoding - of the serialized_object must be json or yaml. - - Returns - ------- - - obj(OpenApiObject): This object with all the - serialized_object deserialized within. - """ - # TODO: restore behavior - # self._clear_globals() - if isinstance(serialized_object, (str, unicode)): - serialized_object = yaml.safe_load(serialized_object) - self._decode(serialized_object) - # TODO: restore behavior - # self._validate_coded() - return self - - def _decode(self, dict_object): - raise NotImplementedError() - - def warnings(self): - warns = list(self.__warnings__) - if "2.7" in platform.python_version().rsplit(".", 1)[0]: - del self.__warnings__[:] - else: - self.__warnings__.clear() - return warns - - -class OpenApiValidator(object): - - __slots__ = () - - _validation_errors = [] - - def __init__(self): - pass - - def _clear_errors(self): - if "2.7" in platform.python_version().rsplit(".", 1)[0]: - del self._validation_errors[:] - else: - self._validation_errors.clear() - - def validate_mac(self, mac): - if ( - mac is None - or not isinstance(mac, (str, unicode)) - or mac.count(" ") != 0 - ): - return False - try: - if len(mac) != 17: - return False - return all([0 <= int(oct, 16) <= 255 for oct in mac.split(":")]) - except Exception: - return False - - def validate_ipv4(self, ip): - if ( - ip is None - or not isinstance(ip, (str, unicode)) - or ip.count(" ") != 0 - ): - return False - if len(ip.split(".")) != 4: - return False - try: - return all([0 <= int(oct) <= 255 for oct in ip.split(".", 3)]) - except Exception: - return False - - def validate_ipv6(self, ip): - if ip is None or not isinstance(ip, (str, unicode)): - return False - ip = ip.strip() - if ( - ip.count(" ") > 0 - or ip.count(":") > 7 - or ip.count("::") > 1 - or ip.count(":::") > 0 - ): - return False - if (ip[0] == ":" and ip[:2] != "::") or ( - ip[-1] == ":" and ip[-2:] != "::" - ): - return False - if ip.count("::") == 0 and ip.count(":") != 7: - return False - if ip == "::": - return True - if ip[:2] == "::": - ip = ip.replace("::", "0:") - elif ip[-2:] == "::": - ip = ip.replace("::", ":0") - else: - ip = ip.replace("::", ":0:") - try: - return all( - [ - True - if (0 <= int(oct, 16) <= 65535) and (1 <= len(oct) <= 4) - else False - for oct in ip.split(":") - ] - ) - except Exception: - return False - - def validate_hex(self, hex): - if hex is None or not isinstance(hex, (str, unicode)): - return False - try: - int(hex, 16) - return True - except Exception: - return False - - def validate_integer(self, value, min, max, type_format=None): - if value is None or not isinstance(value, int): - return False - if min is not None and value < min: - return False - if max is not None and value > max: - return False - if type_format is not None: - if type_format == "uint32" and (value < 0 or value > 4294967295): - return False - elif type_format == "uint64" and ( - value < 0 or value > 18446744073709551615 - ): - return False - elif type_format == "int32" and ( - value < -2147483648 or value > 2147483647 - ): - return False - elif type_format == "int64" and ( - value < -9223372036854775808 or value > 9223372036854775807 - ): - return False - return True - - def validate_float(self, value): - return isinstance(value, (int, float)) - - def validate_string(self, value, min_length, max_length): - if value is None or not isinstance(value, (str, unicode)): - return False - if min_length is not None and len(value) < min_length: - return False - if max_length is not None and len(value) > max_length: - return False - return True - - def validate_bool(self, value): - return isinstance(value, bool) - - def validate_list(self, value, itemtype, min, max, min_length, max_length): - if value is None or not isinstance(value, list): - return False - v_obj = getattr(self, "validate_{}".format(itemtype), None) - if v_obj is None: - raise AttributeError( - "{} is not a valid attribute".format(itemtype) - ) - v_obj_lst = [] - for item in value: - if itemtype == "integer": - v_obj_lst.append(v_obj(item, min, max)) - elif itemtype == "string": - v_obj_lst.append(v_obj(item, min_length, max_length)) - else: - v_obj_lst.append(v_obj(item)) - return v_obj_lst - - def validate_binary(self, value): - if value is None or not isinstance(value, (str, unicode)): - return False - return all( - [ - True if int(bin) == 0 or int(bin) == 1 else False - for bin in value - ] - ) - - def types_validation( - self, - value, - type_, - err_msg, - itemtype=None, - min=None, - max=None, - min_length=None, - max_length=None, - ): - type_map = { - int: "integer", - str: "string", - float: "float", - bool: "bool", - list: "list", - "int64": "integer", - "int32": "integer", - "uint64": "integer", - "uint32": "integer", - "double": "float", - } - type_format = type_ - if type_ in type_map: - type_ = type_map[type_] - if itemtype is not None and itemtype in type_map: - itemtype = type_map[itemtype] - v_obj = getattr(self, "validate_{}".format(type_), None) - if v_obj is None: - msg = "{} is not a valid or unsupported format".format(type_) - raise TypeError(msg) - if type_ == "list": - verdict = v_obj(value, itemtype, min, max, min_length, max_length) - if all(verdict) is True: - return - err_msg = "{} \n {} are not valid".format( - err_msg, - [ - value[index] - for index, item in enumerate(verdict) - if item is False - ], - ) - verdict = False - elif type_ == "integer": - verdict = v_obj(value, min, max, type_format) - if verdict is True: - return - min_max = "" - if min is not None: - min_max = ", expected min {}".format(min) - if max is not None: - min_max = min_max + ", expected max {}".format(max) - err_msg = "{} \n got {} of type {} {}".format( - err_msg, value, type(value), min_max - ) - elif type_ == "string": - verdict = v_obj(value, min_length, max_length) - if verdict is True: - return - msg = "" - if min_length is not None: - msg = ", expected min {}".format(min_length) - if max_length is not None: - msg = msg + ", expected max {}".format(max_length) - err_msg = "{} \n got {} of type {} {}".format( - err_msg, value, type(value), msg - ) - else: - verdict = v_obj(value) - if verdict is False: - raise TypeError(err_msg) - - def _validate_unique_and_name(self, name, value, latter=False): - if self._TYPES[name].get("unique") is None or value is None: - return - if latter is True: - self.__validate_latter__["unique"].append( - (self._validate_unique_and_name, name, value) - ) - return - class_name = type(self).__name__ - unique_type = self._TYPES[name]["unique"] - if class_name not in self.__constraints__: - self.__constraints__[class_name] = dict() - if unique_type == "global": - values = self.__constraints__["global"] - else: - values = self.__constraints__[class_name] - if value in values: - self._validation_errors.append( - "{} with {} already exists".format(name, value) - ) - return - if isinstance(values, list): - values.append(value) - self.__constraints__[class_name].update({value: self}) - - def _validate_constraint(self, name, value, latter=False): - cons = self._TYPES[name].get("constraint") - if cons is None or value is None: - return - if latter is True: - self.__validate_latter__["constraint"].append( - (self._validate_constraint, name, value) - ) - return - found = False - for c in cons: - klass, prop = c.split(".") - names = self.__constraints__.get(klass, {}) - props = [obj._properties.get(prop) for obj in names.values()] - if value in props: - found = True - break - if found is not True: - self._validation_errors.append( - "{} is not a valid type of {}".format(value, "||".join(cons)) - ) - return - - def _validate_coded(self): - for item in self.__validate_latter__["unique"]: - item[0](item[1], item[2]) - for item in self.__validate_latter__["constraint"]: - item[0](item[1], item[2]) - self._clear_vars() - if len(self._validation_errors) > 0: - errors = "\n".join(self._validation_errors) - self._clear_errors() - raise Exception(errors) - - def _clear_vars(self): - if platform.python_version_tuple()[0] == "2": - self.__validate_latter__["unique"] = [] - self.__validate_latter__["constraint"] = [] - else: - self.__validate_latter__["unique"].clear() - self.__validate_latter__["constraint"].clear() - - def _clear_globals(self): - keys = list(self.__constraints__.keys()) - for k in keys: - if k == "global": - self.__constraints__["global"] = [] - continue - del self.__constraints__[k] - - -class OpenApiObject(OpenApiBase, OpenApiValidator): - """Base class for any /components/schemas object - - Every OpenApiObject is reuseable within the schema so it can - exist in multiple locations within the hierarchy. - That means it can exist in multiple locations as a - leaf, parent/choice or parent. - """ - - __slots__ = ("__warnings__", "_properties", "_parent", "_choice") - _DEFAULTS = {} - _TYPES = {} - _REQUIRED = [] - _STATUS = {} - - def __init__(self, parent=None, choice=None): - super(OpenApiObject, self).__init__() - self._parent = parent - self._choice = choice - self._properties = {} - self.__warnings__ = [] - - @property - def parent(self): - return self._parent - - def _set_choice(self, name): - if self._has_choice(name): - for enum in self._TYPES["choice"]["enum"]: - if enum in self._properties and name != enum: - self._properties.pop(enum) - self._properties["choice"] = name - - def _has_choice(self, name): - if ( - "choice" in dir(self) - and "_TYPES" in dir(self) - and "choice" in self._TYPES - and name in self._TYPES["choice"]["enum"] - ): - return True - else: - return False - - def _get_property( - self, name, default_value=None, parent=None, choice=None - ): - if name in self._properties and self._properties[name] is not None: - return self._properties[name] - if isinstance(default_value, type) is True: - self._set_choice(name) - if "_choice" in default_value.__slots__: - self._properties[name] = default_value( - parent=parent, choice=choice - ) - else: - self._properties[name] = default_value(parent=parent) - if ( - "_DEFAULTS" in dir(self._properties[name]) - and "choice" in self._properties[name]._DEFAULTS - ): - getattr( - self._properties[name], - self._properties[name]._DEFAULTS["choice"], - ) - else: - if default_value is None and name in self._DEFAULTS: - self._set_choice(name) - self._properties[name] = self._DEFAULTS[name] - else: - self._properties[name] = default_value - return self._properties[name] - - def _set_property(self, name, value, choice=None): - if name == "choice": - - if ( - self.parent is None - and value is not None - and value not in self._TYPES["choice"]["enum"] - ): - raise Exception( - "%s is not a valid choice, valid choices are %s" - % (value, ", ".join(self._TYPES["choice"]["enum"])) - ) - - self._set_choice(value) - if name in self._DEFAULTS and value is None: - self._properties[name] = self._DEFAULTS[name] - elif name in self._DEFAULTS and value is None: - self._set_choice(name) - self._properties[name] = self._DEFAULTS[name] - else: - self._set_choice(name) - self._properties[name] = value - # TODO: restore behavior - # self._validate_unique_and_name(name, value) - # self._validate_constraint(name, value) - if ( - self._parent is not None - and self._choice is not None - and value is not None - ): - self._parent._set_property("choice", self._choice) - - def _encode(self): - """Helper method for serialization""" - output = {} - self._raise_status_warnings(self, None) - self._validate_required() - for key, value in self._properties.items(): - self._validate_types(key, value) - # TODO: restore behavior - # self._validate_unique_and_name(key, value, True) - # self._validate_constraint(key, value, True) - if isinstance(value, (OpenApiObject, OpenApiIter)): - output[key] = value._encode() - if isinstance(value, OpenApiObject): - self._raise_status_warnings(key, value) - elif value is not None: - if ( - self._TYPES.get(key, {}).get("format", "") == "int64" - or self._TYPES.get(key, {}).get("format", "") == "uint64" - ): - value = str(value) - elif ( - self._TYPES.get(key, {}).get("itemformat", "") == "int64" - or self._TYPES.get(key, {}).get("itemformat", "") - == "uint64" - ): - value = [str(v) for v in value] - output[key] = value - self._raise_status_warnings(key, value) - return output - - def _decode(self, obj): - dtypes = [list, str, int, float, bool] - self._raise_status_warnings(self, None) - for property_name, property_value in obj.items(): - if property_name in self._TYPES: - ignore_warnings = False - if isinstance(property_value, dict): - child = self._get_child_class(property_name) - if ( - "choice" in child[1]._TYPES - and "_parent" in child[1].__slots__ - ): - property_value = child[1](self, property_name)._decode( - property_value - ) - elif "_parent" in child[1].__slots__: - property_value = child[1](self)._decode(property_value) - else: - property_value = child[1]()._decode(property_value) - elif ( - isinstance(property_value, list) - and property_name in self._TYPES - and self._TYPES[property_name]["type"] not in dtypes - ): - child = self._get_child_class(property_name, True) - openapi_list = child[0]() - for item in property_value: - item = child[1]()._decode(item) - openapi_list._items.append(item) - property_value = openapi_list - ignore_warnings = True - elif ( - property_name in self._DEFAULTS and property_value is None - ): - if isinstance( - self._DEFAULTS[property_name], tuple(dtypes) - ): - property_value = self._DEFAULTS[property_name] - self._set_choice(property_name) - # convert int64(will be string on wire) to to int - if ( - self._TYPES[property_name].get("format", "") == "int64" - or self._TYPES[property_name].get("format", "") == "uint64" - ): - property_value = int(property_value) - elif ( - self._TYPES[property_name].get("itemformat", "") == "int64" - or self._TYPES[property_name].get("itemformat", "") - == "uint64" - ): - property_value = [int(v) for v in property_value] - self._properties[property_name] = property_value - # TODO: restore behavior - # OpenApiStatus.warn( - # "{}.{}".format(type(self).__name__, property_name), self - # ) - if not ignore_warnings: - self._raise_status_warnings(property_name, property_value) - self._validate_types(property_name, property_value) - # TODO: restore behavior - # self._validate_unique_and_name(property_name, property_value, True) - # self._validate_constraint(property_name, property_value, True) - self._validate_required() - return self - - def _get_child_class(self, property_name, is_property_list=False): - list_class = None - class_name = self._TYPES[property_name]["type"] - module = globals().get(self.__module__) - if module is None: - module = importlib.import_module(self.__module__) - globals()[self.__module__] = module - object_class = getattr(module, class_name) - if is_property_list is True: - list_class = object_class - object_class = getattr(module, class_name[0:-4]) - return (list_class, object_class) - - def __str__(self): - return self.serialize(encoding=self.YAML) - - def __deepcopy__(self, memo): - """Creates a deep copy of the current object""" - return self.__class__().deserialize(self.serialize()) - - def __copy__(self): - """Creates a deep copy of the current object""" - return self.__deepcopy__(None) - - def __eq__(self, other): - return self.__str__() == other.__str__() - - def clone(self): - """Creates a deep copy of the current object""" - return self.__deepcopy__(None) - - def _validate_required(self): - """Validates the required properties are set - Use getattr as it will set any defaults prior to validating - """ - if getattr(self, "_REQUIRED", None) is None: - return - for name in self._REQUIRED: - if self._properties.get(name) is None: - msg = ( - "{} is a mandatory property of {}" - " and should not be set to None".format( - name, - self.__class__, - ) - ) - raise ValueError(msg) - - def _validate_types(self, property_name, property_value): - common_data_types = [list, str, int, float, bool] - if property_name not in self._TYPES: - # raise ValueError("Invalid Property {}".format(property_name)) - return - details = self._TYPES[property_name] - if ( - property_value is None - and property_name not in self._DEFAULTS - and property_name not in self._REQUIRED - ): - return - if "enum" in details and property_value not in details["enum"]: - msg = ( - "property {} shall be one of these" - " {} enum, but got {} at {}" - ) - raise TypeError( - msg.format( - property_name, - details["enum"], - property_value, - self.__class__, - ) - ) - if details["type"] in common_data_types and "format" not in details: - msg = "property {} shall be of type {} at {}".format( - property_name, details["type"], self.__class__ - ) - - itemtype = ( - details.get("itemformat") - if "itemformat" in details - else details.get("itemtype") - ) - self.types_validation( - property_value, - details["type"], - msg, - itemtype, - details.get("minimum"), - details.get("maximum"), - details.get("minLength"), - details.get("maxLength"), - ) - - if details["type"] not in common_data_types: - class_name = details["type"] - # TODO Need to revisit importlib - module = importlib.import_module(self.__module__) - object_class = getattr(module, class_name) - if not isinstance(property_value, object_class): - msg = "property {} shall be of type {}," " but got {} at {}" - raise TypeError( - msg.format( - property_name, - class_name, - type(property_value), - self.__class__, - ) - ) - if "format" in details: - msg = "Invalid {} format, expected {} at {}".format( - property_value, details["format"], self.__class__ - ) - _type = ( - details["type"] - if details["type"] is list - else details["format"] - ) - self.types_validation( - property_value, - _type, - msg, - details["format"], - details.get("minimum"), - details.get("maximum"), - details.get("minLength"), - details.get("maxLength"), - ) - - def validate(self): - self._validate_required() - for key, value in self._properties.items(): - self._validate_types(key, value) - # TODO: restore behavior - # self._validate_coded() - - def get(self, name, with_default=False): - """ - getattr for openapi object - """ - if self._properties.get(name) is not None: - return self._properties[name] - elif with_default: - # TODO need to find a way to avoid getattr - choice = ( - self._properties.get("choice") - if "choice" in dir(self) - else None - ) - getattr(self, name) - if "choice" in dir(self): - if choice is None and "choice" in self._properties: - self._properties.pop("choice") - else: - self._properties["choice"] = choice - return self._properties.pop(name) - return None - - def _raise_status_warnings(self, property_name, property_value): - if len(self._STATUS) > 0: - - if isinstance(property_name, OpenApiObject): - if "self" in self._STATUS and property_value is None: - print("[WARNING]: %s" % self._STATUS["self"]) - - return - - enum_key = "%s.%s" % (property_name, property_value) - if property_name in self._STATUS: - print("[WARNING]: %s" % self._STATUS[property_name]) - elif enum_key in self._STATUS: - print("[WARNING]: %s" % self._STATUS[enum_key]) - - -class OpenApiIter(OpenApiBase): - """Container class for OpenApiObject - - Inheriting classes contain 0..n instances of an OpenAPI components/schemas - object. - - config.flows.flow(name="1").flow(name="2").flow(name="3") - - The __getitem__ method allows getting an instance using ordinal. - - config.flows[0] - - config.flows[1:] - - config.flows[0:1] - - f1, f2, f3 = config.flows - - The __iter__ method allows for iterating across the encapsulated contents - - for flow in config.flows: - """ - - __slots__ = ("_index", "_items") - _GETITEM_RETURNS_CHOICE_OBJECT = False - - def __init__(self): - super(OpenApiIter, self).__init__() - self._index = -1 - self._items = [] - - def __len__(self): - return len(self._items) - - def _getitem(self, key): - found = None - if isinstance(key, int): - found = self._items[key] - elif isinstance(key, slice) is True: - start, stop, step = key.indices(len(self)) - sliced = self.__class__() - for i in range(start, stop, step): - sliced._items.append(self._items[i]) - return sliced - elif isinstance(key, str): - for item in self._items: - if item.name == key: - found = item - if found is None: - raise IndexError() - if ( - self._GETITEM_RETURNS_CHOICE_OBJECT is True - and found._properties.get("choice") is not None - and found._properties.get(found._properties["choice"]) is not None - ): - return found._properties[found._properties["choice"]] - return found - - def _iter(self): - self._index = -1 - return self - - def _next(self): - if self._index + 1 >= len(self._items): - raise StopIteration - else: - self._index += 1 - return self.__getitem__(self._index) - - def __getitem__(self, key): - raise NotImplementedError("This should be overridden by the generator") - - def _add(self, item): - self._items.append(item) - self._index = len(self._items) - 1 - - def remove(self, index): - del self._items[index] - self._index = len(self._items) - 1 - - def append(self, item): - """Append an item to the end of OpenApiIter - TBD: type check, raise error on mismatch - """ - self._instanceOf(item) - self._add(item) - return self - - def clear(self): - del self._items[:] - self._index = -1 - - def set(self, index, item): - self._instanceOf(item) - self._items[index] = item - return self - - def _encode(self): - return [item._encode() for item in self._items] - - def _decode(self, encoded_list): - item_class_name = self.__class__.__name__.replace("Iter", "") - module = importlib.import_module(self.__module__) - object_class = getattr(module, item_class_name) - self.clear() - for item in encoded_list: - self._add(object_class()._decode(item)) - - def __copy__(self): - raise NotImplementedError( - "Shallow copy of OpenApiIter objects is not supported" - ) - - def __deepcopy__(self, memo): - raise NotImplementedError( - "Deep copy of OpenApiIter objects is not supported" - ) - - def __str__(self): - return yaml.safe_dump(self._encode()) - - def __eq__(self, other): - return self.__str__() == other.__str__() - - def _instanceOf(self, item): - raise NotImplementedError( - "validating an OpenApiIter object is not supported" - ) - - -class PrefixConfig(OpenApiObject): - __slots__ = "_parent" - - _TYPES = { - "required_object": {"type": "EObject"}, - "optional_object": {"type": "EObject"}, - "ieee_802_1qbb": {"type": bool}, - "space_1": { - "type": int, - "format": "int32", - }, - "full_duplex_100_mb": { - "type": int, - "format": "int64", - "minimum": -10, - "maximum": 4261412864, - }, - "response": { - "type": str, - "enum": [ - "status_200", - "status_400", - "status_404", - "status_500", - ], - }, - "a": {"type": str}, - "b": { - "type": float, - "format": "float", - }, - "c": { - "type": int, - "format": "int32", - }, - "d_values": { - "type": list, - "itemtype": str, - }, - "e": {"type": "EObject"}, - "f": {"type": "FObject"}, - "g": {"type": "GObjectIter"}, - "h": {"type": bool}, - "i": { - "type": str, - "format": "binary", - }, - "j": {"type": "JObjectIter"}, - "k": {"type": "KObject"}, - "l": {"type": "LObject"}, - "list_of_string_values": { - "type": list, - "itemtype": str, - }, - "list_of_integer_values": { - "type": list, - "itemtype": int, - "itemformat": "int32", - }, - "level": {"type": "LevelOne"}, - "mandatory": {"type": "Mandate"}, - "ipv4_pattern": {"type": "Ipv4Pattern"}, - "ipv6_pattern": {"type": "Ipv6Pattern"}, - "mac_pattern": {"type": "MacPattern"}, - "integer_pattern": {"type": "IntegerPattern"}, - "checksum_pattern": {"type": "ChecksumPattern"}, - "case": {"type": "Layer1Ieee802x"}, - "m_object": {"type": "MObject"}, - "integer64": { - "type": int, - "format": "int64", - }, - "integer64_list": { - "type": list, - "itemtype": int, - "itemformat": "int64", - "minimum": -12, - "maximum": 4261412864, - }, - "header_checksum": {"type": "PatternPrefixConfigHeaderChecksum"}, - "str_len": { - "type": str, - "minLength": 3, - "maxLength": 6, - }, - "hex_slice": { - "type": list, - "itemtype": str, - "itemformat": "hex", - }, - "auto_field_test": {"type": "PatternPrefixConfigAutoFieldTest"}, - "name": {"type": str}, - "w_list": {"type": "WObjectIter"}, - "x_list": {"type": "ZObjectIter"}, - "z_object": {"type": "ZObject"}, - "y_object": {"type": "YObject"}, - "choice_object": {"type": "ChoiceObjectIter"}, - "required_choice_object": {"type": "RequiredChoiceParent"}, - "g1": {"type": "GObjectIter"}, - "g2": {"type": "GObjectIter"}, - "int32_param": { - "type": int, - "format": "int32", - }, - "int32_list_param": { - "type": list, - "itemtype": int, - "itemformat": "int32", - "minimum": -23456, - "maximum": 23456, - }, - "uint32_param": { - "type": int, - "format": "uint32", - }, - "uint32_list_param": { - "type": list, - "itemtype": int, - "itemformat": "uint32", - "minimum": 0, - "maximum": 4294967293, - }, - "uint64_param": { - "type": int, - "format": "uint64", - }, - "uint64_list_param": { - "type": list, - "itemtype": int, - "itemformat": "uint64", - }, - "auto_int32_param": { - "type": int, - "format": "int32", - "minimum": 64, - "maximum": 9000, - }, - "auto_int32_list_param": { - "type": list, - "itemtype": int, - "itemformat": "int32", - "minimum": 64, - "maximum": 9000, - }, - } # type: Dict[str, str] - - _REQUIRED = ("a", "b", "c", "required_object") # type: tuple(str) - - _DEFAULTS = { - "response": "status_200", - "h": True, - } # type: Dict[str, Union(type)] - - STATUS_200 = "status_200" # type: str - STATUS_400 = "status_400" # type: str - STATUS_404 = "status_404" # type: str - STATUS_500 = "status_500" # type: str - - A = "a" # type: str - B = "b" # type: str - C = "c" # type: str - - _STATUS = { - "space_1": "space_1 property in schema PrefixConfig is deprecated, Information TBD", - "response.status_404": "STATUS_404 enum in property response is deprecated, new code will be coming soon", - "response.status_500": "STATUS_500 enum in property response is under_review, 500 can change to other values", - "a": "a property in schema PrefixConfig is under_review, Information TBD", - "d_values": "d_values property in schema PrefixConfig is deprecated, Information TBD", - "e": "e property in schema PrefixConfig is deprecated, Information TBD", - "str_len": "str_len property in schema PrefixConfig is under_review, Information TBD", - "hex_slice": "hex_slice property in schema PrefixConfig is under_review, Information TBD", - } # type: Dict[str, Union(type)] - - def __init__( - self, - parent=None, - ieee_802_1qbb=None, - space_1=None, - full_duplex_100_mb=None, - response="status_200", - a=None, - b=None, - c=None, - d_values=None, - h=True, - i=None, - list_of_string_values=None, - list_of_integer_values=None, - integer64=None, - integer64_list=None, - str_len=None, - hex_slice=None, - name=None, - int32_param=None, - int32_list_param=None, - uint32_param=None, - uint32_list_param=None, - uint64_param=None, - uint64_list_param=None, - auto_int32_param=None, - auto_int32_list_param=None, - ): - super(PrefixConfig, self).__init__() - self._parent = parent - self._set_property("ieee_802_1qbb", ieee_802_1qbb) - self._set_property("space_1", space_1) - self._set_property("full_duplex_100_mb", full_duplex_100_mb) - self._set_property("response", response) - self._set_property("a", a) - self._set_property("b", b) - self._set_property("c", c) - self._set_property("d_values", d_values) - self._set_property("h", h) - self._set_property("i", i) - self._set_property("list_of_string_values", list_of_string_values) - self._set_property("list_of_integer_values", list_of_integer_values) - self._set_property("integer64", integer64) - self._set_property("integer64_list", integer64_list) - self._set_property("str_len", str_len) - self._set_property("hex_slice", hex_slice) - self._set_property("name", name) - self._set_property("int32_param", int32_param) - self._set_property("int32_list_param", int32_list_param) - self._set_property("uint32_param", uint32_param) - self._set_property("uint32_list_param", uint32_list_param) - self._set_property("uint64_param", uint64_param) - self._set_property("uint64_list_param", uint64_list_param) - self._set_property("auto_int32_param", auto_int32_param) - self._set_property("auto_int32_list_param", auto_int32_list_param) - - def set( - self, - ieee_802_1qbb=None, - space_1=None, - full_duplex_100_mb=None, - response=None, - a=None, - b=None, - c=None, - d_values=None, - h=None, - i=None, - list_of_string_values=None, - list_of_integer_values=None, - integer64=None, - integer64_list=None, - str_len=None, - hex_slice=None, - name=None, - int32_param=None, - int32_list_param=None, - uint32_param=None, - uint32_list_param=None, - uint64_param=None, - uint64_list_param=None, - auto_int32_param=None, - auto_int32_list_param=None, - ): - for property_name, property_value in locals().items(): - if property_name != "self" and property_value is not None: - self._set_property(property_name, property_value) - - @property - def required_object(self): - # type: () -> EObject - """required_object getter - - A required object that MUST be generated as such. - - Returns: EObject - """ - return self._get_property("required_object", EObject) - - @property - def optional_object(self): - # type: () -> EObject - """optional_object getter - - An optional object that MUST be generated as such. - - Returns: EObject - """ - return self._get_property("optional_object", EObject) - - @property - def ieee_802_1qbb(self): - # type: () -> bool - """ieee_802_1qbb getter - - TBD - - Returns: bool - """ - return self._get_property("ieee_802_1qbb") - - @ieee_802_1qbb.setter - def ieee_802_1qbb(self, value): - """ieee_802_1qbb setter - - TBD - - value: bool - """ - self._set_property("ieee_802_1qbb", value) - - @property - def space_1(self): - # type: () -> int - """space_1 getter - - Deprecated: Information TBD. Description TBD - - Returns: int - """ - return self._get_property("space_1") - - @space_1.setter - def space_1(self, value): - """space_1 setter - - Deprecated: Information TBD. Description TBD - - value: int - """ - self._set_property("space_1", value) - - @property - def full_duplex_100_mb(self): - # type: () -> int - """full_duplex_100_mb getter - - TBD - - Returns: int - """ - return self._get_property("full_duplex_100_mb") - - @full_duplex_100_mb.setter - def full_duplex_100_mb(self, value): - """full_duplex_100_mb setter - - TBD - - value: int - """ - self._set_property("full_duplex_100_mb", value) - - @property - def response(self): - # type: () -> Union[Literal["status_200"], Literal["status_400"], Literal["status_404"], Literal["status_500"]] - """response getter - - Indicate to the server what response should be returned - - Returns: Union[Literal["status_200"], Literal["status_400"], Literal["status_404"], Literal["status_500"]] - """ - return self._get_property("response") - - @response.setter - def response(self, value): - """response setter - - Indicate to the server what response should be returned - - value: Union[Literal["status_200"], Literal["status_400"], Literal["status_404"], Literal["status_500"]] - """ - self._set_property("response", value) - - @property - def a(self): - # type: () -> str - """a getter - - Under Review: Information TBD. Small single line description - - Returns: str - """ - return self._get_property("a") - - @a.setter - def a(self, value): - """a setter - - Under Review: Information TBD. Small single line description - - value: str - """ - if value is None: - raise TypeError("Cannot set required property a as None") - self._set_property("a", value) - - @property - def b(self): - # type: () -> float - """b getter - - Longer multi-line description. Second line is here. Third line - - Returns: float - """ - return self._get_property("b") - - @b.setter - def b(self, value): - """b setter - - Longer multi-line description. Second line is here. Third line - - value: float - """ - if value is None: - raise TypeError("Cannot set required property b as None") - self._set_property("b", value) - - @property - def c(self): - # type: () -> int - """c getter - - TBD - - Returns: int - """ - return self._get_property("c") - - @c.setter - def c(self, value): - """c setter - - TBD - - value: int - """ - if value is None: - raise TypeError("Cannot set required property c as None") - self._set_property("c", value) - - @property - def d_values(self): - # type: () -> List[Union[Literal["a"], Literal["b"], Literal["c"]]] - """d_values getter - - Deprecated: Information TBD. A list of enum values - - Returns: List[Union[Literal["a"], Literal["b"], Literal["c"]]] - """ - return self._get_property("d_values") - - @d_values.setter - def d_values(self, value): - """d_values setter - - Deprecated: Information TBD. A list of enum values - - value: List[Union[Literal["a"], Literal["b"], Literal["c"]]] - """ - self._set_property("d_values", value) - - @property - def e(self): - # type: () -> EObject - """e getter - - Deprecated: Information TBD. A child object - - Returns: EObject - """ - return self._get_property("e", EObject) - - @property - def f(self): - # type: () -> FObject - """f getter - - An object with only choice(s) - - Returns: FObject - """ - return self._get_property("f", FObject) - - @property - def g(self): - # type: () -> GObjectIter - """g getter - - A list of objects with choice and properties - - Returns: GObjectIter - """ - return self._get_property("g", GObjectIter, self._parent, self._choice) - - @property - def h(self): - # type: () -> bool - """h getter - - A boolean value - - Returns: bool - """ - return self._get_property("h") - - @h.setter - def h(self, value): - """h setter - - A boolean value - - value: bool - """ - self._set_property("h", value) - - @property - def i(self): - # type: () -> str - """i getter - - A byte string - - Returns: str - """ - return self._get_property("i") - - @i.setter - def i(self, value): - """i setter - - A byte string - - value: str - """ - self._set_property("i", value) - - @property - def j(self): - # type: () -> JObjectIter - """j getter - - A list of objects with only choice - - Returns: JObjectIter - """ - return self._get_property("j", JObjectIter, self._parent, self._choice) - - @property - def k(self): - # type: () -> KObject - """k getter - - A nested object with only one property which is choice object - - Returns: KObject - """ - return self._get_property("k", KObject) - - @property - def l(self): - # type: () -> LObject - """l getter - - Format validation objectFormat validation objectFormat validation object - - Returns: LObject - """ - return self._get_property("l", LObject) - - @property - def list_of_string_values(self): - # type: () -> List[str] - """list_of_string_values getter - - A list of string values - - Returns: List[str] - """ - return self._get_property("list_of_string_values") - - @list_of_string_values.setter - def list_of_string_values(self, value): - """list_of_string_values setter - - A list of string values - - value: List[str] - """ - self._set_property("list_of_string_values", value) - - @property - def list_of_integer_values(self): - # type: () -> List[int] - """list_of_integer_values getter - - A list of integer values - - Returns: List[int] - """ - return self._get_property("list_of_integer_values") - - @list_of_integer_values.setter - def list_of_integer_values(self, value): - """list_of_integer_values setter - - A list of integer values - - value: List[int] - """ - self._set_property("list_of_integer_values", value) - - @property - def level(self): - # type: () -> LevelOne - """level getter - - To Test Multi level non-primitive typesTo Test Multi level non-primitive typesTo Test Multi level non-primitive types - - Returns: LevelOne - """ - return self._get_property("level", LevelOne) - - @property - def mandatory(self): - # type: () -> Mandate - """mandatory getter - - Object to Test required ParameterObject to Test required ParameterObject to Test required Parameter - - Returns: Mandate - """ - return self._get_property("mandatory", Mandate) - - @property - def ipv4_pattern(self): - # type: () -> Ipv4Pattern - """ipv4_pattern getter - - Test ipv4 patternTest ipv4 patternTest ipv4 pattern - - Returns: Ipv4Pattern - """ - return self._get_property("ipv4_pattern", Ipv4Pattern) - - @property - def ipv6_pattern(self): - # type: () -> Ipv6Pattern - """ipv6_pattern getter - - Test ipv6 patternTest ipv6 patternTest ipv6 pattern - - Returns: Ipv6Pattern - """ - return self._get_property("ipv6_pattern", Ipv6Pattern) - - @property - def mac_pattern(self): - # type: () -> MacPattern - """mac_pattern getter - - Test mac patternTest mac patternTest mac pattern - - Returns: MacPattern - """ - return self._get_property("mac_pattern", MacPattern) - - @property - def integer_pattern(self): - # type: () -> IntegerPattern - """integer_pattern getter - - Test integer patternTest integer patternTest integer pattern - - Returns: IntegerPattern - """ - return self._get_property("integer_pattern", IntegerPattern) - - @property - def checksum_pattern(self): - # type: () -> ChecksumPattern - """checksum_pattern getter - - Test checksum patternTest checksum patternTest checksum pattern - - Returns: ChecksumPattern - """ - return self._get_property("checksum_pattern", ChecksumPattern) - - @property - def case(self): - # type: () -> Layer1Ieee802x - """case getter - - - - Returns: Layer1Ieee802x - """ - return self._get_property("case", Layer1Ieee802x) - - @property - def m_object(self): - # type: () -> MObject - """m_object getter - - Required format validation objectRequired format validation objectRequired format validation object - - Returns: MObject - """ - return self._get_property("m_object", MObject) - - @property - def integer64(self): - # type: () -> int - """integer64 getter - - int64 type - - Returns: int - """ - return self._get_property("integer64") - - @integer64.setter - def integer64(self, value): - """integer64 setter - - int64 type - - value: int - """ - self._set_property("integer64", value) - - @property - def integer64_list(self): - # type: () -> List[int] - """integer64_list getter - - int64 type list - - Returns: List[int] - """ - return self._get_property("integer64_list") - - @integer64_list.setter - def integer64_list(self, value): - """integer64_list setter - - int64 type list - - value: List[int] - """ - self._set_property("integer64_list", value) - - @property - def header_checksum(self): - # type: () -> PatternPrefixConfigHeaderChecksum - """header_checksum getter - - Header checksumHeader checksumHeader checksum - - Returns: PatternPrefixConfigHeaderChecksum - """ - return self._get_property( - "header_checksum", PatternPrefixConfigHeaderChecksum - ) - - @property - def str_len(self): - # type: () -> str - """str_len getter - - Under Review: Information TBD. string minimum&maximum Length - - Returns: str - """ - return self._get_property("str_len") - - @str_len.setter - def str_len(self, value): - """str_len setter - - Under Review: Information TBD. string minimum&maximum Length - - value: str - """ - self._set_property("str_len", value) - - @property - def hex_slice(self): - # type: () -> List[str] - """hex_slice getter - - Under Review: Information TBD. Array of Hex - - Returns: List[str] - """ - return self._get_property("hex_slice") - - @hex_slice.setter - def hex_slice(self, value): - """hex_slice setter - - Under Review: Information TBD. Array of Hex - - value: List[str] - """ - self._set_property("hex_slice", value) - - @property - def auto_field_test(self): - # type: () -> PatternPrefixConfigAutoFieldTest - """auto_field_test getter - - TBDTBDTBD - - Returns: PatternPrefixConfigAutoFieldTest - """ - return self._get_property( - "auto_field_test", PatternPrefixConfigAutoFieldTest - ) - - @property - def name(self): - # type: () -> str - """name getter - - TBD - - Returns: str - """ - return self._get_property("name") - - @name.setter - def name(self, value): - """name setter - - TBD - - value: str - """ - self._set_property("name", value) - - @property - def w_list(self): - # type: () -> WObjectIter - """w_list getter - - TBD - - Returns: WObjectIter - """ - return self._get_property( - "w_list", WObjectIter, self._parent, self._choice - ) - - @property - def x_list(self): - # type: () -> ZObjectIter - """x_list getter - - TBD - - Returns: ZObjectIter - """ - return self._get_property( - "x_list", ZObjectIter, self._parent, self._choice - ) - - @property - def z_object(self): - # type: () -> ZObject - """z_object getter - - - - Returns: ZObject - """ - return self._get_property("z_object", ZObject) - - @property - def y_object(self): - # type: () -> YObject - """y_object getter - - - - Returns: YObject - """ - return self._get_property("y_object", YObject) - - @property - def choice_object(self): - # type: () -> ChoiceObjectIter - """choice_object getter - - A list of objects with choice with and without properties - - Returns: ChoiceObjectIter - """ - return self._get_property( - "choice_object", ChoiceObjectIter, self._parent, self._choice - ) - - @property - def required_choice_object(self): - # type: () -> RequiredChoiceParent - """required_choice_object getter - - - - Returns: RequiredChoiceParent - """ - return self._get_property( - "required_choice_object", RequiredChoiceParent - ) - - @property - def g1(self): - # type: () -> GObjectIter - """g1 getter - - A list of objects with choice and properties - - Returns: GObjectIter - """ - return self._get_property( - "g1", GObjectIter, self._parent, self._choice - ) - - @property - def g2(self): - # type: () -> GObjectIter - """g2 getter - - A list of objects with choice and properties - - Returns: GObjectIter - """ - return self._get_property( - "g2", GObjectIter, self._parent, self._choice - ) - - @property - def int32_param(self): - # type: () -> int - """int32_param getter - - int32 type - - Returns: int - """ - return self._get_property("int32_param") - - @int32_param.setter - def int32_param(self, value): - """int32_param setter - - int32 type - - value: int - """ - self._set_property("int32_param", value) - - @property - def int32_list_param(self): - # type: () -> List[int] - """int32_list_param getter - - int32 type list - - Returns: List[int] - """ - return self._get_property("int32_list_param") - - @int32_list_param.setter - def int32_list_param(self, value): - """int32_list_param setter - - int32 type list - - value: List[int] - """ - self._set_property("int32_list_param", value) - - @property - def uint32_param(self): - # type: () -> int - """uint32_param getter - - uint32 type - - Returns: int - """ - return self._get_property("uint32_param") - - @uint32_param.setter - def uint32_param(self, value): - """uint32_param setter - - uint32 type - - value: int - """ - self._set_property("uint32_param", value) - - @property - def uint32_list_param(self): - # type: () -> List[int] - """uint32_list_param getter - - uint32 type list - - Returns: List[int] - """ - return self._get_property("uint32_list_param") - - @uint32_list_param.setter - def uint32_list_param(self, value): - """uint32_list_param setter - - uint32 type list - - value: List[int] - """ - self._set_property("uint32_list_param", value) - - @property - def uint64_param(self): - # type: () -> int - """uint64_param getter - - uint64 type - - Returns: int - """ - return self._get_property("uint64_param") - - @uint64_param.setter - def uint64_param(self, value): - """uint64_param setter - - uint64 type - - value: int - """ - self._set_property("uint64_param", value) - - @property - def uint64_list_param(self): - # type: () -> List[int] - """uint64_list_param getter - - uint64 type list - - Returns: List[int] - """ - return self._get_property("uint64_list_param") - - @uint64_list_param.setter - def uint64_list_param(self, value): - """uint64_list_param setter - - uint64 type list - - value: List[int] - """ - self._set_property("uint64_list_param", value) - - @property - def auto_int32_param(self): - # type: () -> int - """auto_int32_param getter - - should automatically set type to int32 - - Returns: int - """ - return self._get_property("auto_int32_param") - - @auto_int32_param.setter - def auto_int32_param(self, value): - """auto_int32_param setter - - should automatically set type to int32 - - value: int - """ - self._set_property("auto_int32_param", value) - - @property - def auto_int32_list_param(self): - # type: () -> List[int] - """auto_int32_list_param getter - - should automatically set type to []int32 - - Returns: List[int] - """ - return self._get_property("auto_int32_list_param") - - @auto_int32_list_param.setter - def auto_int32_list_param(self, value): - """auto_int32_list_param setter - - should automatically set type to []int32 - - value: List[int] - """ - self._set_property("auto_int32_list_param", value) - - -class EObject(OpenApiObject): - __slots__ = "_parent" - - _TYPES = { - "e_a": { - "type": float, - "format": "float", - }, - "e_b": { - "type": float, - "format": "double", - }, - "name": {"type": str}, - "m_param1": {"type": str}, - "m_param2": {"type": str}, - } # type: Dict[str, str] - - _REQUIRED = ("e_a", "e_b") # type: tuple(str) - - _DEFAULTS = {} # type: Dict[str, Union(type)] - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__( - self, - parent=None, - e_a=None, - e_b=None, - name=None, - m_param1=None, - m_param2=None, - ): - super(EObject, self).__init__() - self._parent = parent - self._set_property("e_a", e_a) - self._set_property("e_b", e_b) - self._set_property("name", name) - self._set_property("m_param1", m_param1) - self._set_property("m_param2", m_param2) - - def set(self, e_a=None, e_b=None, name=None, m_param1=None, m_param2=None): - for property_name, property_value in locals().items(): - if property_name != "self" and property_value is not None: - self._set_property(property_name, property_value) - - @property - def e_a(self): - # type: () -> float - """e_a getter - - TBD - - Returns: float - """ - return self._get_property("e_a") - - @e_a.setter - def e_a(self, value): - """e_a setter - - TBD - - value: float - """ - if value is None: - raise TypeError("Cannot set required property e_a as None") - self._set_property("e_a", value) - - @property - def e_b(self): - # type: () -> float - """e_b getter - - TBD - - Returns: float - """ - return self._get_property("e_b") - - @e_b.setter - def e_b(self, value): - """e_b setter - - TBD - - value: float - """ - if value is None: - raise TypeError("Cannot set required property e_b as None") - self._set_property("e_b", value) - - @property - def name(self): - # type: () -> str - """name getter - - TBD - - Returns: str - """ - return self._get_property("name") - - @name.setter - def name(self, value): - """name setter - - TBD - - value: str - """ - self._set_property("name", value) - - @property - def m_param1(self): - # type: () -> str - """m_param1 getter - - TBD - - Returns: str - """ - return self._get_property("m_param1") - - @m_param1.setter - def m_param1(self, value): - """m_param1 setter - - TBD - - value: str - """ - self._set_property("m_param1", value) - - @property - def m_param2(self): - # type: () -> str - """m_param2 getter - - TBD - - Returns: str - """ - return self._get_property("m_param2") - - @m_param2.setter - def m_param2(self, value): - """m_param2 setter - - TBD - - value: str - """ - self._set_property("m_param2", value) - - -class FObject(OpenApiObject): - __slots__ = ("_parent", "_choice") - - _TYPES = { - "choice": { - "type": str, - "enum": [ - "f_a", - "f_b", - "f_c", - ], - }, - "f_a": {"type": str}, - "f_b": { - "type": float, - "format": "double", - }, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = { - "choice": "f_a", - "f_a": "some string", - "f_b": 3.0, - } # type: Dict[str, Union(type)] - - F_A = "f_a" # type: str - F_B = "f_b" # type: str - F_C = "f_c" # type: str - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__(self, parent=None, choice=None, f_a="some string", f_b=3.0): - super(FObject, self).__init__() - self._parent = parent - self._set_property("f_a", f_a) - self._set_property("f_b", f_b) - if ( - "choice" in self._DEFAULTS - and choice is None - and self._DEFAULTS["choice"] in self._TYPES - ): - getattr(self, self._DEFAULTS["choice"]) - else: - self._set_property("choice", choice) - - def set(self, f_a=None, f_b=None): - for property_name, property_value in locals().items(): - if property_name != "self" and property_value is not None: - self._set_property(property_name, property_value) - - @property - def choice(self): - # type: () -> Union[Literal["f_a"], Literal["f_b"], Literal["f_c"]] - """choice getter - - TBD - - Returns: Union[Literal["f_a"], Literal["f_b"], Literal["f_c"]] - """ - return self._get_property("choice") - - @choice.setter - def choice(self, value): - """choice setter - - TBD - - value: Union[Literal["f_a"], Literal["f_b"], Literal["f_c"]] - """ - self._set_property("choice", value) - - @property - def f_a(self): - # type: () -> str - """f_a getter - - TBD - - Returns: str - """ - return self._get_property("f_a") - - @f_a.setter - def f_a(self, value): - """f_a setter - - TBD - - value: str - """ - self._set_property("f_a", value, "f_a") - - @property - def f_b(self): - # type: () -> float - """f_b getter - - TBD - - Returns: float - """ - return self._get_property("f_b") - - @f_b.setter - def f_b(self, value): - """f_b setter - - TBD - - value: float - """ - self._set_property("f_b", value, "f_b") - - -class GObject(OpenApiObject): - __slots__ = ("_parent", "_choice") - - _TYPES = { - "g_a": {"type": str}, - "g_b": { - "type": int, - "format": "int32", - }, - "g_c": {"type": float}, - "choice": { - "type": str, - "enum": [ - "g_d", - "g_e", - ], - }, - "g_d": {"type": str}, - "g_e": { - "type": float, - "format": "double", - }, - "g_f": { - "type": str, - "enum": [ - "a", - "b", - "c", - ], - }, - "name": {"type": str}, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = { - "g_a": "asdf", - "g_b": 6, - "g_c": 77.7, - "choice": "g_d", - "g_d": "some string", - "g_e": 3.0, - "g_f": "a", - } # type: Dict[str, Union(type)] - - G_D = "g_d" # type: str - G_E = "g_e" # type: str - - A = "a" # type: str - B = "b" # type: str - C = "c" # type: str - - _STATUS = { - "self": "GObject is deprecated, new schema Jobject to be used", - "g_c": "g_c property in schema GObject is deprecated, Information TBD", - } # type: Dict[str, Union(type)] - - def __init__( - self, - parent=None, - choice=None, - g_a="asdf", - g_b=6, - g_c=77.7, - g_d="some string", - g_e=3.0, - g_f="a", - name=None, - ): - super(GObject, self).__init__() - self._parent = parent - self._set_property("g_a", g_a) - self._set_property("g_b", g_b) - self._set_property("g_c", g_c) - self._set_property("g_d", g_d) - self._set_property("g_e", g_e) - self._set_property("g_f", g_f) - self._set_property("name", name) - if ( - "choice" in self._DEFAULTS - and choice is None - and self._DEFAULTS["choice"] in self._TYPES - ): - getattr(self, self._DEFAULTS["choice"]) - else: - self._set_property("choice", choice) - - def set( - self, - g_a=None, - g_b=None, - g_c=None, - g_d=None, - g_e=None, - g_f=None, - name=None, - ): - for property_name, property_value in locals().items(): - if property_name != "self" and property_value is not None: - self._set_property(property_name, property_value) - - @property - def g_a(self): - # type: () -> str - """g_a getter - - TBD - - Returns: str - """ - return self._get_property("g_a") - - @g_a.setter - def g_a(self, value): - """g_a setter - - TBD - - value: str - """ - self._set_property("g_a", value) - - @property - def g_b(self): - # type: () -> int - """g_b getter - - TBD - - Returns: int - """ - return self._get_property("g_b") - - @g_b.setter - def g_b(self, value): - """g_b setter - - TBD - - value: int - """ - self._set_property("g_b", value) - - @property - def g_c(self): - # type: () -> float - """g_c getter - - Deprecated: Information TBD. Description TBD - - Returns: float - """ - return self._get_property("g_c") - - @g_c.setter - def g_c(self, value): - """g_c setter - - Deprecated: Information TBD. Description TBD - - value: float - """ - self._set_property("g_c", value) - - @property - def choice(self): - # type: () -> Union[Literal["g_d"], Literal["g_e"]] - """choice getter - - TBD - - Returns: Union[Literal["g_d"], Literal["g_e"]] - """ - return self._get_property("choice") - - @choice.setter - def choice(self, value): - """choice setter - - TBD - - value: Union[Literal["g_d"], Literal["g_e"]] - """ - self._set_property("choice", value) - - @property - def g_d(self): - # type: () -> str - """g_d getter - - TBD - - Returns: str - """ - return self._get_property("g_d") - - @g_d.setter - def g_d(self, value): - """g_d setter - - TBD - - value: str - """ - self._set_property("g_d", value, "g_d") - - @property - def g_e(self): - # type: () -> float - """g_e getter - - TBD - - Returns: float - """ - return self._get_property("g_e") - - @g_e.setter - def g_e(self, value): - """g_e setter - - TBD - - value: float - """ - self._set_property("g_e", value, "g_e") - - @property - def g_f(self): - # type: () -> Union[Literal["a"], Literal["b"], Literal["c"]] - """g_f getter - - Another enum to test protbuf enum generation - - Returns: Union[Literal["a"], Literal["b"], Literal["c"]] - """ - return self._get_property("g_f") - - @g_f.setter - def g_f(self, value): - """g_f setter - - Another enum to test protbuf enum generation - - value: Union[Literal["a"], Literal["b"], Literal["c"]] - """ - self._set_property("g_f", value) - - @property - def name(self): - # type: () -> str - """name getter - - TBD - - Returns: str - """ - return self._get_property("name") - - @name.setter - def name(self, value): - """name setter - - TBD - - value: str - """ - self._set_property("name", value) - - -class GObjectIter(OpenApiIter): - __slots__ = ("_parent", "_choice") - - _GETITEM_RETURNS_CHOICE_OBJECT = False - - def __init__(self, parent=None, choice=None): - super(GObjectIter, self).__init__() - self._parent = parent - self._choice = choice - - def __getitem__(self, key): - # type: (str) -> Union[GObject] - return self._getitem(key) - - def __iter__(self): - # type: () -> GObjectIter - return self._iter() - - def __next__(self): - # type: () -> GObject - return self._next() - - def next(self): - # type: () -> GObject - return self._next() - - def _instanceOf(self, item): - if not isinstance(item, GObject): - raise Exception("Item is not an instance of GObject") - - def gobject( - self, - g_a="asdf", - g_b=6, - g_c=77.7, - g_d="some string", - g_e=3.0, - g_f="a", - name=None, - ): - # type: (str,int,float,str,float,Union[Literal["a"], Literal["b"], Literal["c"]],str) -> GObjectIter - """Factory method that creates an instance of the GObject class - - Deprecated: new schema Jobject to be used. Description TBD - - Returns: GObjectIter - """ - item = GObject( - parent=self._parent, - choice=self._choice, - g_a=g_a, - g_b=g_b, - g_c=g_c, - g_d=g_d, - g_e=g_e, - g_f=g_f, - name=name, - ) - self._add(item) - return self - - def add( - self, - g_a="asdf", - g_b=6, - g_c=77.7, - g_d="some string", - g_e=3.0, - g_f="a", - name=None, - ): - # type: (str,int,float,str,float,Union[Literal["a"], Literal["b"], Literal["c"]],str) -> GObject - """Add method that creates and returns an instance of the GObject class - - Deprecated: new schema Jobject to be used. Description TBD - - Returns: GObject - """ - item = GObject( - parent=self._parent, - choice=self._choice, - g_a=g_a, - g_b=g_b, - g_c=g_c, - g_d=g_d, - g_e=g_e, - g_f=g_f, - name=name, - ) - self._add(item) - return item - - -class JObject(OpenApiObject): - __slots__ = ("_parent", "_choice") - - _TYPES = { - "choice": { - "type": str, - "enum": [ - "j_a", - "j_b", - ], - }, - "j_a": {"type": "EObject"}, - "j_b": {"type": "FObject"}, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = { - "choice": "j_a", - } # type: Dict[str, Union(type)] - - J_A = "j_a" # type: str - J_B = "j_b" # type: str - - _STATUS = { - "choice.j_b": "J_B enum in property choice is deprecated, use j_a instead", - } # type: Dict[str, Union(type)] - - def __init__(self, parent=None, choice=None): - super(JObject, self).__init__() - self._parent = parent - if ( - "choice" in self._DEFAULTS - and choice is None - and self._DEFAULTS["choice"] in self._TYPES - ): - getattr(self, self._DEFAULTS["choice"]) - else: - self._set_property("choice", choice) - - @property - def j_a(self): - # type: () -> EObject - """Factory property that returns an instance of the EObject class - - TBD - - Returns: EObject - """ - return self._get_property("j_a", EObject, self, "j_a") - - @property - def j_b(self): - # type: () -> FObject - """Factory property that returns an instance of the FObject class - - TBD - - Returns: FObject - """ - return self._get_property("j_b", FObject, self, "j_b") - - @property - def choice(self): - # type: () -> Union[Literal["j_a"], Literal["j_b"]] - """choice getter - - TBD - - Returns: Union[Literal["j_a"], Literal["j_b"]] - """ - return self._get_property("choice") - - @choice.setter - def choice(self, value): - """choice setter - - TBD - - value: Union[Literal["j_a"], Literal["j_b"]] - """ - self._set_property("choice", value) - - -class JObjectIter(OpenApiIter): - __slots__ = ("_parent", "_choice") - - _GETITEM_RETURNS_CHOICE_OBJECT = True - - def __init__(self, parent=None, choice=None): - super(JObjectIter, self).__init__() - self._parent = parent - self._choice = choice - - def __getitem__(self, key): - # type: (str) -> Union[EObject, FObject, JObject] - return self._getitem(key) - - def __iter__(self): - # type: () -> JObjectIter - return self._iter() - - def __next__(self): - # type: () -> JObject - return self._next() - - def next(self): - # type: () -> JObject - return self._next() - - def _instanceOf(self, item): - if not isinstance(item, JObject): - raise Exception("Item is not an instance of JObject") - - def jobject(self): - # type: () -> JObjectIter - """Factory method that creates an instance of the JObject class - - TBD - - Returns: JObjectIter - """ - item = JObject(parent=self._parent, choice=self._choice) - self._add(item) - return self - - def add(self): - # type: () -> JObject - """Add method that creates and returns an instance of the JObject class - - TBD - - Returns: JObject - """ - item = JObject(parent=self._parent, choice=self._choice) - self._add(item) - return item - - def j_a(self, e_a=None, e_b=None, name=None, m_param1=None, m_param2=None): - # type: (float,float,str,str,str) -> JObjectIter - """Factory method that creates an instance of the EObject class - - TBD - - Returns: JObjectIter - """ - item = JObject() - item.j_a - item.choice = "j_a" - self._add(item) - return self - - def j_b(self, f_a="some string", f_b=3.0): - # type: (str,float) -> JObjectIter - """Factory method that creates an instance of the FObject class - - TBD - - Returns: JObjectIter - """ - item = JObject() - item.j_b - item.choice = "j_b" - self._add(item) - return self - - -class KObject(OpenApiObject): - __slots__ = "_parent" - - _TYPES = { - "e_object": {"type": "EObject"}, - "f_object": {"type": "FObject"}, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = {} # type: Dict[str, Union(type)] - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__(self, parent=None): - super(KObject, self).__init__() - self._parent = parent - - @property - def e_object(self): - # type: () -> EObject - """e_object getter - - TBDTBDTBD - - Returns: EObject - """ - return self._get_property("e_object", EObject) - - @property - def f_object(self): - # type: () -> FObject - """f_object getter - - TBDTBDTBD - - Returns: FObject - """ - return self._get_property("f_object", FObject) - - -class LObject(OpenApiObject): - __slots__ = "_parent" - - _TYPES = { - "string_param": {"type": str}, - "integer": { - "type": int, - "format": "int32", - "minimum": -10, - "maximum": 90, - }, - "float": { - "type": float, - "format": "float", - }, - "double": { - "type": float, - "format": "double", - }, - "mac": { - "type": str, - "format": "mac", - }, - "ipv4": { - "type": str, - "format": "ipv4", - }, - "ipv6": { - "type": str, - "format": "ipv6", - }, - "hex": { - "type": str, - "format": "hex", - }, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = {} # type: Dict[str, Union(type)] - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__( - self, - parent=None, - string_param=None, - integer=None, - float=None, - double=None, - mac=None, - ipv4=None, - ipv6=None, - hex=None, - ): - super(LObject, self).__init__() - self._parent = parent - self._set_property("string_param", string_param) - self._set_property("integer", integer) - self._set_property("float", float) - self._set_property("double", double) - self._set_property("mac", mac) - self._set_property("ipv4", ipv4) - self._set_property("ipv6", ipv6) - self._set_property("hex", hex) - - def set( - self, - string_param=None, - integer=None, - float=None, - double=None, - mac=None, - ipv4=None, - ipv6=None, - hex=None, - ): - for property_name, property_value in locals().items(): - if property_name != "self" and property_value is not None: - self._set_property(property_name, property_value) - - @property - def string_param(self): - # type: () -> str - """string_param getter - - TBD - - Returns: str - """ - return self._get_property("string_param") - - @string_param.setter - def string_param(self, value): - """string_param setter - - TBD - - value: str - """ - self._set_property("string_param", value) - - @property - def integer(self): - # type: () -> int - """integer getter - - TBD - - Returns: int - """ - return self._get_property("integer") - - @integer.setter - def integer(self, value): - """integer setter - - TBD - - value: int - """ - self._set_property("integer", value) - - @property - def float(self): - # type: () -> float - """float getter - - TBD - - Returns: float - """ - return self._get_property("float") - - @float.setter - def float(self, value): - """float setter - - TBD - - value: float - """ - self._set_property("float", value) - - @property - def double(self): - # type: () -> float - """double getter - - TBD - - Returns: float - """ - return self._get_property("double") - - @double.setter - def double(self, value): - """double setter - - TBD - - value: float - """ - self._set_property("double", value) - - @property - def mac(self): - # type: () -> str - """mac getter - - TBD - - Returns: str - """ - return self._get_property("mac") - - @mac.setter - def mac(self, value): - """mac setter - - TBD - - value: str - """ - self._set_property("mac", value) - - @property - def ipv4(self): - # type: () -> str - """ipv4 getter - - TBD - - Returns: str - """ - return self._get_property("ipv4") - - @ipv4.setter - def ipv4(self, value): - """ipv4 setter - - TBD - - value: str - """ - self._set_property("ipv4", value) - - @property - def ipv6(self): - # type: () -> str - """ipv6 getter - - TBD - - Returns: str - """ - return self._get_property("ipv6") - - @ipv6.setter - def ipv6(self, value): - """ipv6 setter - - TBD - - value: str - """ - self._set_property("ipv6", value) - - @property - def hex(self): - # type: () -> str - """hex getter - - TBD - - Returns: str - """ - return self._get_property("hex") - - @hex.setter - def hex(self, value): - """hex setter - - TBD - - value: str - """ - self._set_property("hex", value) - - -class LevelOne(OpenApiObject): - __slots__ = "_parent" - - _TYPES = { - "l1_p1": {"type": "LevelTwo"}, - "l1_p2": {"type": "LevelFour"}, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = {} # type: Dict[str, Union(type)] - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__(self, parent=None): - super(LevelOne, self).__init__() - self._parent = parent - - @property - def l1_p1(self): - # type: () -> LevelTwo - """l1_p1 getter - - Test Level 2Test Level 2Test Level 2Level one - - Returns: LevelTwo - """ - return self._get_property("l1_p1", LevelTwo) - - @property - def l1_p2(self): - # type: () -> LevelFour - """l1_p2 getter - - Test level4 redundant junk testingTest level4 redundant junk testingTest level4 redundant junk testingLevel one to four - - Returns: LevelFour - """ - return self._get_property("l1_p2", LevelFour) - - -class LevelTwo(OpenApiObject): - __slots__ = "_parent" - - _TYPES = { - "l2_p1": {"type": "LevelThree"}, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = {} # type: Dict[str, Union(type)] - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__(self, parent=None): - super(LevelTwo, self).__init__() - self._parent = parent - - @property - def l2_p1(self): - # type: () -> LevelThree - """l2_p1 getter - - Test Level3Test Level3Test Level3Level Two - - Returns: LevelThree - """ - return self._get_property("l2_p1", LevelThree) - - -class LevelThree(OpenApiObject): - __slots__ = "_parent" - - _TYPES = { - "l3_p1": {"type": str}, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = {} # type: Dict[str, Union(type)] - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__(self, parent=None, l3_p1=None): - super(LevelThree, self).__init__() - self._parent = parent - self._set_property("l3_p1", l3_p1) - - def set(self, l3_p1=None): - for property_name, property_value in locals().items(): - if property_name != "self" and property_value is not None: - self._set_property(property_name, property_value) - - @property - def l3_p1(self): - # type: () -> str - """l3_p1 getter - - Set value at Level 3 - - Returns: str - """ - return self._get_property("l3_p1") - - @l3_p1.setter - def l3_p1(self, value): - """l3_p1 setter - - Set value at Level 3 - - value: str - """ - self._set_property("l3_p1", value) - - -class LevelFour(OpenApiObject): - __slots__ = "_parent" - - _TYPES = { - "l4_p1": {"type": "LevelOne"}, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = {} # type: Dict[str, Union(type)] - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__(self, parent=None): - super(LevelFour, self).__init__() - self._parent = parent - - @property - def l4_p1(self): - # type: () -> LevelOne - """l4_p1 getter - - To Test Multi level non-primitive typesTo Test Multi level non-primitive typesTo Test Multi level non-primitive typesloop over level 1 - - Returns: LevelOne - """ - return self._get_property("l4_p1", LevelOne) - - -class Mandate(OpenApiObject): - __slots__ = "_parent" - - _TYPES = { - "required_param": {"type": str}, - } # type: Dict[str, str] - - _REQUIRED = ("required_param",) # type: tuple(str) - - _DEFAULTS = {} # type: Dict[str, Union(type)] - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__(self, parent=None, required_param=None): - super(Mandate, self).__init__() - self._parent = parent - self._set_property("required_param", required_param) - - def set(self, required_param=None): - for property_name, property_value in locals().items(): - if property_name != "self" and property_value is not None: - self._set_property(property_name, property_value) - - @property - def required_param(self): - # type: () -> str - """required_param getter - - TBD - - Returns: str - """ - return self._get_property("required_param") - - @required_param.setter - def required_param(self, value): - """required_param setter - - TBD - - value: str - """ - if value is None: - raise TypeError( - "Cannot set required property required_param as None" - ) - self._set_property("required_param", value) - - -class Ipv4Pattern(OpenApiObject): - __slots__ = "_parent" - - _TYPES = { - "ipv4": {"type": "PatternIpv4PatternIpv4"}, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = {} # type: Dict[str, Union(type)] - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__(self, parent=None): - super(Ipv4Pattern, self).__init__() - self._parent = parent - - @property - def ipv4(self): - # type: () -> PatternIpv4PatternIpv4 - """ipv4 getter - - TBDTBDTBD - - Returns: PatternIpv4PatternIpv4 - """ - return self._get_property("ipv4", PatternIpv4PatternIpv4) - - -class PatternIpv4PatternIpv4(OpenApiObject): - __slots__ = ("_parent", "_choice") - - _TYPES = { - "choice": { - "type": str, - "enum": [ - "value", - "values", - "increment", - "decrement", - ], - }, - "value": { - "type": str, - "format": "ipv4", - }, - "values": { - "type": list, - "itemtype": str, - "itemformat": "ipv4", - }, - "increment": {"type": "PatternIpv4PatternIpv4Counter"}, - "decrement": {"type": "PatternIpv4PatternIpv4Counter"}, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = { - "choice": "value", - "value": "0.0.0.0", - "values": ["0.0.0.0"], - } # type: Dict[str, Union(type)] - - VALUE = "value" # type: str - VALUES = "values" # type: str - INCREMENT = "increment" # type: str - DECREMENT = "decrement" # type: str - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__( - self, parent=None, choice=None, value="0.0.0.0", values=["0.0.0.0"] - ): - super(PatternIpv4PatternIpv4, self).__init__() - self._parent = parent - self._set_property("value", value) - self._set_property("values", values) - if ( - "choice" in self._DEFAULTS - and choice is None - and self._DEFAULTS["choice"] in self._TYPES - ): - getattr(self, self._DEFAULTS["choice"]) - else: - self._set_property("choice", choice) - - def set(self, value=None, values=None): - for property_name, property_value in locals().items(): - if property_name != "self" and property_value is not None: - self._set_property(property_name, property_value) - - @property - def increment(self): - # type: () -> PatternIpv4PatternIpv4Counter - """Factory property that returns an instance of the PatternIpv4PatternIpv4Counter class - - ipv4 counter pattern - - Returns: PatternIpv4PatternIpv4Counter - """ - return self._get_property( - "increment", PatternIpv4PatternIpv4Counter, self, "increment" - ) - - @property - def decrement(self): - # type: () -> PatternIpv4PatternIpv4Counter - """Factory property that returns an instance of the PatternIpv4PatternIpv4Counter class - - ipv4 counter pattern - - Returns: PatternIpv4PatternIpv4Counter - """ - return self._get_property( - "decrement", PatternIpv4PatternIpv4Counter, self, "decrement" - ) - - @property - def choice(self): - # type: () -> Union[Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] - """choice getter - - TBD - - Returns: Union[Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] - """ - return self._get_property("choice") - - @choice.setter - def choice(self, value): - """choice setter - - TBD - - value: Union[Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] - """ - self._set_property("choice", value) - - @property - def value(self): - # type: () -> str - """value getter - - TBD - - Returns: str - """ - return self._get_property("value") - - @value.setter - def value(self, value): - """value setter - - TBD - - value: str - """ - self._set_property("value", value, "value") - - @property - def values(self): - # type: () -> List[str] - """values getter - - TBD - - Returns: List[str] - """ - return self._get_property("values") - - @values.setter - def values(self, value): - """values setter - - TBD - - value: List[str] - """ - self._set_property("values", value, "values") - - -class PatternIpv4PatternIpv4Counter(OpenApiObject): - __slots__ = "_parent" - - _TYPES = { - "start": { - "type": str, - "format": "ipv4", - }, - "step": { - "type": str, - "format": "ipv4", - }, - "count": { - "type": int, - "format": "uint32", - }, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = { - "start": "0.0.0.0", - "step": "0.0.0.1", - "count": 1, - } # type: Dict[str, Union(type)] - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__(self, parent=None, start="0.0.0.0", step="0.0.0.1", count=1): - super(PatternIpv4PatternIpv4Counter, self).__init__() - self._parent = parent - self._set_property("start", start) - self._set_property("step", step) - self._set_property("count", count) - - def set(self, start=None, step=None, count=None): - for property_name, property_value in locals().items(): - if property_name != "self" and property_value is not None: - self._set_property(property_name, property_value) - - @property - def start(self): - # type: () -> str - """start getter - - TBD - - Returns: str - """ - return self._get_property("start") - - @start.setter - def start(self, value): - """start setter - - TBD - - value: str - """ - self._set_property("start", value) - - @property - def step(self): - # type: () -> str - """step getter - - TBD - - Returns: str - """ - return self._get_property("step") - - @step.setter - def step(self, value): - """step setter - - TBD - - value: str - """ - self._set_property("step", value) - - @property - def count(self): - # type: () -> int - """count getter - - TBD - - Returns: int - """ - return self._get_property("count") - - @count.setter - def count(self, value): - """count setter - - TBD - - value: int - """ - self._set_property("count", value) - - -class Ipv6Pattern(OpenApiObject): - __slots__ = "_parent" - - _TYPES = { - "ipv6": {"type": "PatternIpv6PatternIpv6"}, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = {} # type: Dict[str, Union(type)] - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__(self, parent=None): - super(Ipv6Pattern, self).__init__() - self._parent = parent - - @property - def ipv6(self): - # type: () -> PatternIpv6PatternIpv6 - """ipv6 getter - - TBDTBDTBD - - Returns: PatternIpv6PatternIpv6 - """ - return self._get_property("ipv6", PatternIpv6PatternIpv6) - - -class PatternIpv6PatternIpv6(OpenApiObject): - __slots__ = ("_parent", "_choice") - - _TYPES = { - "choice": { - "type": str, - "enum": [ - "value", - "values", - "increment", - "decrement", - ], - }, - "value": { - "type": str, - "format": "ipv6", - }, - "values": { - "type": list, - "itemtype": str, - "itemformat": "ipv6", - }, - "increment": {"type": "PatternIpv6PatternIpv6Counter"}, - "decrement": {"type": "PatternIpv6PatternIpv6Counter"}, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = { - "choice": "value", - "value": "::", - "values": ["::"], - } # type: Dict[str, Union(type)] - - VALUE = "value" # type: str - VALUES = "values" # type: str - INCREMENT = "increment" # type: str - DECREMENT = "decrement" # type: str - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__(self, parent=None, choice=None, value="::", values=["::"]): - super(PatternIpv6PatternIpv6, self).__init__() - self._parent = parent - self._set_property("value", value) - self._set_property("values", values) - if ( - "choice" in self._DEFAULTS - and choice is None - and self._DEFAULTS["choice"] in self._TYPES - ): - getattr(self, self._DEFAULTS["choice"]) - else: - self._set_property("choice", choice) - - def set(self, value=None, values=None): - for property_name, property_value in locals().items(): - if property_name != "self" and property_value is not None: - self._set_property(property_name, property_value) - - @property - def increment(self): - # type: () -> PatternIpv6PatternIpv6Counter - """Factory property that returns an instance of the PatternIpv6PatternIpv6Counter class - - ipv6 counter pattern - - Returns: PatternIpv6PatternIpv6Counter - """ - return self._get_property( - "increment", PatternIpv6PatternIpv6Counter, self, "increment" - ) - - @property - def decrement(self): - # type: () -> PatternIpv6PatternIpv6Counter - """Factory property that returns an instance of the PatternIpv6PatternIpv6Counter class - - ipv6 counter pattern - - Returns: PatternIpv6PatternIpv6Counter - """ - return self._get_property( - "decrement", PatternIpv6PatternIpv6Counter, self, "decrement" - ) - - @property - def choice(self): - # type: () -> Union[Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] - """choice getter - - TBD - - Returns: Union[Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] - """ - return self._get_property("choice") - - @choice.setter - def choice(self, value): - """choice setter - - TBD - - value: Union[Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] - """ - self._set_property("choice", value) - - @property - def value(self): - # type: () -> str - """value getter - - TBD - - Returns: str - """ - return self._get_property("value") - - @value.setter - def value(self, value): - """value setter - - TBD - - value: str - """ - self._set_property("value", value, "value") - - @property - def values(self): - # type: () -> List[str] - """values getter - - TBD - - Returns: List[str] - """ - return self._get_property("values") - - @values.setter - def values(self, value): - """values setter - - TBD - - value: List[str] - """ - self._set_property("values", value, "values") - - -class PatternIpv6PatternIpv6Counter(OpenApiObject): - __slots__ = "_parent" - - _TYPES = { - "start": { - "type": str, - "format": "ipv6", - }, - "step": { - "type": str, - "format": "ipv6", - }, - "count": { - "type": int, - "format": "uint32", - }, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = { - "start": "::", - "step": "::1", - "count": 1, - } # type: Dict[str, Union(type)] - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__(self, parent=None, start="::", step="::1", count=1): - super(PatternIpv6PatternIpv6Counter, self).__init__() - self._parent = parent - self._set_property("start", start) - self._set_property("step", step) - self._set_property("count", count) - - def set(self, start=None, step=None, count=None): - for property_name, property_value in locals().items(): - if property_name != "self" and property_value is not None: - self._set_property(property_name, property_value) - - @property - def start(self): - # type: () -> str - """start getter - - TBD - - Returns: str - """ - return self._get_property("start") - - @start.setter - def start(self, value): - """start setter - - TBD - - value: str - """ - self._set_property("start", value) - - @property - def step(self): - # type: () -> str - """step getter - - TBD - - Returns: str - """ - return self._get_property("step") - - @step.setter - def step(self, value): - """step setter - - TBD - - value: str - """ - self._set_property("step", value) - - @property - def count(self): - # type: () -> int - """count getter - - TBD - - Returns: int - """ - return self._get_property("count") - - @count.setter - def count(self, value): - """count setter - - TBD - - value: int - """ - self._set_property("count", value) - - -class MacPattern(OpenApiObject): - __slots__ = "_parent" - - _TYPES = { - "mac": {"type": "PatternMacPatternMac"}, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = {} # type: Dict[str, Union(type)] - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__(self, parent=None): - super(MacPattern, self).__init__() - self._parent = parent - - @property - def mac(self): - # type: () -> PatternMacPatternMac - """mac getter - - TBDTBDTBD - - Returns: PatternMacPatternMac - """ - return self._get_property("mac", PatternMacPatternMac) - - -class PatternMacPatternMac(OpenApiObject): - __slots__ = ("_parent", "_choice") - - _TYPES = { - "choice": { - "type": str, - "enum": [ - "value", - "values", - "auto", - "increment", - "decrement", - ], - }, - "value": { - "type": str, - "format": "mac", - }, - "values": { - "type": list, - "itemtype": str, - "itemformat": "mac", - }, - "auto": { - "type": str, - "format": "mac", - }, - "increment": {"type": "PatternMacPatternMacCounter"}, - "decrement": {"type": "PatternMacPatternMacCounter"}, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = { - "choice": "auto", - "value": "00:00:00:00:00:00", - "values": ["00:00:00:00:00:00"], - "auto": "00:00:00:00:00:00", - } # type: Dict[str, Union(type)] - - VALUE = "value" # type: str - VALUES = "values" # type: str - AUTO = "auto" # type: str - INCREMENT = "increment" # type: str - DECREMENT = "decrement" # type: str - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__( - self, - parent=None, - choice=None, - value="00:00:00:00:00:00", - values=["00:00:00:00:00:00"], - auto="00:00:00:00:00:00", - ): - super(PatternMacPatternMac, self).__init__() - self._parent = parent - self._set_property("value", value) - self._set_property("values", values) - self._set_property("auto", auto) - if ( - "choice" in self._DEFAULTS - and choice is None - and self._DEFAULTS["choice"] in self._TYPES - ): - getattr(self, self._DEFAULTS["choice"]) - else: - self._set_property("choice", choice) - - def set(self, value=None, values=None, auto=None): - for property_name, property_value in locals().items(): - if property_name != "self" and property_value is not None: - self._set_property(property_name, property_value) - - @property - def increment(self): - # type: () -> PatternMacPatternMacCounter - """Factory property that returns an instance of the PatternMacPatternMacCounter class - - mac counter pattern - - Returns: PatternMacPatternMacCounter - """ - return self._get_property( - "increment", PatternMacPatternMacCounter, self, "increment" - ) - - @property - def decrement(self): - # type: () -> PatternMacPatternMacCounter - """Factory property that returns an instance of the PatternMacPatternMacCounter class - - mac counter pattern - - Returns: PatternMacPatternMacCounter - """ - return self._get_property( - "decrement", PatternMacPatternMacCounter, self, "decrement" - ) - - @property - def choice(self): - # type: () -> Union[Literal["auto"], Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] - """choice getter - - TBD - - Returns: Union[Literal["auto"], Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] - """ - return self._get_property("choice") - - @choice.setter - def choice(self, value): - """choice setter - - TBD - - value: Union[Literal["auto"], Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] - """ - self._set_property("choice", value) - - @property - def value(self): - # type: () -> str - """value getter - - TBD - - Returns: str - """ - return self._get_property("value") - - @value.setter - def value(self, value): - """value setter - - TBD - - value: str - """ - self._set_property("value", value, "value") - - @property - def values(self): - # type: () -> List[str] - """values getter - - TBD - - Returns: List[str] - """ - return self._get_property("values") - - @values.setter - def values(self, value): - """values setter - - TBD - - value: List[str] - """ - self._set_property("values", value, "values") - - @property - def auto(self): - # type: () -> str - """auto getter - - The OTG implementation can provide system generated. value for this property. If the OTG is unable to generate value. the default value must be used. - - Returns: str - """ - return self._get_property("auto") - - -class PatternMacPatternMacCounter(OpenApiObject): - __slots__ = "_parent" - - _TYPES = { - "start": { - "type": str, - "format": "mac", - }, - "step": { - "type": str, - "format": "mac", - }, - "count": { - "type": int, - "format": "uint32", - }, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = { - "start": "00:00:00:00:00:00", - "step": "00:00:00:00:00:01", - "count": 1, - } # type: Dict[str, Union(type)] - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__( - self, - parent=None, - start="00:00:00:00:00:00", - step="00:00:00:00:00:01", - count=1, - ): - super(PatternMacPatternMacCounter, self).__init__() - self._parent = parent - self._set_property("start", start) - self._set_property("step", step) - self._set_property("count", count) - - def set(self, start=None, step=None, count=None): - for property_name, property_value in locals().items(): - if property_name != "self" and property_value is not None: - self._set_property(property_name, property_value) - - @property - def start(self): - # type: () -> str - """start getter - - TBD - - Returns: str - """ - return self._get_property("start") - - @start.setter - def start(self, value): - """start setter - - TBD - - value: str - """ - self._set_property("start", value) - - @property - def step(self): - # type: () -> str - """step getter - - TBD - - Returns: str - """ - return self._get_property("step") - - @step.setter - def step(self, value): - """step setter - - TBD - - value: str - """ - self._set_property("step", value) - - @property - def count(self): - # type: () -> int - """count getter - - TBD - - Returns: int - """ - return self._get_property("count") - - @count.setter - def count(self, value): - """count setter - - TBD - - value: int - """ - self._set_property("count", value) - - -class IntegerPattern(OpenApiObject): - __slots__ = "_parent" - - _TYPES = { - "integer": {"type": "PatternIntegerPatternInteger"}, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = {} # type: Dict[str, Union(type)] - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__(self, parent=None): - super(IntegerPattern, self).__init__() - self._parent = parent - - @property - def integer(self): - # type: () -> PatternIntegerPatternInteger - """integer getter - - TBDTBDTBD - - Returns: PatternIntegerPatternInteger - """ - return self._get_property("integer", PatternIntegerPatternInteger) - - -class PatternIntegerPatternInteger(OpenApiObject): - __slots__ = ("_parent", "_choice") - - _TYPES = { - "choice": { - "type": str, - "enum": [ - "value", - "values", - "increment", - "decrement", - ], - }, - "value": { - "type": int, - "format": "uint32", - "maximum": 255, - }, - "values": { - "type": list, - "itemtype": int, - "itemformat": "uint32", - "maximum": 255, - }, - "increment": {"type": "PatternIntegerPatternIntegerCounter"}, - "decrement": {"type": "PatternIntegerPatternIntegerCounter"}, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = { - "choice": "value", - "value": 0, - "values": [0], - } # type: Dict[str, Union(type)] - - VALUE = "value" # type: str - VALUES = "values" # type: str - INCREMENT = "increment" # type: str - DECREMENT = "decrement" # type: str - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__(self, parent=None, choice=None, value=0, values=[0]): - super(PatternIntegerPatternInteger, self).__init__() - self._parent = parent - self._set_property("value", value) - self._set_property("values", values) - if ( - "choice" in self._DEFAULTS - and choice is None - and self._DEFAULTS["choice"] in self._TYPES - ): - getattr(self, self._DEFAULTS["choice"]) - else: - self._set_property("choice", choice) - - def set(self, value=None, values=None): - for property_name, property_value in locals().items(): - if property_name != "self" and property_value is not None: - self._set_property(property_name, property_value) - - @property - def increment(self): - # type: () -> PatternIntegerPatternIntegerCounter - """Factory property that returns an instance of the PatternIntegerPatternIntegerCounter class - - integer counter pattern - - Returns: PatternIntegerPatternIntegerCounter - """ - return self._get_property( - "increment", PatternIntegerPatternIntegerCounter, self, "increment" - ) - - @property - def decrement(self): - # type: () -> PatternIntegerPatternIntegerCounter - """Factory property that returns an instance of the PatternIntegerPatternIntegerCounter class - - integer counter pattern - - Returns: PatternIntegerPatternIntegerCounter - """ - return self._get_property( - "decrement", PatternIntegerPatternIntegerCounter, self, "decrement" - ) - - @property - def choice(self): - # type: () -> Union[Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] - """choice getter - - TBD - - Returns: Union[Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] - """ - return self._get_property("choice") - - @choice.setter - def choice(self, value): - """choice setter - - TBD - - value: Union[Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] - """ - self._set_property("choice", value) - - @property - def value(self): - # type: () -> int - """value getter - - TBD - - Returns: int - """ - return self._get_property("value") - - @value.setter - def value(self, value): - """value setter - - TBD - - value: int - """ - self._set_property("value", value, "value") - - @property - def values(self): - # type: () -> List[int] - """values getter - - TBD - - Returns: List[int] - """ - return self._get_property("values") - - @values.setter - def values(self, value): - """values setter - - TBD - - value: List[int] - """ - self._set_property("values", value, "values") - - -class PatternIntegerPatternIntegerCounter(OpenApiObject): - __slots__ = "_parent" - - _TYPES = { - "start": { - "type": int, - "format": "uint32", - "maximum": 255, - }, - "step": { - "type": int, - "format": "uint32", - "maximum": 255, - }, - "count": { - "type": int, - "format": "uint32", - "maximum": 255, - }, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = { - "start": 0, - "step": 1, - "count": 1, - } # type: Dict[str, Union(type)] - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__(self, parent=None, start=0, step=1, count=1): - super(PatternIntegerPatternIntegerCounter, self).__init__() - self._parent = parent - self._set_property("start", start) - self._set_property("step", step) - self._set_property("count", count) - - def set(self, start=None, step=None, count=None): - for property_name, property_value in locals().items(): - if property_name != "self" and property_value is not None: - self._set_property(property_name, property_value) - - @property - def start(self): - # type: () -> int - """start getter - - TBD - - Returns: int - """ - return self._get_property("start") - - @start.setter - def start(self, value): - """start setter - - TBD - - value: int - """ - self._set_property("start", value) - - @property - def step(self): - # type: () -> int - """step getter - - TBD - - Returns: int - """ - return self._get_property("step") - - @step.setter - def step(self, value): - """step setter - - TBD - - value: int - """ - self._set_property("step", value) - - @property - def count(self): - # type: () -> int - """count getter - - TBD - - Returns: int - """ - return self._get_property("count") - - @count.setter - def count(self, value): - """count setter - - TBD - - value: int - """ - self._set_property("count", value) - - -class ChecksumPattern(OpenApiObject): - __slots__ = "_parent" - - _TYPES = { - "checksum": {"type": "PatternChecksumPatternChecksum"}, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = {} # type: Dict[str, Union(type)] - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__(self, parent=None): - super(ChecksumPattern, self).__init__() - self._parent = parent - - @property - def checksum(self): - # type: () -> PatternChecksumPatternChecksum - """checksum getter - - TBDTBDTBD - - Returns: PatternChecksumPatternChecksum - """ - return self._get_property("checksum", PatternChecksumPatternChecksum) - - -class PatternChecksumPatternChecksum(OpenApiObject): - __slots__ = ("_parent", "_choice") - - _TYPES = { - "choice": { - "type": str, - "enum": [ - "generated", - "custom", - ], - }, - "generated": { - "type": str, - "enum": [ - "good", - "bad", - ], - }, - "custom": { - "type": int, - "format": "uint32", - "maximum": 255, - }, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = { - "choice": "generated", - "generated": "good", - } # type: Dict[str, Union(type)] - - GENERATED = "generated" # type: str - CUSTOM = "custom" # type: str - - GOOD = "good" # type: str - BAD = "bad" # type: str - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__( - self, parent=None, choice=None, generated="good", custom=None - ): - super(PatternChecksumPatternChecksum, self).__init__() - self._parent = parent - self._set_property("generated", generated) - self._set_property("custom", custom) - if ( - "choice" in self._DEFAULTS - and choice is None - and self._DEFAULTS["choice"] in self._TYPES - ): - getattr(self, self._DEFAULTS["choice"]) - else: - self._set_property("choice", choice) - - def set(self, generated=None, custom=None): - for property_name, property_value in locals().items(): - if property_name != "self" and property_value is not None: - self._set_property(property_name, property_value) - - @property - def choice(self): - # type: () -> Union[Literal["custom"], Literal["generated"]] - """choice getter - - The type of checksum - - Returns: Union[Literal["custom"], Literal["generated"]] - """ - return self._get_property("choice") - - @choice.setter - def choice(self, value): - """choice setter - - The type of checksum - - value: Union[Literal["custom"], Literal["generated"]] - """ - self._set_property("choice", value) - - @property - def generated(self): - # type: () -> Union[Literal["bad"], Literal["good"]] - """generated getter - - A system generated checksum value - - Returns: Union[Literal["bad"], Literal["good"]] - """ - return self._get_property("generated") - - @generated.setter - def generated(self, value): - """generated setter - - A system generated checksum value - - value: Union[Literal["bad"], Literal["good"]] - """ - self._set_property("generated", value, "generated") - - @property - def custom(self): - # type: () -> int - """custom getter - - A custom checksum value - - Returns: int - """ - return self._get_property("custom") - - @custom.setter - def custom(self, value): - """custom setter - - A custom checksum value - - value: int - """ - self._set_property("custom", value, "custom") - - -class Layer1Ieee802x(OpenApiObject): - __slots__ = "_parent" - - _TYPES = { - "flow_control": {"type": bool}, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = {} # type: Dict[str, Union(type)] - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__(self, parent=None, flow_control=None): - super(Layer1Ieee802x, self).__init__() - self._parent = parent - self._set_property("flow_control", flow_control) - - def set(self, flow_control=None): - for property_name, property_value in locals().items(): - if property_name != "self" and property_value is not None: - self._set_property(property_name, property_value) - - @property - def flow_control(self): - # type: () -> bool - """flow_control getter - - TBD - - Returns: bool - """ - return self._get_property("flow_control") - - @flow_control.setter - def flow_control(self, value): - """flow_control setter - - TBD - - value: bool - """ - self._set_property("flow_control", value) - - -class MObject(OpenApiObject): - __slots__ = "_parent" - - _TYPES = { - "string_param": {"type": str}, - "integer": { - "type": int, - "format": "int32", - "minimum": -10, - "maximum": 90, - }, - "float": { - "type": float, - "format": "float", - }, - "double": { - "type": float, - "format": "double", - }, - "mac": { - "type": str, - "format": "mac", - }, - "ipv4": { - "type": str, - "format": "ipv4", - }, - "ipv6": { - "type": str, - "format": "ipv6", - }, - "hex": { - "type": str, - "format": "hex", - }, - } # type: Dict[str, str] - - _REQUIRED = ( - "string_param", - "integer", - "float", - "double", - "mac", - "ipv4", - "ipv6", - "hex", - ) # type: tuple(str) - - _DEFAULTS = {} # type: Dict[str, Union(type)] - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__( - self, - parent=None, - string_param=None, - integer=None, - float=None, - double=None, - mac=None, - ipv4=None, - ipv6=None, - hex=None, - ): - super(MObject, self).__init__() - self._parent = parent - self._set_property("string_param", string_param) - self._set_property("integer", integer) - self._set_property("float", float) - self._set_property("double", double) - self._set_property("mac", mac) - self._set_property("ipv4", ipv4) - self._set_property("ipv6", ipv6) - self._set_property("hex", hex) - - def set( - self, - string_param=None, - integer=None, - float=None, - double=None, - mac=None, - ipv4=None, - ipv6=None, - hex=None, - ): - for property_name, property_value in locals().items(): - if property_name != "self" and property_value is not None: - self._set_property(property_name, property_value) - - @property - def string_param(self): - # type: () -> str - """string_param getter - - TBD - - Returns: str - """ - return self._get_property("string_param") - - @string_param.setter - def string_param(self, value): - """string_param setter - - TBD - - value: str - """ - if value is None: - raise TypeError( - "Cannot set required property string_param as None" - ) - self._set_property("string_param", value) - - @property - def integer(self): - # type: () -> int - """integer getter - - TBD - - Returns: int - """ - return self._get_property("integer") - - @integer.setter - def integer(self, value): - """integer setter - - TBD - - value: int - """ - if value is None: - raise TypeError("Cannot set required property integer as None") - self._set_property("integer", value) - - @property - def float(self): - # type: () -> float - """float getter - - TBD - - Returns: float - """ - return self._get_property("float") - - @float.setter - def float(self, value): - """float setter - - TBD - - value: float - """ - if value is None: - raise TypeError("Cannot set required property float as None") - self._set_property("float", value) - - @property - def double(self): - # type: () -> float - """double getter - - TBD - - Returns: float - """ - return self._get_property("double") - - @double.setter - def double(self, value): - """double setter - - TBD - - value: float - """ - if value is None: - raise TypeError("Cannot set required property double as None") - self._set_property("double", value) - - @property - def mac(self): - # type: () -> str - """mac getter - - TBD - - Returns: str - """ - return self._get_property("mac") - - @mac.setter - def mac(self, value): - """mac setter - - TBD - - value: str - """ - if value is None: - raise TypeError("Cannot set required property mac as None") - self._set_property("mac", value) - - @property - def ipv4(self): - # type: () -> str - """ipv4 getter - - TBD - - Returns: str - """ - return self._get_property("ipv4") - - @ipv4.setter - def ipv4(self, value): - """ipv4 setter - - TBD - - value: str - """ - if value is None: - raise TypeError("Cannot set required property ipv4 as None") - self._set_property("ipv4", value) - - @property - def ipv6(self): - # type: () -> str - """ipv6 getter - - TBD - - Returns: str - """ - return self._get_property("ipv6") - - @ipv6.setter - def ipv6(self, value): - """ipv6 setter - - TBD - - value: str - """ - if value is None: - raise TypeError("Cannot set required property ipv6 as None") - self._set_property("ipv6", value) - - @property - def hex(self): - # type: () -> str - """hex getter - - TBD - - Returns: str - """ - return self._get_property("hex") - - @hex.setter - def hex(self, value): - """hex setter - - TBD - - value: str - """ - if value is None: - raise TypeError("Cannot set required property hex as None") - self._set_property("hex", value) - - -class PatternPrefixConfigHeaderChecksum(OpenApiObject): - __slots__ = ("_parent", "_choice") - - _TYPES = { - "choice": { - "type": str, - "enum": [ - "generated", - "custom", - ], - }, - "generated": { - "type": str, - "enum": [ - "good", - "bad", - ], - }, - "custom": { - "type": int, - "format": "uint32", - "maximum": 65535, - }, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = { - "choice": "generated", - "generated": "good", - } # type: Dict[str, Union(type)] - - GENERATED = "generated" # type: str - CUSTOM = "custom" # type: str - - GOOD = "good" # type: str - BAD = "bad" # type: str - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__( - self, parent=None, choice=None, generated="good", custom=None - ): - super(PatternPrefixConfigHeaderChecksum, self).__init__() - self._parent = parent - self._set_property("generated", generated) - self._set_property("custom", custom) - if ( - "choice" in self._DEFAULTS - and choice is None - and self._DEFAULTS["choice"] in self._TYPES - ): - getattr(self, self._DEFAULTS["choice"]) - else: - self._set_property("choice", choice) - - def set(self, generated=None, custom=None): - for property_name, property_value in locals().items(): - if property_name != "self" and property_value is not None: - self._set_property(property_name, property_value) - - @property - def choice(self): - # type: () -> Union[Literal["custom"], Literal["generated"]] - """choice getter - - The type of checksum - - Returns: Union[Literal["custom"], Literal["generated"]] - """ - return self._get_property("choice") - - @choice.setter - def choice(self, value): - """choice setter - - The type of checksum - - value: Union[Literal["custom"], Literal["generated"]] - """ - self._set_property("choice", value) - - @property - def generated(self): - # type: () -> Union[Literal["bad"], Literal["good"]] - """generated getter - - A system generated checksum value - - Returns: Union[Literal["bad"], Literal["good"]] - """ - return self._get_property("generated") - - @generated.setter - def generated(self, value): - """generated setter - - A system generated checksum value - - value: Union[Literal["bad"], Literal["good"]] - """ - self._set_property("generated", value, "generated") - - @property - def custom(self): - # type: () -> int - """custom getter - - A custom checksum value - - Returns: int - """ - return self._get_property("custom") - - @custom.setter - def custom(self, value): - """custom setter - - A custom checksum value - - value: int - """ - self._set_property("custom", value, "custom") - - -class PatternPrefixConfigAutoFieldTest(OpenApiObject): - __slots__ = ("_parent", "_choice") - - _TYPES = { - "choice": { - "type": str, - "enum": [ - "value", - "values", - "auto", - "increment", - "decrement", - ], - }, - "value": { - "type": int, - "format": "uint32", - "maximum": 255, - }, - "values": { - "type": list, - "itemtype": int, - "itemformat": "uint32", - "maximum": 255, - }, - "auto": { - "type": int, - "format": "uint32", - "maximum": 255, - }, - "increment": {"type": "PatternPrefixConfigAutoFieldTestCounter"}, - "decrement": {"type": "PatternPrefixConfigAutoFieldTestCounter"}, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = { - "choice": "auto", - "value": 0, - "values": [0], - "auto": 0, - } # type: Dict[str, Union(type)] - - VALUE = "value" # type: str - VALUES = "values" # type: str - AUTO = "auto" # type: str - INCREMENT = "increment" # type: str - DECREMENT = "decrement" # type: str - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__(self, parent=None, choice=None, value=0, values=[0], auto=0): - super(PatternPrefixConfigAutoFieldTest, self).__init__() - self._parent = parent - self._set_property("value", value) - self._set_property("values", values) - self._set_property("auto", auto) - if ( - "choice" in self._DEFAULTS - and choice is None - and self._DEFAULTS["choice"] in self._TYPES - ): - getattr(self, self._DEFAULTS["choice"]) - else: - self._set_property("choice", choice) - - def set(self, value=None, values=None, auto=None): - for property_name, property_value in locals().items(): - if property_name != "self" and property_value is not None: - self._set_property(property_name, property_value) - - @property - def increment(self): - # type: () -> PatternPrefixConfigAutoFieldTestCounter - """Factory property that returns an instance of the PatternPrefixConfigAutoFieldTestCounter class - - integer counter pattern - - Returns: PatternPrefixConfigAutoFieldTestCounter - """ - return self._get_property( - "increment", - PatternPrefixConfigAutoFieldTestCounter, - self, - "increment", - ) - - @property - def decrement(self): - # type: () -> PatternPrefixConfigAutoFieldTestCounter - """Factory property that returns an instance of the PatternPrefixConfigAutoFieldTestCounter class - - integer counter pattern - - Returns: PatternPrefixConfigAutoFieldTestCounter - """ - return self._get_property( - "decrement", - PatternPrefixConfigAutoFieldTestCounter, - self, - "decrement", - ) - - @property - def choice(self): - # type: () -> Union[Literal["auto"], Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] - """choice getter - - TBD - - Returns: Union[Literal["auto"], Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] - """ - return self._get_property("choice") - - @choice.setter - def choice(self, value): - """choice setter - - TBD - - value: Union[Literal["auto"], Literal["decrement"], Literal["increment"], Literal["value"], Literal["values"]] - """ - self._set_property("choice", value) - - @property - def value(self): - # type: () -> int - """value getter - - TBD - - Returns: int - """ - return self._get_property("value") - - @value.setter - def value(self, value): - """value setter - - TBD - - value: int - """ - self._set_property("value", value, "value") - - @property - def values(self): - # type: () -> List[int] - """values getter - - TBD - - Returns: List[int] - """ - return self._get_property("values") - - @values.setter - def values(self, value): - """values setter - - TBD - - value: List[int] - """ - self._set_property("values", value, "values") - - @property - def auto(self): - # type: () -> int - """auto getter - - The OTG implementation can provide system generated. value for this property. If the OTG is unable to generate value. the default value must be used. - - Returns: int - """ - return self._get_property("auto") - - -class PatternPrefixConfigAutoFieldTestCounter(OpenApiObject): - __slots__ = "_parent" - - _TYPES = { - "start": { - "type": int, - "format": "uint32", - "maximum": 255, - }, - "step": { - "type": int, - "format": "uint32", - "maximum": 255, - }, - "count": { - "type": int, - "format": "uint32", - "maximum": 255, - }, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = { - "start": 0, - "step": 1, - "count": 1, - } # type: Dict[str, Union(type)] - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__(self, parent=None, start=0, step=1, count=1): - super(PatternPrefixConfigAutoFieldTestCounter, self).__init__() - self._parent = parent - self._set_property("start", start) - self._set_property("step", step) - self._set_property("count", count) - - def set(self, start=None, step=None, count=None): - for property_name, property_value in locals().items(): - if property_name != "self" and property_value is not None: - self._set_property(property_name, property_value) - - @property - def start(self): - # type: () -> int - """start getter - - TBD - - Returns: int - """ - return self._get_property("start") - - @start.setter - def start(self, value): - """start setter - - TBD - - value: int - """ - self._set_property("start", value) - - @property - def step(self): - # type: () -> int - """step getter - - TBD - - Returns: int - """ - return self._get_property("step") - - @step.setter - def step(self, value): - """step setter - - TBD - - value: int - """ - self._set_property("step", value) - - @property - def count(self): - # type: () -> int - """count getter - - TBD - - Returns: int - """ - return self._get_property("count") - - @count.setter - def count(self, value): - """count setter - - TBD - - value: int - """ - self._set_property("count", value) - - -class WObject(OpenApiObject): - __slots__ = "_parent" - - _TYPES = { - "w_name": {"type": str}, - } # type: Dict[str, str] - - _REQUIRED = ("w_name",) # type: tuple(str) - - _DEFAULTS = {} # type: Dict[str, Union(type)] - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__(self, parent=None, w_name=None): - super(WObject, self).__init__() - self._parent = parent - self._set_property("w_name", w_name) - - def set(self, w_name=None): - for property_name, property_value in locals().items(): - if property_name != "self" and property_value is not None: - self._set_property(property_name, property_value) - - @property - def w_name(self): - # type: () -> str - """w_name getter - - TBD - - Returns: str - """ - return self._get_property("w_name") - - @w_name.setter - def w_name(self, value): - """w_name setter - - TBD - - value: str - """ - if value is None: - raise TypeError("Cannot set required property w_name as None") - self._set_property("w_name", value) - - -class WObjectIter(OpenApiIter): - __slots__ = ("_parent", "_choice") - - _GETITEM_RETURNS_CHOICE_OBJECT = False - - def __init__(self, parent=None, choice=None): - super(WObjectIter, self).__init__() - self._parent = parent - self._choice = choice - - def __getitem__(self, key): - # type: (str) -> Union[WObject] - return self._getitem(key) - - def __iter__(self): - # type: () -> WObjectIter - return self._iter() - - def __next__(self): - # type: () -> WObject - return self._next() - - def next(self): - # type: () -> WObject - return self._next() - - def _instanceOf(self, item): - if not isinstance(item, WObject): - raise Exception("Item is not an instance of WObject") - - def wobject(self, w_name=None): - # type: (str) -> WObjectIter - """Factory method that creates an instance of the WObject class - - TBD - - Returns: WObjectIter - """ - item = WObject(parent=self._parent, w_name=w_name) - self._add(item) - return self - - def add(self, w_name=None): - # type: (str) -> WObject - """Add method that creates and returns an instance of the WObject class - - TBD - - Returns: WObject - """ - item = WObject(parent=self._parent, w_name=w_name) - self._add(item) - return item - - -class ZObject(OpenApiObject): - __slots__ = "_parent" - - _TYPES = { - "name": {"type": str}, - } # type: Dict[str, str] - - _REQUIRED = ("name",) # type: tuple(str) - - _DEFAULTS = {} # type: Dict[str, Union(type)] - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__(self, parent=None, name=None): - super(ZObject, self).__init__() - self._parent = parent - self._set_property("name", name) - - def set(self, name=None): - for property_name, property_value in locals().items(): - if property_name != "self" and property_value is not None: - self._set_property(property_name, property_value) - - @property - def name(self): - # type: () -> str - """name getter - - TBD - - Returns: str - """ - return self._get_property("name") - - @name.setter - def name(self, value): - """name setter - - TBD - - value: str - """ - if value is None: - raise TypeError("Cannot set required property name as None") - self._set_property("name", value) - - -class ZObjectIter(OpenApiIter): - __slots__ = ("_parent", "_choice") - - _GETITEM_RETURNS_CHOICE_OBJECT = False - - def __init__(self, parent=None, choice=None): - super(ZObjectIter, self).__init__() - self._parent = parent - self._choice = choice - - def __getitem__(self, key): - # type: (str) -> Union[ZObject] - return self._getitem(key) - - def __iter__(self): - # type: () -> ZObjectIter - return self._iter() - - def __next__(self): - # type: () -> ZObject - return self._next() - - def next(self): - # type: () -> ZObject - return self._next() - - def _instanceOf(self, item): - if not isinstance(item, ZObject): - raise Exception("Item is not an instance of ZObject") - - def zobject(self, name=None): - # type: (str) -> ZObjectIter - """Factory method that creates an instance of the ZObject class - - TBD - - Returns: ZObjectIter - """ - item = ZObject(parent=self._parent, name=name) - self._add(item) - return self - - def add(self, name=None): - # type: (str) -> ZObject - """Add method that creates and returns an instance of the ZObject class - - TBD - - Returns: ZObject - """ - item = ZObject(parent=self._parent, name=name) - self._add(item) - return item - - -class YObject(OpenApiObject): - __slots__ = "_parent" - - _TYPES = { - "y_name": {"type": str}, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = {} # type: Dict[str, Union(type)] - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__(self, parent=None, y_name=None): - super(YObject, self).__init__() - self._parent = parent - self._set_property("y_name", y_name) - - def set(self, y_name=None): - for property_name, property_value in locals().items(): - if property_name != "self" and property_value is not None: - self._set_property(property_name, property_value) - - @property - def y_name(self): - # type: () -> str - """y_name getter - - TBD. x-constraint:. /components/schemas/ZObject/properties/name. /components/schemas/WObject/properties/w_name. - - Returns: str - """ - return self._get_property("y_name") - - @y_name.setter - def y_name(self, value): - """y_name setter - - TBD. x-constraint:. /components/schemas/ZObject/properties/name. /components/schemas/WObject/properties/w_name. - - value: str - """ - self._set_property("y_name", value) - - -class ChoiceObject(OpenApiObject): - __slots__ = ("_parent", "_choice") - - _TYPES = { - "choice": { - "type": str, - "enum": [ - "e_obj", - "f_obj", - "no_obj", - ], - }, - "e_obj": {"type": "EObject"}, - "f_obj": {"type": "FObject"}, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = { - "choice": "no_obj", - } # type: Dict[str, Union(type)] - - E_OBJ = "e_obj" # type: str - F_OBJ = "f_obj" # type: str - NO_OBJ = "no_obj" # type: str - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__(self, parent=None, choice=None): - super(ChoiceObject, self).__init__() - self._parent = parent - if ( - "choice" in self._DEFAULTS - and choice is None - and self._DEFAULTS["choice"] in self._TYPES - ): - getattr(self, self._DEFAULTS["choice"]) - else: - self._set_property("choice", choice) - - @property - def e_obj(self): - # type: () -> EObject - """Factory property that returns an instance of the EObject class - - TBD - - Returns: EObject - """ - return self._get_property("e_obj", EObject, self, "e_obj") - - @property - def f_obj(self): - # type: () -> FObject - """Factory property that returns an instance of the FObject class - - TBD - - Returns: FObject - """ - return self._get_property("f_obj", FObject, self, "f_obj") - - @property - def choice(self): - # type: () -> Union[Literal["e_obj"], Literal["f_obj"], Literal["no_obj"]] - """choice getter - - TBD - - Returns: Union[Literal["e_obj"], Literal["f_obj"], Literal["no_obj"]] - """ - return self._get_property("choice") - - @choice.setter - def choice(self, value): - """choice setter - - TBD - - value: Union[Literal["e_obj"], Literal["f_obj"], Literal["no_obj"]] - """ - self._set_property("choice", value) - - -class ChoiceObjectIter(OpenApiIter): - __slots__ = ("_parent", "_choice") - - _GETITEM_RETURNS_CHOICE_OBJECT = True - - def __init__(self, parent=None, choice=None): - super(ChoiceObjectIter, self).__init__() - self._parent = parent - self._choice = choice - - def __getitem__(self, key): - # type: (str) -> Union[ChoiceObject, EObject, FObject] - return self._getitem(key) - - def __iter__(self): - # type: () -> ChoiceObjectIter - return self._iter() - - def __next__(self): - # type: () -> ChoiceObject - return self._next() - - def next(self): - # type: () -> ChoiceObject - return self._next() - - def _instanceOf(self, item): - if not isinstance(item, ChoiceObject): - raise Exception("Item is not an instance of ChoiceObject") - - def choiceobject(self): - # type: () -> ChoiceObjectIter - """Factory method that creates an instance of the ChoiceObject class - - TBD - - Returns: ChoiceObjectIter - """ - item = ChoiceObject(parent=self._parent, choice=self._choice) - self._add(item) - return self - - def add(self): - # type: () -> ChoiceObject - """Add method that creates and returns an instance of the ChoiceObject class - - TBD - - Returns: ChoiceObject - """ - item = ChoiceObject(parent=self._parent, choice=self._choice) - self._add(item) - return item - - def e_obj( - self, e_a=None, e_b=None, name=None, m_param1=None, m_param2=None - ): - # type: (float,float,str,str,str) -> ChoiceObjectIter - """Factory method that creates an instance of the EObject class - - TBD - - Returns: ChoiceObjectIter - """ - item = ChoiceObject() - item.e_obj - item.choice = "e_obj" - self._add(item) - return self - - def f_obj(self, f_a="some string", f_b=3.0): - # type: (str,float) -> ChoiceObjectIter - """Factory method that creates an instance of the FObject class - - TBD - - Returns: ChoiceObjectIter - """ - item = ChoiceObject() - item.f_obj - item.choice = "f_obj" - self._add(item) - return self - - -class RequiredChoiceParent(OpenApiObject): - __slots__ = ("_parent", "_choice") - - _TYPES = { - "choice": { - "type": str, - "enum": [ - "intermediate_obj", - "no_obj", - ], - }, - "intermediate_obj": {"type": "RequiredChoiceIntermediate"}, - } # type: Dict[str, str] - - _REQUIRED = ("choice",) # type: tuple(str) - - _DEFAULTS = {} # type: Dict[str, Union(type)] - - INTERMEDIATE_OBJ = "intermediate_obj" # type: str - NO_OBJ = "no_obj" # type: str - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__(self, parent=None, choice=None): - super(RequiredChoiceParent, self).__init__() - self._parent = parent - if ( - "choice" in self._DEFAULTS - and choice is None - and self._DEFAULTS["choice"] in self._TYPES - ): - getattr(self, self._DEFAULTS["choice"]) - else: - self._set_property("choice", choice) - - @property - def intermediate_obj(self): - # type: () -> RequiredChoiceIntermediate - """Factory property that returns an instance of the RequiredChoiceIntermediate class - - TBD - - Returns: RequiredChoiceIntermediate - """ - return self._get_property( - "intermediate_obj", - RequiredChoiceIntermediate, - self, - "intermediate_obj", - ) - - @property - def choice(self): - # type: () -> Union[Literal["intermediate_obj"], Literal["no_obj"]] - """choice getter - - TBD - - Returns: Union[Literal["intermediate_obj"], Literal["no_obj"]] - """ - return self._get_property("choice") - - @choice.setter - def choice(self, value): - """choice setter - - TBD - - value: Union[Literal["intermediate_obj"], Literal["no_obj"]] - """ - if value is None: - raise TypeError("Cannot set required property choice as None") - self._set_property("choice", value) - - -class RequiredChoiceIntermediate(OpenApiObject): - __slots__ = ("_parent", "_choice") - - _TYPES = { - "choice": { - "type": str, - "enum": [ - "f_a", - "leaf", - ], - }, - "f_a": {"type": str}, - "leaf": {"type": "RequiredChoiceIntermeLeaf"}, - } # type: Dict[str, str] - - _REQUIRED = ("choice",) # type: tuple(str) - - _DEFAULTS = { - "f_a": "some string", - } # type: Dict[str, Union(type)] - - F_A = "f_a" # type: str - LEAF = "leaf" # type: str - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__(self, parent=None, choice=None, f_a="some string"): - super(RequiredChoiceIntermediate, self).__init__() - self._parent = parent - self._set_property("f_a", f_a) - if ( - "choice" in self._DEFAULTS - and choice is None - and self._DEFAULTS["choice"] in self._TYPES - ): - getattr(self, self._DEFAULTS["choice"]) - else: - self._set_property("choice", choice) - - def set(self, f_a=None): - for property_name, property_value in locals().items(): - if property_name != "self" and property_value is not None: - self._set_property(property_name, property_value) - - @property - def leaf(self): - # type: () -> RequiredChoiceIntermeLeaf - """Factory property that returns an instance of the RequiredChoiceIntermeLeaf class - - TBD - - Returns: RequiredChoiceIntermeLeaf - """ - return self._get_property( - "leaf", RequiredChoiceIntermeLeaf, self, "leaf" - ) - - @property - def choice(self): - # type: () -> Union[Literal["f_a"], Literal["leaf"]] - """choice getter - - TBD - - Returns: Union[Literal["f_a"], Literal["leaf"]] - """ - return self._get_property("choice") - - @choice.setter - def choice(self, value): - """choice setter - - TBD - - value: Union[Literal["f_a"], Literal["leaf"]] - """ - if value is None: - raise TypeError("Cannot set required property choice as None") - self._set_property("choice", value) - - @property - def f_a(self): - # type: () -> str - """f_a getter - - TBD - - Returns: str - """ - return self._get_property("f_a") - - @f_a.setter - def f_a(self, value): - """f_a setter - - TBD - - value: str - """ - self._set_property("f_a", value, "f_a") - - -class RequiredChoiceIntermeLeaf(OpenApiObject): - __slots__ = "_parent" - - _TYPES = { - "name": {"type": str}, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = {} # type: Dict[str, Union(type)] - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__(self, parent=None, name=None): - super(RequiredChoiceIntermeLeaf, self).__init__() - self._parent = parent - self._set_property("name", name) - - def set(self, name=None): - for property_name, property_value in locals().items(): - if property_name != "self" and property_value is not None: - self._set_property(property_name, property_value) - - @property - def name(self): - # type: () -> str - """name getter - - TBD - - Returns: str - """ - return self._get_property("name") - - @name.setter - def name(self, value): - """name setter - - TBD - - value: str - """ - self._set_property("name", value) - - -class Error(OpenApiObject): - __slots__ = "_parent" - - _TYPES = { - "code": { - "type": int, - "format": "int32", - }, - "kind": { - "type": str, - "enum": [ - "transport", - "validation", - "internal", - ], - }, - "errors": { - "type": list, - "itemtype": str, - }, - } # type: Dict[str, str] - - _REQUIRED = ("code", "errors") # type: tuple(str) - - _DEFAULTS = {} # type: Dict[str, Union(type)] - - TRANSPORT = "transport" # type: str - VALIDATION = "validation" # type: str - INTERNAL = "internal" # type: str - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__(self, parent=None, code=None, kind=None, errors=None): - super(Error, self).__init__() - self._parent = parent - self._set_property("code", code) - self._set_property("kind", kind) - self._set_property("errors", errors) - - def set(self, code=None, kind=None, errors=None): - for property_name, property_value in locals().items(): - if property_name != "self" and property_value is not None: - self._set_property(property_name, property_value) - - @property - def code(self): - # type: () -> int - """code getter - - Numeric status code based on underlying transport being used. - - Returns: int - """ - return self._get_property("code") - - @code.setter - def code(self, value): - """code setter - - Numeric status code based on underlying transport being used. - - value: int - """ - if value is None: - raise TypeError("Cannot set required property code as None") - self._set_property("code", value) - - @property - def kind(self): - # type: () -> Union[Literal["internal"], Literal["transport"], Literal["validation"]] - """kind getter - - Kind of error message. - - Returns: Union[Literal["internal"], Literal["transport"], Literal["validation"]] - """ - return self._get_property("kind") - - @kind.setter - def kind(self, value): - """kind setter - - Kind of error message. - - value: Union[Literal["internal"], Literal["transport"], Literal["validation"]] - """ - self._set_property("kind", value) - - @property - def errors(self): - # type: () -> List[str] - """errors getter - - List of error messages generated while serving API request. - - Returns: List[str] - """ - return self._get_property("errors") - - @errors.setter - def errors(self, value): - """errors setter - - List of error messages generated while serving API request. - - value: List[str] - """ - if value is None: - raise TypeError("Cannot set required property errors as None") - self._set_property("errors", value) - - -class UpdateConfig(OpenApiObject): - __slots__ = "_parent" - - _TYPES = { - "g": {"type": "GObjectIter"}, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = {} # type: Dict[str, Union(type)] - - _STATUS = { - "self": "UpdateConfig is under_review, the whole schema is being reviewed", - } # type: Dict[str, Union(type)] - - def __init__(self, parent=None): - super(UpdateConfig, self).__init__() - self._parent = parent - - @property - def g(self): - # type: () -> GObjectIter - """g getter - - A list of objects with choice and properties - - Returns: GObjectIter - """ - return self._get_property("g", GObjectIter, self._parent, self._choice) - - -class MetricsRequest(OpenApiObject): - __slots__ = ("_parent", "_choice") - - _TYPES = { - "choice": { - "type": str, - "enum": [ - "port", - "flow", - ], - }, - "port": {"type": str}, - "flow": {"type": str}, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = { - "choice": "port", - } # type: Dict[str, Union(type)] - - PORT = "port" # type: str - FLOW = "flow" # type: str - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__(self, parent=None, choice=None, port=None, flow=None): - super(MetricsRequest, self).__init__() - self._parent = parent - self._set_property("port", port) - self._set_property("flow", flow) - if ( - "choice" in self._DEFAULTS - and choice is None - and self._DEFAULTS["choice"] in self._TYPES - ): - getattr(self, self._DEFAULTS["choice"]) - else: - self._set_property("choice", choice) - - def set(self, port=None, flow=None): - for property_name, property_value in locals().items(): - if property_name != "self" and property_value is not None: - self._set_property(property_name, property_value) - - @property - def choice(self): - # type: () -> Union[Literal["flow"], Literal["port"]] - """choice getter - - TBD - - Returns: Union[Literal["flow"], Literal["port"]] - """ - return self._get_property("choice") - - @choice.setter - def choice(self, value): - """choice setter - - TBD - - value: Union[Literal["flow"], Literal["port"]] - """ - self._set_property("choice", value) - - @property - def port(self): - # type: () -> str - """port getter - - TBD - - Returns: str - """ - return self._get_property("port") - - @port.setter - def port(self, value): - """port setter - - TBD - - value: str - """ - self._set_property("port", value, "port") - - @property - def flow(self): - # type: () -> str - """flow getter - - TBD - - Returns: str - """ - return self._get_property("flow") - - @flow.setter - def flow(self, value): - """flow setter - - TBD - - value: str - """ - self._set_property("flow", value, "flow") - - -class Metrics(OpenApiObject): - __slots__ = ("_parent", "_choice") - - _TYPES = { - "choice": { - "type": str, - "enum": [ - "ports", - "flows", - ], - }, - "ports": {"type": "PortMetricIter"}, - "flows": {"type": "FlowMetricIter"}, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = { - "choice": "ports", - } # type: Dict[str, Union(type)] - - PORTS = "ports" # type: str - FLOWS = "flows" # type: str - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__(self, parent=None, choice=None): - super(Metrics, self).__init__() - self._parent = parent - if ( - "choice" in self._DEFAULTS - and choice is None - and self._DEFAULTS["choice"] in self._TYPES - ): - getattr(self, self._DEFAULTS["choice"]) - else: - self._set_property("choice", choice) - - @property - def choice(self): - # type: () -> Union[Literal["flows"], Literal["ports"]] - """choice getter - - TBD - - Returns: Union[Literal["flows"], Literal["ports"]] - """ - return self._get_property("choice") - - @choice.setter - def choice(self, value): - """choice setter - - TBD - - value: Union[Literal["flows"], Literal["ports"]] - """ - self._set_property("choice", value) - - @property - def ports(self): - # type: () -> PortMetricIter - """ports getter - - TBD - - Returns: PortMetricIter - """ - return self._get_property( - "ports", PortMetricIter, self._parent, self._choice - ) - - @property - def flows(self): - # type: () -> FlowMetricIter - """flows getter - - TBD - - Returns: FlowMetricIter - """ - return self._get_property( - "flows", FlowMetricIter, self._parent, self._choice - ) - - -class PortMetric(OpenApiObject): - __slots__ = "_parent" - - _TYPES = { - "name": {"type": str}, - "tx_frames": { - "type": float, - "format": "double", - }, - "rx_frames": { - "type": float, - "format": "double", - }, - } # type: Dict[str, str] - - _REQUIRED = ("name", "tx_frames", "rx_frames") # type: tuple(str) - - _DEFAULTS = {} # type: Dict[str, Union(type)] - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__(self, parent=None, name=None, tx_frames=None, rx_frames=None): - super(PortMetric, self).__init__() - self._parent = parent - self._set_property("name", name) - self._set_property("tx_frames", tx_frames) - self._set_property("rx_frames", rx_frames) - - def set(self, name=None, tx_frames=None, rx_frames=None): - for property_name, property_value in locals().items(): - if property_name != "self" and property_value is not None: - self._set_property(property_name, property_value) - - @property - def name(self): - # type: () -> str - """name getter - - TBD - - Returns: str - """ - return self._get_property("name") - - @name.setter - def name(self, value): - """name setter - - TBD - - value: str - """ - if value is None: - raise TypeError("Cannot set required property name as None") - self._set_property("name", value) - - @property - def tx_frames(self): - # type: () -> float - """tx_frames getter - - TBD - - Returns: float - """ - return self._get_property("tx_frames") - - @tx_frames.setter - def tx_frames(self, value): - """tx_frames setter - - TBD - - value: float - """ - if value is None: - raise TypeError("Cannot set required property tx_frames as None") - self._set_property("tx_frames", value) - - @property - def rx_frames(self): - # type: () -> float - """rx_frames getter - - TBD - - Returns: float - """ - return self._get_property("rx_frames") - - @rx_frames.setter - def rx_frames(self, value): - """rx_frames setter - - TBD - - value: float - """ - if value is None: - raise TypeError("Cannot set required property rx_frames as None") - self._set_property("rx_frames", value) - - -class PortMetricIter(OpenApiIter): - __slots__ = ("_parent", "_choice") - - _GETITEM_RETURNS_CHOICE_OBJECT = False - - def __init__(self, parent=None, choice=None): - super(PortMetricIter, self).__init__() - self._parent = parent - self._choice = choice - - def __getitem__(self, key): - # type: (str) -> Union[PortMetric] - return self._getitem(key) - - def __iter__(self): - # type: () -> PortMetricIter - return self._iter() - - def __next__(self): - # type: () -> PortMetric - return self._next() - - def next(self): - # type: () -> PortMetric - return self._next() - - def _instanceOf(self, item): - if not isinstance(item, PortMetric): - raise Exception("Item is not an instance of PortMetric") - - def metric(self, name=None, tx_frames=None, rx_frames=None): - # type: (str,float,float) -> PortMetricIter - """Factory method that creates an instance of the PortMetric class - - TBD - - Returns: PortMetricIter - """ - item = PortMetric( - parent=self._parent, - name=name, - tx_frames=tx_frames, - rx_frames=rx_frames, - ) - self._add(item) - return self - - def add(self, name=None, tx_frames=None, rx_frames=None): - # type: (str,float,float) -> PortMetric - """Add method that creates and returns an instance of the PortMetric class - - TBD - - Returns: PortMetric - """ - item = PortMetric( - parent=self._parent, - name=name, - tx_frames=tx_frames, - rx_frames=rx_frames, - ) - self._add(item) - return item - - -class FlowMetric(OpenApiObject): - __slots__ = "_parent" - - _TYPES = { - "name": {"type": str}, - "tx_frames": { - "type": float, - "format": "double", - }, - "rx_frames": { - "type": float, - "format": "double", - }, - } # type: Dict[str, str] - - _REQUIRED = ("name", "tx_frames", "rx_frames") # type: tuple(str) - - _DEFAULTS = {} # type: Dict[str, Union(type)] - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__(self, parent=None, name=None, tx_frames=None, rx_frames=None): - super(FlowMetric, self).__init__() - self._parent = parent - self._set_property("name", name) - self._set_property("tx_frames", tx_frames) - self._set_property("rx_frames", rx_frames) - - def set(self, name=None, tx_frames=None, rx_frames=None): - for property_name, property_value in locals().items(): - if property_name != "self" and property_value is not None: - self._set_property(property_name, property_value) - - @property - def name(self): - # type: () -> str - """name getter - - TBD - - Returns: str - """ - return self._get_property("name") - - @name.setter - def name(self, value): - """name setter - - TBD - - value: str - """ - if value is None: - raise TypeError("Cannot set required property name as None") - self._set_property("name", value) - - @property - def tx_frames(self): - # type: () -> float - """tx_frames getter - - TBD - - Returns: float - """ - return self._get_property("tx_frames") - - @tx_frames.setter - def tx_frames(self, value): - """tx_frames setter - - TBD - - value: float - """ - if value is None: - raise TypeError("Cannot set required property tx_frames as None") - self._set_property("tx_frames", value) - - @property - def rx_frames(self): - # type: () -> float - """rx_frames getter - - TBD - - Returns: float - """ - return self._get_property("rx_frames") - - @rx_frames.setter - def rx_frames(self, value): - """rx_frames setter - - TBD - - value: float - """ - if value is None: - raise TypeError("Cannot set required property rx_frames as None") - self._set_property("rx_frames", value) - - -class FlowMetricIter(OpenApiIter): - __slots__ = ("_parent", "_choice") - - _GETITEM_RETURNS_CHOICE_OBJECT = False - - def __init__(self, parent=None, choice=None): - super(FlowMetricIter, self).__init__() - self._parent = parent - self._choice = choice - - def __getitem__(self, key): - # type: (str) -> Union[FlowMetric] - return self._getitem(key) - - def __iter__(self): - # type: () -> FlowMetricIter - return self._iter() - - def __next__(self): - # type: () -> FlowMetric - return self._next() - - def next(self): - # type: () -> FlowMetric - return self._next() - - def _instanceOf(self, item): - if not isinstance(item, FlowMetric): - raise Exception("Item is not an instance of FlowMetric") - - def metric(self, name=None, tx_frames=None, rx_frames=None): - # type: (str,float,float) -> FlowMetricIter - """Factory method that creates an instance of the FlowMetric class - - TBD - - Returns: FlowMetricIter - """ - item = FlowMetric( - parent=self._parent, - name=name, - tx_frames=tx_frames, - rx_frames=rx_frames, - ) - self._add(item) - return self - - def add(self, name=None, tx_frames=None, rx_frames=None): - # type: (str,float,float) -> FlowMetric - """Add method that creates and returns an instance of the FlowMetric class - - TBD - - Returns: FlowMetric - """ - item = FlowMetric( - parent=self._parent, - name=name, - tx_frames=tx_frames, - rx_frames=rx_frames, - ) - self._add(item) - return item - - -class WarningDetails(OpenApiObject): - __slots__ = "_parent" - - _TYPES = { - "warnings": { - "type": list, - "itemtype": str, - }, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = {} # type: Dict[str, Union(type)] - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__(self, parent=None, warnings=None): - super(WarningDetails, self).__init__() - self._parent = parent - self._set_property("warnings", warnings) - - def set(self, warnings=None): - for property_name, property_value in locals().items(): - if property_name != "self" and property_value is not None: - self._set_property(property_name, property_value) - - @property - def warnings(self): - # type: () -> List[str] - """warnings getter - - TBD - - Returns: List[str] - """ - return self._get_property("warnings") - - @warnings.setter - def warnings(self, value): - """warnings setter - - TBD - - value: List[str] - """ - self._set_property("warnings", value) - - -class CommonResponseSuccess(OpenApiObject): - __slots__ = "_parent" - - _TYPES = { - "message": {"type": str}, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = {} # type: Dict[str, Union(type)] - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__(self, parent=None, message=None): - super(CommonResponseSuccess, self).__init__() - self._parent = parent - self._set_property("message", message) - - def set(self, message=None): - for property_name, property_value in locals().items(): - if property_name != "self" and property_value is not None: - self._set_property(property_name, property_value) - - @property - def message(self): - # type: () -> str - """message getter - - TBD - - Returns: str - """ - return self._get_property("message") - - @message.setter - def message(self, value): - """message setter - - TBD - - value: str - """ - self._set_property("message", value) - - -class ApiTestInputBody(OpenApiObject): - __slots__ = "_parent" - - _TYPES = { - "some_string": {"type": str}, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = {} # type: Dict[str, Union(type)] - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__(self, parent=None, some_string=None): - super(ApiTestInputBody, self).__init__() - self._parent = parent - self._set_property("some_string", some_string) - - def set(self, some_string=None): - for property_name, property_value in locals().items(): - if property_name != "self" and property_value is not None: - self._set_property(property_name, property_value) - - @property - def some_string(self): - # type: () -> str - """some_string getter - - TBD - - Returns: str - """ - return self._get_property("some_string") - - @some_string.setter - def some_string(self, value): - """some_string setter - - TBD - - value: str - """ - self._set_property("some_string", value) - - -class ServiceAbcItemList(OpenApiObject): - __slots__ = "_parent" - - _TYPES = { - "items": {"type": "ServiceAbcItemIter"}, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = {} # type: Dict[str, Union(type)] - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__(self, parent=None): - super(ServiceAbcItemList, self).__init__() - self._parent = parent - - @property - def items(self): - # type: () -> ServiceAbcItemIter - """items getter - - TBD - - Returns: ServiceAbcItemIter - """ - return self._get_property( - "items", ServiceAbcItemIter, self._parent, self._choice - ) - - -class ServiceAbcItem(OpenApiObject): - __slots__ = "_parent" - - _TYPES = { - "some_id": {"type": str}, - "some_string": {"type": str}, - "path_id": {"type": str}, - "level_2": {"type": str}, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = {} # type: Dict[str, Union(type)] - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__( - self, - parent=None, - some_id=None, - some_string=None, - path_id=None, - level_2=None, - ): - super(ServiceAbcItem, self).__init__() - self._parent = parent - self._set_property("some_id", some_id) - self._set_property("some_string", some_string) - self._set_property("path_id", path_id) - self._set_property("level_2", level_2) - - def set(self, some_id=None, some_string=None, path_id=None, level_2=None): - for property_name, property_value in locals().items(): - if property_name != "self" and property_value is not None: - self._set_property(property_name, property_value) - - @property - def some_id(self): - # type: () -> str - """some_id getter - - TBD - - Returns: str - """ - return self._get_property("some_id") - - @some_id.setter - def some_id(self, value): - """some_id setter - - TBD - - value: str - """ - self._set_property("some_id", value) - - @property - def some_string(self): - # type: () -> str - """some_string getter - - TBD - - Returns: str - """ - return self._get_property("some_string") - - @some_string.setter - def some_string(self, value): - """some_string setter - - TBD - - value: str - """ - self._set_property("some_string", value) - - @property - def path_id(self): - # type: () -> str - """path_id getter - - TBD - - Returns: str - """ - return self._get_property("path_id") - - @path_id.setter - def path_id(self, value): - """path_id setter - - TBD - - value: str - """ - self._set_property("path_id", value) - - @property - def level_2(self): - # type: () -> str - """level_2 getter - - TBD - - Returns: str - """ - return self._get_property("level_2") - - @level_2.setter - def level_2(self, value): - """level_2 setter - - TBD - - value: str - """ - self._set_property("level_2", value) - - -class ServiceAbcItemIter(OpenApiIter): - __slots__ = ("_parent", "_choice") - - _GETITEM_RETURNS_CHOICE_OBJECT = False - - def __init__(self, parent=None, choice=None): - super(ServiceAbcItemIter, self).__init__() - self._parent = parent - self._choice = choice - - def __getitem__(self, key): - # type: (str) -> Union[ServiceAbcItem] - return self._getitem(key) - - def __iter__(self): - # type: () -> ServiceAbcItemIter - return self._iter() - - def __next__(self): - # type: () -> ServiceAbcItem - return self._next() - - def next(self): - # type: () -> ServiceAbcItem - return self._next() - - def _instanceOf(self, item): - if not isinstance(item, ServiceAbcItem): - raise Exception("Item is not an instance of ServiceAbcItem") - - def item(self, some_id=None, some_string=None, path_id=None, level_2=None): - # type: (str,str,str,str) -> ServiceAbcItemIter - """Factory method that creates an instance of the ServiceAbcItem class - - TBD - - Returns: ServiceAbcItemIter - """ - item = ServiceAbcItem( - parent=self._parent, - some_id=some_id, - some_string=some_string, - path_id=path_id, - level_2=level_2, - ) - self._add(item) - return self - - def add(self, some_id=None, some_string=None, path_id=None, level_2=None): - # type: (str,str,str,str) -> ServiceAbcItem - """Add method that creates and returns an instance of the ServiceAbcItem class - - TBD - - Returns: ServiceAbcItem - """ - item = ServiceAbcItem( - parent=self._parent, - some_id=some_id, - some_string=some_string, - path_id=path_id, - level_2=level_2, - ) - self._add(item) - return item - - -class Version(OpenApiObject): - __slots__ = "_parent" - - _TYPES = { - "api_spec_version": {"type": str}, - "sdk_version": {"type": str}, - "app_version": {"type": str}, - } # type: Dict[str, str] - - _REQUIRED = () # type: tuple(str) - - _DEFAULTS = { - "api_spec_version": "", - "sdk_version": "", - "app_version": "", - } # type: Dict[str, Union(type)] - - _STATUS = {} # type: Dict[str, Union(type)] - - def __init__( - self, parent=None, api_spec_version="", sdk_version="", app_version="" - ): - super(Version, self).__init__() - self._parent = parent - self._set_property("api_spec_version", api_spec_version) - self._set_property("sdk_version", sdk_version) - self._set_property("app_version", app_version) - - def set(self, api_spec_version=None, sdk_version=None, app_version=None): - for property_name, property_value in locals().items(): - if property_name != "self" and property_value is not None: - self._set_property(property_name, property_value) - - @property - def api_spec_version(self): - # type: () -> str - """api_spec_version getter - - Version of API specification - - Returns: str - """ - return self._get_property("api_spec_version") - - @api_spec_version.setter - def api_spec_version(self, value): - """api_spec_version setter - - Version of API specification - - value: str - """ - self._set_property("api_spec_version", value) - - @property - def sdk_version(self): - # type: () -> str - """sdk_version getter - - Version of SDK generated from API specification - - Returns: str - """ - return self._get_property("sdk_version") - - @sdk_version.setter - def sdk_version(self, value): - """sdk_version setter - - Version of SDK generated from API specification - - value: str - """ - self._set_property("sdk_version", value) - - @property - def app_version(self): - # type: () -> str - """app_version getter - - Version of application consuming or serving the API - - Returns: str - """ - return self._get_property("app_version") - - @app_version.setter - def app_version(self, value): - """app_version setter - - Version of application consuming or serving the API - - value: str - """ - self._set_property("app_version", value) - - -class Api(object): - """OpenApi Abstract API""" - - __warnings__ = [] - - def __init__(self, **kwargs): - self._version_meta = self.version() - self._version_meta.api_spec_version = "0.0.1" - self._version_meta.sdk_version = "" - self._version_check = kwargs.get("version_check") - if self._version_check is None: - self._version_check = False - self._version_check_err = None - - def add_warnings(self, msg): - print("[WARNING]: %s" % msg) - self.__warnings__.append(msg) - - def _deserialize_error(self, err_string): - # type: (str) -> Union[Error, None] - err = self.error() - try: - err.deserialize(err_string) - except Exception: - err = None - return err - - def from_exception(self, error): - # type: (Exception) -> Union[Error, None] - if isinstance(error, Error): - return error - elif isinstance(error, grpc.RpcError): - err = self._deserialize_error(error.details()) - if err is not None: - return err - err = self.error() - err.code = error.code().value[0] - err.errors = [error.details()] - return err - elif isinstance(error, Exception): - if len(error.args) != 1: - return None - if isinstance(error.args[0], Error): - return error.args[0] - elif isinstance(error.args[0], str): - return self._deserialize_error(error.args[0]) - - def set_config(self, payload): - """POST /api/config - - Sets configuration resources. - - Return: None - """ - raise NotImplementedError("set_config") - - def update_configuration(self, payload): - """PATCH /api/config - - Deprecated: please use post instead. Sets configuration resources. - - Return: prefix_config - """ - raise NotImplementedError("update_configuration") - - def get_config(self): - """GET /api/config - - Gets the configuration resources. - - Return: prefix_config - """ - raise NotImplementedError("get_config") - - def get_metrics(self, payload): - """GET /api/metrics - - Gets metrics. - - Return: metrics - """ - raise NotImplementedError("get_metrics") - - def get_warnings(self): - """GET /api/warnings - - Gets warnings. - - Return: warning_details - """ - raise NotImplementedError("get_warnings") - - def clear_warnings(self): - """DELETE /api/warnings - - Clears warnings. - - Return: None - """ - raise NotImplementedError("clear_warnings") - - def getrootresponse(self): - """GET /api/apitest - - simple GET api with single return type - - Return: common_responsesuccess - """ - raise NotImplementedError("getrootresponse") - - def dummyresponsetest(self): - """DELETE /api/apitest - - TBD - - Return: None - """ - raise NotImplementedError("dummyresponsetest") - - def postrootresponse(self, payload): - """POST /api/apitest - - simple POST api with single return type - - Return: common_responsesuccess - """ - raise NotImplementedError("postrootresponse") - - def getallitems(self): - """GET /api/serviceb - - return list of some items - - Return: serviceabc_itemlist - """ - raise NotImplementedError("getallitems") - - def getsingleitem(self): - """GET /api/serviceb/{item_id} - - return single item - - Return: serviceabc_item - """ - raise NotImplementedError("getsingleitem") - - def getsingleitemlevel2(self): - """GET /api/serviceb/{item_id}/{level_2} - - return single item - - Return: serviceabc_item - """ - raise NotImplementedError("getsingleitemlevel2") - - def get_version(self): - """GET /api/capabilities/version - - TBD - - Return: version - """ - raise NotImplementedError("get_version") - - def prefix_config(self): - """Factory method that creates an instance of PrefixConfig - - Return: PrefixConfig - """ - return PrefixConfig() - - def error(self): - """Factory method that creates an instance of Error - - Return: Error - """ - return Error() - - def update_config(self): - """Factory method that creates an instance of UpdateConfig - - Return: UpdateConfig - """ - return UpdateConfig() - - def metrics_request(self): - """Factory method that creates an instance of MetricsRequest - - Return: MetricsRequest - """ - return MetricsRequest() - - def metrics(self): - """Factory method that creates an instance of Metrics - - Return: Metrics - """ - return Metrics() - - def warning_details(self): - """Factory method that creates an instance of WarningDetails - - Return: WarningDetails - """ - return WarningDetails() - - def common_responsesuccess(self): - """Factory method that creates an instance of CommonResponseSuccess - - Return: CommonResponseSuccess - """ - return CommonResponseSuccess() - - def apitest_inputbody(self): - """Factory method that creates an instance of ApiTestInputBody - - Return: ApiTestInputBody - """ - return ApiTestInputBody() - - def serviceabc_itemlist(self): - """Factory method that creates an instance of ServiceAbcItemList - - Return: ServiceAbcItemList - """ - return ServiceAbcItemList() - - def serviceabc_item(self): - """Factory method that creates an instance of ServiceAbcItem - - Return: ServiceAbcItem - """ - return ServiceAbcItem() - - def version(self): - """Factory method that creates an instance of Version - - Return: Version - """ - return Version() - - def close(self): - pass - - def _check_client_server_version_compatibility( - self, client_ver, server_ver, component_name - ): - try: - c = semantic_version.Version(client_ver) - except Exception as e: - raise AssertionError( - "Client {} version '{}' is not a valid semver: {}".format( - component_name, client_ver, e - ) - ) - - try: - s = semantic_version.SimpleSpec(server_ver) - except Exception as e: - raise AssertionError( - "Server {} version '{}' is not a valid semver: {}".format( - component_name, server_ver, e - ) - ) - - err = "Client {} version '{}' is not semver compatible with Server {} version '{}'".format( - component_name, client_ver, component_name, server_ver - ) - - if not s.match(c): - raise Exception(err) - - def get_local_version(self): - return self._version_meta - - def get_remote_version(self): - return self.get_version() - - def check_version_compatibility(self): - comp_err, api_err = self._do_version_check() - if comp_err is not None: - raise comp_err - if api_err is not None: - raise api_err - - def _do_version_check(self): - local = self.get_local_version() - try: - remote = self.get_remote_version() - except Exception as e: - return None, e - - try: - self._check_client_server_version_compatibility( - local.api_spec_version, remote.api_spec_version, "API spec" - ) - except Exception as e: - msg = "client SDK version '{}' is not compatible with server SDK version '{}'".format( - local.sdk_version, remote.sdk_version - ) - return Exception("{}: {}".format(msg, str(e))), None - - return None, None - - def _do_version_check_once(self): - if not self._version_check: - return - - if self._version_check_err is not None: - raise self._version_check_err - - comp_err, api_err = self._do_version_check() - if comp_err is not None: - self._version_check_err = comp_err - raise comp_err - if api_err is not None: - self._version_check_err = None - raise api_err - - self._version_check = False - self._version_check_err = None - - -class HttpApi(Api): - """OpenAPI HTTP Api""" - - def __init__(self, **kwargs): - super(HttpApi, self).__init__(**kwargs) - self._transport = HttpTransport(**kwargs) - - @property - def verify(self): - return self._transport.verify - - @verify.setter - def verify(self, value): - self._transport.set_verify(value) - - def set_config(self, payload): - """POST /api/config - - Sets configuration resources. - - Return: None - """ - self._do_version_check_once() - return self._transport.send_recv( - "post", - "/api/config", - payload=payload, - return_object=None, - request_class=PrefixConfig, - ) - - def update_configuration(self, payload): - """PATCH /api/config - - Deprecated: please use post instead. Sets configuration resources. - - Return: prefix_config - """ - self.add_warnings( - "update_configuration api is deprecated, please use post instead" - ) - self._do_version_check_once() - return self._transport.send_recv( - "patch", - "/api/config", - payload=payload, - return_object=self.prefix_config(), - request_class=UpdateConfig, - ) - - def get_config(self): - """GET /api/config - - Gets the configuration resources. - - Return: prefix_config - """ - self._do_version_check_once() - return self._transport.send_recv( - "get", - "/api/config", - payload=None, - return_object=self.prefix_config(), - ) - - def get_metrics(self, payload): - """GET /api/metrics - - Gets metrics. - - Return: metrics - """ - self._do_version_check_once() - return self._transport.send_recv( - "get", - "/api/metrics", - payload=payload, - return_object=self.metrics(), - request_class=MetricsRequest, - ) - - def get_warnings(self): - """GET /api/warnings - - Gets warnings. - - Return: warning_details - """ - self._do_version_check_once() - return self._transport.send_recv( - "get", - "/api/warnings", - payload=None, - return_object=self.warning_details(), - ) - - def clear_warnings(self): - """DELETE /api/warnings - - Clears warnings. - - Return: None - """ - self._do_version_check_once() - return self._transport.send_recv( - "delete", - "/api/warnings", - payload=None, - return_object=None, - ) - - def getrootresponse(self): - """GET /api/apitest - - simple GET api with single return type - - Return: common_responsesuccess - """ - self._do_version_check_once() - return self._transport.send_recv( - "get", - "/api/apitest", - payload=None, - return_object=self.common_responsesuccess(), - ) - - def dummyresponsetest(self): - """DELETE /api/apitest - - TBD - - Return: None - """ - self._do_version_check_once() - return self._transport.send_recv( - "delete", - "/api/apitest", - payload=None, - return_object=None, - ) - - def postrootresponse(self, payload): - """POST /api/apitest - - simple POST api with single return type - - Return: common_responsesuccess - """ - self._do_version_check_once() - return self._transport.send_recv( - "post", - "/api/apitest", - payload=payload, - return_object=self.common_responsesuccess(), - request_class=ApiTestInputBody, - ) - - def getallitems(self): - """GET /api/serviceb - - return list of some items - - Return: serviceabc_itemlist - """ - self._do_version_check_once() - return self._transport.send_recv( - "get", - "/api/serviceb", - payload=None, - return_object=self.serviceabc_itemlist(), - ) - - def getsingleitem(self): - """GET /api/serviceb/{item_id} - - return single item - - Return: serviceabc_item - """ - self._do_version_check_once() - return self._transport.send_recv( - "get", - "/api/serviceb/{item_id}", - payload=None, - return_object=self.serviceabc_item(), - ) - - def getsingleitemlevel2(self): - """GET /api/serviceb/{item_id}/{level_2} - - return single item - - Return: serviceabc_item - """ - self._do_version_check_once() - return self._transport.send_recv( - "get", - "/api/serviceb/{item_id}/{level_2}", - payload=None, - return_object=self.serviceabc_item(), - ) - - def get_version(self): - """GET /api/capabilities/version - - TBD - - Return: version - """ - return self._transport.send_recv( - "get", - "/api/capabilities/version", - payload=None, - return_object=self.version(), - ) - - -class GrpcApi(Api): - # OpenAPI gRPC Api - def __init__(self, **kwargs): - super(GrpcApi, self).__init__(**kwargs) - self._stub = None - self._channel = None - self._cert = None - self._cert_domain = None - self._request_timeout = 10 - self._keep_alive_timeout = 10 * 1000 - self._location = ( - kwargs["location"] - if "location" in kwargs and kwargs["location"] is not None - else "localhost:50051" - ) - self._transport = ( - kwargs["transport"] if "transport" in kwargs else None - ) - self._logger = kwargs["logger"] if "logger" in kwargs else None - self._loglevel = ( - kwargs["loglevel"] if "loglevel" in kwargs else logging.DEBUG - ) - if self._logger is None: - stdout_handler = logging.StreamHandler(sys.stdout) - formatter = logging.Formatter( - fmt="%(asctime)s [%(name)s] [%(levelname)s] %(message)s", - datefmt="%Y-%m-%d %H:%M:%S", - ) - formatter.converter = time.gmtime - stdout_handler.setFormatter(formatter) - self._logger = logging.Logger( - self.__module__, level=self._loglevel - ) - self._logger.addHandler(stdout_handler) - self._logger.debug( - "gRPCTransport args: {}".format( - ", ".join(["{}={!r}".format(k, v) for k, v in kwargs.items()]) - ) - ) - - def _use_secure_connection(self, cert_path, cert_domain=None): - """Accepts certificate and host_name for SSL Connection.""" - if cert_path is None: - raise Exception("path to certificate cannot be None") - self._cert = cert_path - self._cert_domain = cert_domain - - def _get_stub(self): - if self._stub is None: - CHANNEL_OPTIONS = [ - ("grpc.enable_retries", 0), - ("grpc.keepalive_timeout_ms", self._keep_alive_timeout), - ] - if self._cert is None: - self._channel = grpc.insecure_channel( - self._location, options=CHANNEL_OPTIONS - ) - else: - crt = open(self._cert, "rb").read() - creds = grpc.ssl_channel_credentials(crt) - if self._cert_domain is not None: - CHANNEL_OPTIONS.append( - ("grpc.ssl_target_name_override", self._cert_domain) - ) - self._channel = grpc.secure_channel( - self._location, credentials=creds, options=CHANNEL_OPTIONS - ) - self._stub = pb2_grpc.OpenapiStub(self._channel) - return self._stub - - def _serialize_payload(self, payload): - if not isinstance(payload, (str, dict, OpenApiBase)): - raise Exception( - "We are supporting [str, dict, OpenApiBase] object" - ) - if isinstance(payload, OpenApiBase): - payload = payload.serialize() - if isinstance(payload, dict): - payload = json.dumps(payload) - elif isinstance(payload, (str, unicode)): - payload = json.dumps(yaml.safe_load(payload)) - return payload - - def _raise_exception(self, grpc_error): - err = self.error() - try: - err.deserialize(grpc_error.details()) - except Exception as _: - err.code = grpc_error.code().value[0] - err.errors = [grpc_error.details()] - raise Exception(err) - - @property - def request_timeout(self): - """duration of time in seconds to allow for the RPC.""" - return self._request_timeout - - @request_timeout.setter - def request_timeout(self, timeout): - self._request_timeout = timeout - - @property - def keep_alive_timeout(self): - return self._keep_alive_timeout - - @keep_alive_timeout.setter - def keep_alive_timeout(self, timeout): - self._keep_alive_timeout = timeout * 1000 - - def close(self): - if self._channel is not None: - self._channel.close() - self._channel = None - self._stub = None - - def set_config(self, payload): - pb_obj = json_format.Parse( - self._serialize_payload(payload), pb2.PrefixConfig() - ) - self._do_version_check_once() - req_obj = pb2.SetConfigRequest(prefix_config=pb_obj) - stub = self._get_stub() - try: - res_obj = stub.SetConfig(req_obj, timeout=self._request_timeout) - except grpc.RpcError as grpc_error: - self._raise_exception(grpc_error) - response = json_format.MessageToDict( - res_obj, preserving_proto_field_name=True - ) - bytes = response.get("response_bytes") - if bytes is not None: - return io.BytesIO(res_obj.response_bytes) - - def update_configuration(self, payload): - self.add_warnings( - "update_configuration api is deprecated, please use post instead" - ) - pb_obj = json_format.Parse( - self._serialize_payload(payload), pb2.UpdateConfig() - ) - self._do_version_check_once() - req_obj = pb2.UpdateConfigurationRequest(update_config=pb_obj) - stub = self._get_stub() - try: - res_obj = stub.UpdateConfiguration( - req_obj, timeout=self._request_timeout - ) - except grpc.RpcError as grpc_error: - self._raise_exception(grpc_error) - response = json_format.MessageToDict( - res_obj, preserving_proto_field_name=True - ) - result = response.get("prefix_config") - if result is not None: - return self.prefix_config().deserialize(result) - - def get_config(self): - stub = self._get_stub() - empty = pb2_grpc.google_dot_protobuf_dot_empty__pb2.Empty() - res_obj = stub.GetConfig(empty, timeout=self._request_timeout) - response = json_format.MessageToDict( - res_obj, preserving_proto_field_name=True - ) - result = response.get("prefix_config") - if result is not None: - return self.prefix_config().deserialize(result) - - def get_metrics(self, payload): - pb_obj = json_format.Parse( - self._serialize_payload(payload), pb2.MetricsRequest() - ) - self._do_version_check_once() - req_obj = pb2.GetMetricsRequest(metrics_request=pb_obj) - stub = self._get_stub() - try: - res_obj = stub.GetMetrics(req_obj, timeout=self._request_timeout) - except grpc.RpcError as grpc_error: - self._raise_exception(grpc_error) - response = json_format.MessageToDict( - res_obj, preserving_proto_field_name=True - ) - result = response.get("metrics") - if result is not None: - return self.metrics().deserialize(result) - - def get_warnings(self): - stub = self._get_stub() - empty = pb2_grpc.google_dot_protobuf_dot_empty__pb2.Empty() - res_obj = stub.GetWarnings(empty, timeout=self._request_timeout) - response = json_format.MessageToDict( - res_obj, preserving_proto_field_name=True - ) - result = response.get("warning_details") - if result is not None: - return self.warning_details().deserialize(result) - - def clear_warnings(self): - stub = self._get_stub() - empty = pb2_grpc.google_dot_protobuf_dot_empty__pb2.Empty() - res_obj = stub.ClearWarnings(empty, timeout=self._request_timeout) - response = json_format.MessageToDict( - res_obj, preserving_proto_field_name=True - ) - resp_str = response.get("string") - if resp_str is not None: - return response.get("string") - - def getrootresponse(self): - stub = self._get_stub() - empty = pb2_grpc.google_dot_protobuf_dot_empty__pb2.Empty() - res_obj = stub.GetRootResponse(empty, timeout=self._request_timeout) - response = json_format.MessageToDict( - res_obj, preserving_proto_field_name=True - ) - result = response.get("common_response_success") - if result is not None: - return self.common_responsesuccess().deserialize(result) - - def dummyresponsetest(self): - stub = self._get_stub() - empty = pb2_grpc.google_dot_protobuf_dot_empty__pb2.Empty() - res_obj = stub.DummyResponseTest(empty, timeout=self._request_timeout) - response = json_format.MessageToDict( - res_obj, preserving_proto_field_name=True - ) - resp_str = response.get("string") - if resp_str is not None: - return response.get("string") - - def postrootresponse(self, payload): - pb_obj = json_format.Parse( - self._serialize_payload(payload), pb2.ApiTestInputBody() - ) - self._do_version_check_once() - req_obj = pb2.PostRootResponseRequest(apitest_inputbody=pb_obj) - stub = self._get_stub() - try: - res_obj = stub.PostRootResponse( - req_obj, timeout=self._request_timeout - ) - except grpc.RpcError as grpc_error: - self._raise_exception(grpc_error) - response = json_format.MessageToDict( - res_obj, preserving_proto_field_name=True - ) - result = response.get("common_response_success") - if result is not None: - return self.common_responsesuccess().deserialize(result) - - def getallitems(self): - stub = self._get_stub() - empty = pb2_grpc.google_dot_protobuf_dot_empty__pb2.Empty() - res_obj = stub.GetAllItems(empty, timeout=self._request_timeout) - response = json_format.MessageToDict( - res_obj, preserving_proto_field_name=True - ) - result = response.get("service_abc_item_list") - if result is not None: - return self.serviceabc_itemlist().deserialize(result) - - def getsingleitem(self): - stub = self._get_stub() - empty = pb2_grpc.google_dot_protobuf_dot_empty__pb2.Empty() - res_obj = stub.GetSingleItem(empty, timeout=self._request_timeout) - response = json_format.MessageToDict( - res_obj, preserving_proto_field_name=True - ) - result = response.get("service_abc_item") - if result is not None: - return self.serviceabc_item().deserialize(result) - - def getsingleitemlevel2(self): - stub = self._get_stub() - empty = pb2_grpc.google_dot_protobuf_dot_empty__pb2.Empty() - res_obj = stub.GetSingleItemLevel2( - empty, timeout=self._request_timeout - ) - response = json_format.MessageToDict( - res_obj, preserving_proto_field_name=True - ) - result = response.get("service_abc_item") - if result is not None: - return self.serviceabc_item().deserialize(result) - - def get_version(self): - stub = self._get_stub() - empty = pb2_grpc.google_dot_protobuf_dot_empty__pb2.Empty() - res_obj = stub.GetVersion(empty, timeout=self._request_timeout) - response = json_format.MessageToDict( - res_obj, preserving_proto_field_name=True - ) - result = response.get("version") - if result is not None: - return self.version().deserialize(result) diff --git a/artifacts/sanity/sanity_pb2.py b/artifacts/sanity/sanity_pb2.py deleted file mode 100644 index c69144cf..00000000 --- a/artifacts/sanity/sanity_pb2.py +++ /dev/null @@ -1,250 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: sanity.proto -"""Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import symbol_database as _symbol_database -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 -from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0csanity.proto\x12\x06sanity\x1a google/protobuf/descriptor.proto\x1a\x1bgoogle/protobuf/empty.proto\"\x1e\n\x0c\x45rrorDetails\x12\x0e\n\x06\x65rrors\x18\x01 \x03(\t\"\"\n\x0eWarningDetails\x12\x10\n\x08warnings\x18\x01 \x03(\t\"\xa8\x01\n\x05\x45rror\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12*\n\x04kind\x18\x02 \x01(\x0e\x32\x17.sanity.Error.Kind.EnumH\x00\x88\x01\x01\x12\x0e\n\x06\x65rrors\x18\x03 \x03(\t\x1aL\n\x04Kind\"D\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\r\n\ttransport\x10\x01\x12\x0e\n\nvalidation\x10\x02\x12\x0c\n\x08internal\x10\x03\x42\x07\n\x05_kind\"\x83\x13\n\x0cPrefixConfig\x12(\n\x0frequired_object\x18\x01 \x01(\x0b\x32\x0f.sanity.EObject\x12-\n\x0foptional_object\x18\x02 \x01(\x0b\x32\x0f.sanity.EObjectH\x00\x88\x01\x01\x12\x1a\n\rieee_802_1qbb\x18\x03 \x01(\x08H\x01\x88\x01\x01\x12\x14\n\x07space_1\x18\x04 \x01(\x05H\x02\x88\x01\x01\x12\x1f\n\x12\x66ull_duplex_100_mb\x18\x05 \x01(\x03H\x03\x88\x01\x01\x12\x39\n\x08response\x18\x06 \x01(\x0e\x32\".sanity.PrefixConfig.Response.EnumH\x04\x88\x01\x01\x12\t\n\x01\x61\x18\x07 \x01(\t\x12\t\n\x01\x62\x18\x08 \x01(\x02\x12\t\n\x01\x63\x18\t \x01(\x05\x12\x33\n\x08\x64_values\x18\n \x03(\x0e\x32!.sanity.PrefixConfig.DValues.Enum\x12\x1f\n\x01\x65\x18\x0b \x01(\x0b\x32\x0f.sanity.EObjectH\x05\x88\x01\x01\x12\x1f\n\x01\x66\x18\x0c \x01(\x0b\x32\x0f.sanity.FObjectH\x06\x88\x01\x01\x12\x1a\n\x01g\x18\r \x03(\x0b\x32\x0f.sanity.GObject\x12\x0e\n\x01h\x18\x0e \x01(\x08H\x07\x88\x01\x01\x12\x0e\n\x01i\x18\x0f \x01(\x0cH\x08\x88\x01\x01\x12\x1a\n\x01j\x18\x10 \x03(\x0b\x32\x0f.sanity.JObject\x12\x1f\n\x01k\x18\x11 \x01(\x0b\x32\x0f.sanity.KObjectH\t\x88\x01\x01\x12\x1f\n\x01l\x18\x12 \x01(\x0b\x32\x0f.sanity.LObjectH\n\x88\x01\x01\x12\x1d\n\x15list_of_string_values\x18\x13 \x03(\t\x12\x1e\n\x16list_of_integer_values\x18\x14 \x03(\x05\x12$\n\x05level\x18\x15 \x01(\x0b\x32\x10.sanity.LevelOneH\x0b\x88\x01\x01\x12\'\n\tmandatory\x18\x16 \x01(\x0b\x32\x0f.sanity.MandateH\x0c\x88\x01\x01\x12.\n\x0cipv4_pattern\x18\x17 \x01(\x0b\x32\x13.sanity.Ipv4PatternH\r\x88\x01\x01\x12.\n\x0cipv6_pattern\x18\x18 \x01(\x0b\x32\x13.sanity.Ipv6PatternH\x0e\x88\x01\x01\x12,\n\x0bmac_pattern\x18\x19 \x01(\x0b\x32\x12.sanity.MacPatternH\x0f\x88\x01\x01\x12\x34\n\x0finteger_pattern\x18\x1a \x01(\x0b\x32\x16.sanity.IntegerPatternH\x10\x88\x01\x01\x12\x36\n\x10\x63hecksum_pattern\x18\x1b \x01(\x0b\x32\x17.sanity.ChecksumPatternH\x11\x88\x01\x01\x12)\n\x04\x63\x61se\x18\x1c \x01(\x0b\x32\x16.sanity.Layer1Ieee802xH\x12\x88\x01\x01\x12&\n\x08m_object\x18\x1d \x01(\x0b\x32\x0f.sanity.MObjectH\x13\x88\x01\x01\x12\x16\n\tinteger64\x18\x1e \x01(\x03H\x14\x88\x01\x01\x12\x16\n\x0einteger64_list\x18\x1f \x03(\x03\x12G\n\x0fheader_checksum\x18 \x01(\x0b\x32).sanity.PatternPrefixConfigHeaderChecksumH\x15\x88\x01\x01\x12\x14\n\x07str_len\x18! \x01(\tH\x16\x88\x01\x01\x12\x11\n\thex_slice\x18\" \x03(\t\x12\x46\n\x0f\x61uto_field_test\x18# \x01(\x0b\x32(.sanity.PatternPrefixConfigAutoFieldTestH\x17\x88\x01\x01\x12\x11\n\x04name\x18$ \x01(\tH\x18\x88\x01\x01\x12\x1f\n\x06w_list\x18% \x03(\x0b\x32\x0f.sanity.WObject\x12\x1f\n\x06x_list\x18& \x03(\x0b\x32\x0f.sanity.ZObject\x12&\n\x08z_object\x18\' \x01(\x0b\x32\x0f.sanity.ZObjectH\x19\x88\x01\x01\x12&\n\x08y_object\x18( \x01(\x0b\x32\x0f.sanity.YObjectH\x1a\x88\x01\x01\x12+\n\rchoice_object\x18) \x03(\x0b\x32\x14.sanity.ChoiceObject\x12\x41\n\x16required_choice_object\x18* \x01(\x0b\x32\x1c.sanity.RequiredChoiceParentH\x1b\x88\x01\x01\x12\x1b\n\x02g1\x18+ \x03(\x0b\x32\x0f.sanity.GObject\x12\x1b\n\x02g2\x18, \x03(\x0b\x32\x0f.sanity.GObject\x12\x18\n\x0bint32_param\x18- \x01(\x05H\x1c\x88\x01\x01\x12\x18\n\x10int32_list_param\x18. \x03(\x05\x12\x19\n\x0cuint32_param\x18/ \x01(\rH\x1d\x88\x01\x01\x12\x19\n\x11uint32_list_param\x18\x30 \x03(\r\x12\x19\n\x0cuint64_param\x18\x31 \x01(\x04H\x1e\x88\x01\x01\x12\x19\n\x11uint64_list_param\x18\x32 \x03(\x04\x12\x1d\n\x10\x61uto_int32_param\x18\x33 \x01(\x05H\x1f\x88\x01\x01\x12\x1d\n\x15\x61uto_int32_list_param\x18\x34 \x03(\x05\x1a\x63\n\x08Response\"W\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x0e\n\nstatus_200\x10\x01\x12\x0e\n\nstatus_400\x10\x02\x12\x0e\n\nstatus_404\x10\x03\x12\x0e\n\nstatus_500\x10\x04\x1a\x37\n\x07\x44Values\",\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x05\n\x01\x61\x10\x01\x12\x05\n\x01\x62\x10\x02\x12\x05\n\x01\x63\x10\x03\x42\x12\n\x10_optional_objectB\x10\n\x0e_ieee_802_1qbbB\n\n\x08_space_1B\x15\n\x13_full_duplex_100_mbB\x0b\n\t_responseB\x04\n\x02_eB\x04\n\x02_fB\x04\n\x02_hB\x04\n\x02_iB\x04\n\x02_kB\x04\n\x02_lB\x08\n\x06_levelB\x0c\n\n_mandatoryB\x0f\n\r_ipv4_patternB\x0f\n\r_ipv6_patternB\x0e\n\x0c_mac_patternB\x12\n\x10_integer_patternB\x13\n\x11_checksum_patternB\x07\n\x05_caseB\x0b\n\t_m_objectB\x0c\n\n_integer64B\x12\n\x10_header_checksumB\n\n\x08_str_lenB\x12\n\x10_auto_field_testB\x07\n\x05_nameB\x0b\n\t_z_objectB\x0b\n\t_y_objectB\x19\n\x17_required_choice_objectB\x0e\n\x0c_int32_paramB\x0f\n\r_uint32_paramB\x0f\n\r_uint64_paramB\x13\n\x11_auto_int32_param\"\x19\n\x07WObject\x12\x0e\n\x06w_name\x18\x01 \x01(\t\"\x17\n\x07ZObject\x12\x0c\n\x04name\x18\x01 \x01(\t\")\n\x07YObject\x12\x13\n\x06y_name\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_y_name\"<\n\x0eLayer1Ieee802x\x12\x19\n\x0c\x66low_control\x18\x01 \x01(\x08H\x00\x88\x01\x01\x42\x0f\n\r_flow_control\"\x80\x03\n\x07GObject\x12\x10\n\x03g_a\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x10\n\x03g_b\x18\x02 \x01(\x05H\x01\x88\x01\x01\x12\x10\n\x03g_c\x18\x03 \x01(\x02H\x02\x88\x01\x01\x12\x30\n\x06\x63hoice\x18\x04 \x01(\x0e\x32\x1b.sanity.GObject.Choice.EnumH\x03\x88\x01\x01\x12\x10\n\x03g_d\x18\x05 \x01(\tH\x04\x88\x01\x01\x12\x10\n\x03g_e\x18\x06 \x01(\x01H\x05\x88\x01\x01\x12)\n\x03g_f\x18\x07 \x01(\x0e\x32\x17.sanity.GObject.GF.EnumH\x06\x88\x01\x01\x12\x11\n\x04name\x18\x08 \x01(\tH\x07\x88\x01\x01\x1a\x33\n\x06\x43hoice\")\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x07\n\x03g_d\x10\x01\x12\x07\n\x03g_e\x10\x02\x1a\x32\n\x02GF\",\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x05\n\x01\x61\x10\x01\x12\x05\n\x01\x62\x10\x02\x12\x05\n\x01\x63\x10\x03\x42\x06\n\x04_g_aB\x06\n\x04_g_bB\x06\n\x04_g_cB\t\n\x07_choiceB\x06\n\x04_g_dB\x06\n\x04_g_eB\x06\n\x04_g_fB\x07\n\x05_name\"\x87\x01\n\x07\x45Object\x12\x0b\n\x03\x65_a\x18\x01 \x01(\x02\x12\x0b\n\x03\x65_b\x18\x02 \x01(\x01\x12\x11\n\x04name\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x15\n\x08m_param1\x18\x04 \x01(\tH\x01\x88\x01\x01\x12\x15\n\x08m_param2\x18\x05 \x01(\tH\x02\x88\x01\x01\x42\x07\n\x05_nameB\x0b\n\t_m_param1B\x0b\n\t_m_param2\"\xb8\x01\n\x07\x46Object\x12\x30\n\x06\x63hoice\x18\x01 \x01(\x0e\x32\x1b.sanity.FObject.Choice.EnumH\x00\x88\x01\x01\x12\x10\n\x03\x66_a\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x10\n\x03\x66_b\x18\x03 \x01(\x01H\x02\x88\x01\x01\x1a<\n\x06\x43hoice\"2\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x07\n\x03\x66_a\x10\x01\x12\x07\n\x03\x66_b\x10\x02\x12\x07\n\x03\x66_c\x10\x03\x42\t\n\x07_choiceB\x06\n\x04_f_aB\x06\n\x04_f_b\"\xd1\x01\n\x07JObject\x12\x30\n\x06\x63hoice\x18\x01 \x01(\x0e\x32\x1b.sanity.JObject.Choice.EnumH\x00\x88\x01\x01\x12!\n\x03j_a\x18\x02 \x01(\x0b\x32\x0f.sanity.EObjectH\x01\x88\x01\x01\x12!\n\x03j_b\x18\x03 \x01(\x0b\x32\x0f.sanity.FObjectH\x02\x88\x01\x01\x1a\x33\n\x06\x43hoice\")\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x07\n\x03j_a\x10\x01\x12\x07\n\x03j_b\x10\x02\x42\t\n\x07_choiceB\x06\n\x04_j_aB\x06\n\x04_j_b\"\xf3\x01\n\x0c\x43hoiceObject\x12\x35\n\x06\x63hoice\x18\x01 \x01(\x0e\x32 .sanity.ChoiceObject.Choice.EnumH\x00\x88\x01\x01\x12#\n\x05\x65_obj\x18\x02 \x01(\x0b\x32\x0f.sanity.EObjectH\x01\x88\x01\x01\x12#\n\x05\x66_obj\x18\x03 \x01(\x0b\x32\x0f.sanity.FObjectH\x02\x88\x01\x01\x1a\x43\n\x06\x43hoice\"9\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\t\n\x05\x65_obj\x10\x01\x12\t\n\x05\x66_obj\x10\x02\x12\n\n\x06no_obj\x10\x03\x42\t\n\x07_choiceB\x08\n\x06_e_objB\x08\n\x06_f_obj\"s\n\x07KObject\x12&\n\x08\x65_object\x18\x01 \x01(\x0b\x32\x0f.sanity.EObjectH\x00\x88\x01\x01\x12&\n\x08\x66_object\x18\x02 \x01(\x0b\x32\x0f.sanity.FObjectH\x01\x88\x01\x01\x42\x0b\n\t_e_objectB\x0b\n\t_f_object\"\x81\x02\n\x07LObject\x12\x19\n\x0cstring_param\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x07integer\x18\x02 \x01(\x05H\x01\x88\x01\x01\x12\x12\n\x05\x66loat\x18\x03 \x01(\x02H\x02\x88\x01\x01\x12\x13\n\x06\x64ouble\x18\x04 \x01(\x01H\x03\x88\x01\x01\x12\x10\n\x03mac\x18\x05 \x01(\tH\x04\x88\x01\x01\x12\x11\n\x04ipv4\x18\x06 \x01(\tH\x05\x88\x01\x01\x12\x11\n\x04ipv6\x18\x07 \x01(\tH\x06\x88\x01\x01\x12\x10\n\x03hex\x18\x08 \x01(\tH\x07\x88\x01\x01\x42\x0f\n\r_string_paramB\n\n\x08_integerB\x08\n\x06_floatB\t\n\x07_doubleB\x06\n\x04_macB\x07\n\x05_ipv4B\x07\n\x05_ipv6B\x06\n\x04_hex\"\x85\x01\n\x07MObject\x12\x14\n\x0cstring_param\x18\x01 \x01(\t\x12\x0f\n\x07integer\x18\x02 \x01(\x05\x12\r\n\x05\x66loat\x18\x03 \x01(\x02\x12\x0e\n\x06\x64ouble\x18\x04 \x01(\x01\x12\x0b\n\x03mac\x18\x05 \x01(\t\x12\x0c\n\x04ipv4\x18\x06 \x01(\t\x12\x0c\n\x04ipv6\x18\x07 \x01(\t\x12\x0b\n\x03hex\x18\x08 \x01(\t\"!\n\x07Mandate\x12\x16\n\x0erequired_param\x18\x01 \x01(\t\"*\n\x0cUpdateConfig\x12\x1a\n\x01g\x18\x01 \x03(\x0b\x32\x0f.sanity.GObject\"\xc3\x01\n\x0eMetricsRequest\x12\x37\n\x06\x63hoice\x18\x01 \x01(\x0e\x32\".sanity.MetricsRequest.Choice.EnumH\x00\x88\x01\x01\x12\x11\n\x04port\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04\x66low\x18\x03 \x01(\tH\x02\x88\x01\x01\x1a\x35\n\x06\x43hoice\"+\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x08\n\x04port\x10\x01\x12\x08\n\x04\x66low\x10\x02\x42\t\n\x07_choiceB\x07\n\x05_portB\x07\n\x05_flow\"\xc5\x01\n\x07Metrics\x12\x30\n\x06\x63hoice\x18\x01 \x01(\x0e\x32\x1b.sanity.Metrics.Choice.EnumH\x00\x88\x01\x01\x12!\n\x05ports\x18\x02 \x03(\x0b\x32\x12.sanity.PortMetric\x12!\n\x05\x66lows\x18\x03 \x03(\x0b\x32\x12.sanity.FlowMetric\x1a\x37\n\x06\x43hoice\"-\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\t\n\x05ports\x10\x01\x12\t\n\x05\x66lows\x10\x02\x42\t\n\x07_choice\"@\n\nPortMetric\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\ttx_frames\x18\x02 \x01(\x01\x12\x11\n\trx_frames\x18\x03 \x01(\x01\"@\n\nFlowMetric\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\ttx_frames\x18\x02 \x01(\x01\x12\x11\n\trx_frames\x18\x03 \x01(\x01\"\xed\x01\n\x14RequiredChoiceParent\x12\x38\n\x06\x63hoice\x18\x01 \x01(\x0e\x32(.sanity.RequiredChoiceParent.Choice.Enum\x12\x41\n\x10intermediate_obj\x18\x02 \x01(\x0b\x32\".sanity.RequiredChoiceIntermediateH\x00\x88\x01\x01\x1a\x43\n\x06\x43hoice\"9\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x14\n\x10intermediate_obj\x10\x01\x12\n\n\x06no_obj\x10\x02\x42\x13\n\x11_intermediate_obj\"\xeb\x01\n\x1aRequiredChoiceIntermediate\x12>\n\x06\x63hoice\x18\x01 \x01(\x0e\x32..sanity.RequiredChoiceIntermediate.Choice.Enum\x12\x10\n\x03\x66_a\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x34\n\x04leaf\x18\x03 \x01(\x0b\x32!.sanity.RequiredChoiceIntermeLeafH\x01\x88\x01\x01\x1a\x34\n\x06\x43hoice\"*\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x07\n\x03\x66_a\x10\x01\x12\x08\n\x04leaf\x10\x02\x42\x06\n\x04_f_aB\x07\n\x05_leaf\"7\n\x19RequiredChoiceIntermeLeaf\x12\x11\n\x04name\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x07\n\x05_name\"k\n\x08LevelOne\x12$\n\x05l1_p1\x18\x01 \x01(\x0b\x32\x10.sanity.LevelTwoH\x00\x88\x01\x01\x12%\n\x05l1_p2\x18\x02 \x01(\x0b\x32\x11.sanity.LevelFourH\x01\x88\x01\x01\x42\x08\n\x06_l1_p1B\x08\n\x06_l1_p2\"<\n\x08LevelTwo\x12&\n\x05l2_p1\x18\x01 \x01(\x0b\x32\x12.sanity.LevelThreeH\x00\x88\x01\x01\x42\x08\n\x06_l2_p1\"*\n\nLevelThree\x12\x12\n\x05l3_p1\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_l3_p1\";\n\tLevelFour\x12$\n\x05l4_p1\x18\x01 \x01(\x0b\x32\x10.sanity.LevelOneH\x00\x88\x01\x01\x42\x08\n\x06_l4_p1\"I\n\x0bIpv4Pattern\x12\x31\n\x04ipv4\x18\x01 \x01(\x0b\x32\x1e.sanity.PatternIpv4PatternIpv4H\x00\x88\x01\x01\x42\x07\n\x05_ipv4\"I\n\x0bIpv6Pattern\x12\x31\n\x04ipv6\x18\x01 \x01(\x0b\x32\x1e.sanity.PatternIpv6PatternIpv6H\x00\x88\x01\x01\x42\x07\n\x05_ipv6\"D\n\nMacPattern\x12.\n\x03mac\x18\x01 \x01(\x0b\x32\x1c.sanity.PatternMacPatternMacH\x00\x88\x01\x01\x42\x06\n\x04_mac\"X\n\x0eIntegerPattern\x12:\n\x07integer\x18\x01 \x01(\x0b\x32$.sanity.PatternIntegerPatternIntegerH\x00\x88\x01\x01\x42\n\n\x08_integer\"]\n\x0f\x43hecksumPattern\x12=\n\x08\x63hecksum\x18\x01 \x01(\x0b\x32&.sanity.PatternChecksumPatternChecksumH\x00\x88\x01\x01\x42\x0b\n\t_checksum\"9\n\x15\x43ommonResponseSuccess\x12\x14\n\x07message\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\n\n\x08_message\"<\n\x10\x41piTestInputBody\x12\x18\n\x0bsome_string\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_some_string\"\xa0\x01\n\x0eServiceAbcItem\x12\x14\n\x07some_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0bsome_string\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x14\n\x07path_id\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x14\n\x07level_2\x18\x04 \x01(\tH\x03\x88\x01\x01\x42\n\n\x08_some_idB\x0e\n\x0c_some_stringB\n\n\x08_path_idB\n\n\x08_level_2\";\n\x12ServiceAbcItemList\x12%\n\x05items\x18\x01 \x03(\x0b\x32\x16.sanity.ServiceAbcItem\"\xf1\x02\n!PatternPrefixConfigHeaderChecksum\x12J\n\x06\x63hoice\x18\x01 \x01(\x0e\x32\x35.sanity.PatternPrefixConfigHeaderChecksum.Choice.EnumH\x00\x88\x01\x01\x12P\n\tgenerated\x18\x02 \x01(\x0e\x32\x38.sanity.PatternPrefixConfigHeaderChecksum.Generated.EnumH\x01\x88\x01\x01\x12\x13\n\x06\x63ustom\x18\x03 \x01(\rH\x02\x88\x01\x01\x1a<\n\x06\x43hoice\"2\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\r\n\tgenerated\x10\x01\x12\n\n\x06\x63ustom\x10\x02\x1a\x37\n\tGenerated\"*\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x08\n\x04good\x10\x01\x12\x07\n\x03\x62\x61\x64\x10\x02\x42\t\n\x07_choiceB\x0c\n\n_generatedB\t\n\x07_custom\"\x81\x01\n\'PatternPrefixConfigAutoFieldTestCounter\x12\x12\n\x05start\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x11\n\x04step\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\x08\n\x06_startB\x07\n\x05_stepB\x08\n\x06_count\"\xd2\x03\n PatternPrefixConfigAutoFieldTest\x12I\n\x06\x63hoice\x18\x01 \x01(\x0e\x32\x34.sanity.PatternPrefixConfigAutoFieldTest.Choice.EnumH\x00\x88\x01\x01\x12\x12\n\x05value\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x0e\n\x06values\x18\x03 \x03(\r\x12\x11\n\x04\x61uto\x18\x04 \x01(\rH\x02\x88\x01\x01\x12G\n\tincrement\x18\x06 \x01(\x0b\x32/.sanity.PatternPrefixConfigAutoFieldTestCounterH\x03\x88\x01\x01\x12G\n\tdecrement\x18\x07 \x01(\x0b\x32/.sanity.PatternPrefixConfigAutoFieldTestCounterH\x04\x88\x01\x01\x1a`\n\x06\x43hoice\"V\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\t\n\x05value\x10\x02\x12\n\n\x06values\x10\x03\x12\x08\n\x04\x61uto\x10\x01\x12\r\n\tincrement\x10\x04\x12\r\n\tdecrement\x10\x05\x42\t\n\x07_choiceB\x08\n\x06_valueB\x07\n\x05_autoB\x0c\n\n_incrementB\x0c\n\n_decrement\"w\n\x1dPatternIpv4PatternIpv4Counter\x12\x12\n\x05start\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04step\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\x08\n\x06_startB\x07\n\x05_stepB\x08\n\x06_count\"\x84\x03\n\x16PatternIpv4PatternIpv4\x12?\n\x06\x63hoice\x18\x01 \x01(\x0e\x32*.sanity.PatternIpv4PatternIpv4.Choice.EnumH\x00\x88\x01\x01\x12\x12\n\x05value\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x0e\n\x06values\x18\x03 \x03(\t\x12=\n\tincrement\x18\x05 \x01(\x0b\x32%.sanity.PatternIpv4PatternIpv4CounterH\x02\x88\x01\x01\x12=\n\tdecrement\x18\x06 \x01(\x0b\x32%.sanity.PatternIpv4PatternIpv4CounterH\x03\x88\x01\x01\x1aV\n\x06\x43hoice\"L\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\t\n\x05value\x10\x02\x12\n\n\x06values\x10\x03\x12\r\n\tincrement\x10\x04\x12\r\n\tdecrement\x10\x05\x42\t\n\x07_choiceB\x08\n\x06_valueB\x0c\n\n_incrementB\x0c\n\n_decrement\"w\n\x1dPatternIpv6PatternIpv6Counter\x12\x12\n\x05start\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04step\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\x08\n\x06_startB\x07\n\x05_stepB\x08\n\x06_count\"\x84\x03\n\x16PatternIpv6PatternIpv6\x12?\n\x06\x63hoice\x18\x01 \x01(\x0e\x32*.sanity.PatternIpv6PatternIpv6.Choice.EnumH\x00\x88\x01\x01\x12\x12\n\x05value\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x0e\n\x06values\x18\x03 \x03(\t\x12=\n\tincrement\x18\x05 \x01(\x0b\x32%.sanity.PatternIpv6PatternIpv6CounterH\x02\x88\x01\x01\x12=\n\tdecrement\x18\x06 \x01(\x0b\x32%.sanity.PatternIpv6PatternIpv6CounterH\x03\x88\x01\x01\x1aV\n\x06\x43hoice\"L\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\t\n\x05value\x10\x02\x12\n\n\x06values\x10\x03\x12\r\n\tincrement\x10\x04\x12\r\n\tdecrement\x10\x05\x42\t\n\x07_choiceB\x08\n\x06_valueB\x0c\n\n_incrementB\x0c\n\n_decrement\"u\n\x1bPatternMacPatternMacCounter\x12\x12\n\x05start\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04step\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\x08\n\x06_startB\x07\n\x05_stepB\x08\n\x06_count\"\xa2\x03\n\x14PatternMacPatternMac\x12=\n\x06\x63hoice\x18\x01 \x01(\x0e\x32(.sanity.PatternMacPatternMac.Choice.EnumH\x00\x88\x01\x01\x12\x12\n\x05value\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x0e\n\x06values\x18\x03 \x03(\t\x12\x11\n\x04\x61uto\x18\x04 \x01(\tH\x02\x88\x01\x01\x12;\n\tincrement\x18\x06 \x01(\x0b\x32#.sanity.PatternMacPatternMacCounterH\x03\x88\x01\x01\x12;\n\tdecrement\x18\x07 \x01(\x0b\x32#.sanity.PatternMacPatternMacCounterH\x04\x88\x01\x01\x1a`\n\x06\x43hoice\"V\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\t\n\x05value\x10\x02\x12\n\n\x06values\x10\x03\x12\x08\n\x04\x61uto\x10\x01\x12\r\n\tincrement\x10\x04\x12\r\n\tdecrement\x10\x05\x42\t\n\x07_choiceB\x08\n\x06_valueB\x07\n\x05_autoB\x0c\n\n_incrementB\x0c\n\n_decrement\"}\n#PatternIntegerPatternIntegerCounter\x12\x12\n\x05start\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x11\n\x04step\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x12\n\x05\x63ount\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\x08\n\x06_startB\x07\n\x05_stepB\x08\n\x06_count\"\x9c\x03\n\x1cPatternIntegerPatternInteger\x12\x45\n\x06\x63hoice\x18\x01 \x01(\x0e\x32\x30.sanity.PatternIntegerPatternInteger.Choice.EnumH\x00\x88\x01\x01\x12\x12\n\x05value\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x0e\n\x06values\x18\x03 \x03(\r\x12\x43\n\tincrement\x18\x05 \x01(\x0b\x32+.sanity.PatternIntegerPatternIntegerCounterH\x02\x88\x01\x01\x12\x43\n\tdecrement\x18\x06 \x01(\x0b\x32+.sanity.PatternIntegerPatternIntegerCounterH\x03\x88\x01\x01\x1aV\n\x06\x43hoice\"L\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\t\n\x05value\x10\x02\x12\n\n\x06values\x10\x03\x12\r\n\tincrement\x10\x04\x12\r\n\tdecrement\x10\x05\x42\t\n\x07_choiceB\x08\n\x06_valueB\x0c\n\n_incrementB\x0c\n\n_decrement\"\xe8\x02\n\x1ePatternChecksumPatternChecksum\x12G\n\x06\x63hoice\x18\x01 \x01(\x0e\x32\x32.sanity.PatternChecksumPatternChecksum.Choice.EnumH\x00\x88\x01\x01\x12M\n\tgenerated\x18\x02 \x01(\x0e\x32\x35.sanity.PatternChecksumPatternChecksum.Generated.EnumH\x01\x88\x01\x01\x12\x13\n\x06\x63ustom\x18\x03 \x01(\rH\x02\x88\x01\x01\x1a<\n\x06\x43hoice\"2\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\r\n\tgenerated\x10\x01\x12\n\n\x06\x63ustom\x10\x02\x1a\x37\n\tGenerated\"*\n\x04\x45num\x12\x0f\n\x0bunspecified\x10\x00\x12\x08\n\x04good\x10\x01\x12\x07\n\x03\x62\x61\x64\x10\x02\x42\t\n\x07_choiceB\x0c\n\n_generatedB\t\n\x07_custom\"\x91\x01\n\x07Version\x12\x1d\n\x10\x61pi_spec_version\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0bsdk_version\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0b\x61pp_version\x18\x03 \x01(\tH\x02\x88\x01\x01\x42\x13\n\x11_api_spec_versionB\x0e\n\x0c_sdk_versionB\x0e\n\x0c_app_version\";\n\x08Warnings\x12/\n\x0fwarning_details\x18\x01 \x01(\x0b\x32\x16.sanity.WarningDetails\"?\n\x10SetConfigRequest\x12+\n\rprefix_config\x18\x01 \x01(\x0b\x32\x14.sanity.PrefixConfig\"I\n\x1aUpdateConfigurationRequest\x12+\n\rupdate_config\x18\x01 \x01(\x0b\x32\x14.sanity.UpdateConfig\"+\n\x11SetConfigResponse\x12\x16\n\x0eresponse_bytes\x18\x01 \x01(\x0c\"J\n\x1bUpdateConfigurationResponse\x12+\n\rprefix_config\x18\x01 \x01(\x0b\x32\x14.sanity.PrefixConfig\"@\n\x11GetConfigResponse\x12+\n\rprefix_config\x18\x01 \x01(\x0b\x32\x14.sanity.PrefixConfig\"D\n\x11GetMetricsRequest\x12/\n\x0fmetrics_request\x18\x01 \x01(\x0b\x32\x16.sanity.MetricsRequest\"6\n\x12GetMetricsResponse\x12 \n\x07metrics\x18\x01 \x01(\x0b\x32\x0f.sanity.Metrics\"F\n\x13GetWarningsResponse\x12/\n\x0fwarning_details\x18\x01 \x01(\x0b\x32\x16.sanity.WarningDetails\"\'\n\x15\x43learWarningsResponse\x12\x0e\n\x06string\x18\x01 \x01(\t\"P\n\x17PostRootResponseRequest\x12\x35\n\x13\x61pi_test_input_body\x18\x01 \x01(\x0b\x32\x18.sanity.ApiTestInputBody\"Y\n\x17GetRootResponseResponse\x12>\n\x17\x63ommon_response_success\x18\x01 \x01(\x0b\x32\x1d.sanity.CommonResponseSuccess\"+\n\x19\x44ummyResponseTestResponse\x12\x0e\n\x06string\x18\x01 \x01(\t\"Z\n\x18PostRootResponseResponse\x12>\n\x17\x63ommon_response_success\x18\x01 \x01(\x0b\x32\x1d.sanity.CommonResponseSuccess\"P\n\x13GetAllItemsResponse\x12\x39\n\x15service_abc_item_list\x18\x01 \x01(\x0b\x32\x1a.sanity.ServiceAbcItemList\"I\n\x15GetSingleItemResponse\x12\x30\n\x10service_abc_item\x18\x01 \x01(\x0b\x32\x16.sanity.ServiceAbcItem\"O\n\x1bGetSingleItemLevel2Response\x12\x30\n\x10service_abc_item\x18\x01 \x01(\x0b\x32\x16.sanity.ServiceAbcItem\"6\n\x12GetVersionResponse\x12 \n\x07version\x18\x01 \x01(\x0b\x32\x0f.sanity.Version2\xd1\x07\n\x07Openapi\x12@\n\tSetConfig\x12\x18.sanity.SetConfigRequest\x1a\x19.sanity.SetConfigResponse\x12^\n\x13UpdateConfiguration\x12\".sanity.UpdateConfigurationRequest\x1a#.sanity.UpdateConfigurationResponse\x12>\n\tGetConfig\x12\x16.google.protobuf.Empty\x1a\x19.sanity.GetConfigResponse\x12\x43\n\nGetMetrics\x12\x19.sanity.GetMetricsRequest\x1a\x1a.sanity.GetMetricsResponse\x12\x42\n\x0bGetWarnings\x12\x16.google.protobuf.Empty\x1a\x1b.sanity.GetWarningsResponse\x12\x46\n\rClearWarnings\x12\x16.google.protobuf.Empty\x1a\x1d.sanity.ClearWarningsResponse\x12J\n\x0fGetRootResponse\x12\x16.google.protobuf.Empty\x1a\x1f.sanity.GetRootResponseResponse\x12N\n\x11\x44ummyResponseTest\x12\x16.google.protobuf.Empty\x1a!.sanity.DummyResponseTestResponse\x12U\n\x10PostRootResponse\x12\x1f.sanity.PostRootResponseRequest\x1a .sanity.PostRootResponseResponse\x12\x42\n\x0bGetAllItems\x12\x16.google.protobuf.Empty\x1a\x1b.sanity.GetAllItemsResponse\x12\x46\n\rGetSingleItem\x12\x16.google.protobuf.Empty\x1a\x1d.sanity.GetSingleItemResponse\x12R\n\x13GetSingleItemLevel2\x12\x16.google.protobuf.Empty\x1a#.sanity.GetSingleItemLevel2Response\x12@\n\nGetVersion\x12\x16.google.protobuf.Empty\x1a\x1a.sanity.GetVersionResponseB\x11Z\x0f./sanity;sanityb\x06proto3') - -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sanity_pb2', globals()) -if _descriptor._USE_C_DESCRIPTORS == False: - - DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'Z\017./sanity;sanity' - _ERRORDETAILS._serialized_start=87 - _ERRORDETAILS._serialized_end=117 - _WARNINGDETAILS._serialized_start=119 - _WARNINGDETAILS._serialized_end=153 - _ERROR._serialized_start=156 - _ERROR._serialized_end=324 - _ERROR_KIND._serialized_start=239 - _ERROR_KIND._serialized_end=315 - _ERROR_KIND_ENUM._serialized_start=247 - _ERROR_KIND_ENUM._serialized_end=315 - _PREFIXCONFIG._serialized_start=327 - _PREFIXCONFIG._serialized_end=2762 - _PREFIXCONFIG_RESPONSE._serialized_start=2148 - _PREFIXCONFIG_RESPONSE._serialized_end=2247 - _PREFIXCONFIG_RESPONSE_ENUM._serialized_start=2160 - _PREFIXCONFIG_RESPONSE_ENUM._serialized_end=2247 - _PREFIXCONFIG_DVALUES._serialized_start=2249 - _PREFIXCONFIG_DVALUES._serialized_end=2304 - _PREFIXCONFIG_DVALUES_ENUM._serialized_start=2260 - _PREFIXCONFIG_DVALUES_ENUM._serialized_end=2304 - _WOBJECT._serialized_start=2764 - _WOBJECT._serialized_end=2789 - _ZOBJECT._serialized_start=2791 - _ZOBJECT._serialized_end=2814 - _YOBJECT._serialized_start=2816 - _YOBJECT._serialized_end=2857 - _LAYER1IEEE802X._serialized_start=2859 - _LAYER1IEEE802X._serialized_end=2919 - _GOBJECT._serialized_start=2922 - _GOBJECT._serialized_end=3306 - _GOBJECT_CHOICE._serialized_start=3135 - _GOBJECT_CHOICE._serialized_end=3186 - _GOBJECT_CHOICE_ENUM._serialized_start=3145 - _GOBJECT_CHOICE_ENUM._serialized_end=3186 - _GOBJECT_GF._serialized_start=3188 - _GOBJECT_GF._serialized_end=3238 - _GOBJECT_GF_ENUM._serialized_start=2260 - _GOBJECT_GF_ENUM._serialized_end=2304 - _EOBJECT._serialized_start=3309 - _EOBJECT._serialized_end=3444 - _FOBJECT._serialized_start=3447 - _FOBJECT._serialized_end=3631 - _FOBJECT_CHOICE._serialized_start=3544 - _FOBJECT_CHOICE._serialized_end=3604 - _FOBJECT_CHOICE_ENUM._serialized_start=3554 - _FOBJECT_CHOICE_ENUM._serialized_end=3604 - _JOBJECT._serialized_start=3634 - _JOBJECT._serialized_end=3843 - _JOBJECT_CHOICE._serialized_start=3765 - _JOBJECT_CHOICE._serialized_end=3816 - _JOBJECT_CHOICE_ENUM._serialized_start=3775 - _JOBJECT_CHOICE_ENUM._serialized_end=3816 - _CHOICEOBJECT._serialized_start=3846 - _CHOICEOBJECT._serialized_end=4089 - _CHOICEOBJECT_CHOICE._serialized_start=3991 - _CHOICEOBJECT_CHOICE._serialized_end=4058 - _CHOICEOBJECT_CHOICE_ENUM._serialized_start=4001 - _CHOICEOBJECT_CHOICE_ENUM._serialized_end=4058 - _KOBJECT._serialized_start=4091 - _KOBJECT._serialized_end=4206 - _LOBJECT._serialized_start=4209 - _LOBJECT._serialized_end=4466 - _MOBJECT._serialized_start=4469 - _MOBJECT._serialized_end=4602 - _MANDATE._serialized_start=4604 - _MANDATE._serialized_end=4637 - _UPDATECONFIG._serialized_start=4639 - _UPDATECONFIG._serialized_end=4681 - _METRICSREQUEST._serialized_start=4684 - _METRICSREQUEST._serialized_end=4879 - _METRICSREQUEST_CHOICE._serialized_start=4797 - _METRICSREQUEST_CHOICE._serialized_end=4850 - _METRICSREQUEST_CHOICE_ENUM._serialized_start=4807 - _METRICSREQUEST_CHOICE_ENUM._serialized_end=4850 - _METRICS._serialized_start=4882 - _METRICS._serialized_end=5079 - _METRICS_CHOICE._serialized_start=5013 - _METRICS_CHOICE._serialized_end=5068 - _METRICS_CHOICE_ENUM._serialized_start=5023 - _METRICS_CHOICE_ENUM._serialized_end=5068 - _PORTMETRIC._serialized_start=5081 - _PORTMETRIC._serialized_end=5145 - _FLOWMETRIC._serialized_start=5147 - _FLOWMETRIC._serialized_end=5211 - _REQUIREDCHOICEPARENT._serialized_start=5214 - _REQUIREDCHOICEPARENT._serialized_end=5451 - _REQUIREDCHOICEPARENT_CHOICE._serialized_start=5363 - _REQUIREDCHOICEPARENT_CHOICE._serialized_end=5430 - _REQUIREDCHOICEPARENT_CHOICE_ENUM._serialized_start=5373 - _REQUIREDCHOICEPARENT_CHOICE_ENUM._serialized_end=5430 - _REQUIREDCHOICEINTERMEDIATE._serialized_start=5454 - _REQUIREDCHOICEINTERMEDIATE._serialized_end=5689 - _REQUIREDCHOICEINTERMEDIATE_CHOICE._serialized_start=5620 - _REQUIREDCHOICEINTERMEDIATE_CHOICE._serialized_end=5672 - _REQUIREDCHOICEINTERMEDIATE_CHOICE_ENUM._serialized_start=5630 - _REQUIREDCHOICEINTERMEDIATE_CHOICE_ENUM._serialized_end=5672 - _REQUIREDCHOICEINTERMELEAF._serialized_start=5691 - _REQUIREDCHOICEINTERMELEAF._serialized_end=5746 - _LEVELONE._serialized_start=5748 - _LEVELONE._serialized_end=5855 - _LEVELTWO._serialized_start=5857 - _LEVELTWO._serialized_end=5917 - _LEVELTHREE._serialized_start=5919 - _LEVELTHREE._serialized_end=5961 - _LEVELFOUR._serialized_start=5963 - _LEVELFOUR._serialized_end=6022 - _IPV4PATTERN._serialized_start=6024 - _IPV4PATTERN._serialized_end=6097 - _IPV6PATTERN._serialized_start=6099 - _IPV6PATTERN._serialized_end=6172 - _MACPATTERN._serialized_start=6174 - _MACPATTERN._serialized_end=6242 - _INTEGERPATTERN._serialized_start=6244 - _INTEGERPATTERN._serialized_end=6332 - _CHECKSUMPATTERN._serialized_start=6334 - _CHECKSUMPATTERN._serialized_end=6427 - _COMMONRESPONSESUCCESS._serialized_start=6429 - _COMMONRESPONSESUCCESS._serialized_end=6486 - _APITESTINPUTBODY._serialized_start=6488 - _APITESTINPUTBODY._serialized_end=6548 - _SERVICEABCITEM._serialized_start=6551 - _SERVICEABCITEM._serialized_end=6711 - _SERVICEABCITEMLIST._serialized_start=6713 - _SERVICEABCITEMLIST._serialized_end=6772 - _PATTERNPREFIXCONFIGHEADERCHECKSUM._serialized_start=6775 - _PATTERNPREFIXCONFIGHEADERCHECKSUM._serialized_end=7144 - _PATTERNPREFIXCONFIGHEADERCHECKSUM_CHOICE._serialized_start=6991 - _PATTERNPREFIXCONFIGHEADERCHECKSUM_CHOICE._serialized_end=7051 - _PATTERNPREFIXCONFIGHEADERCHECKSUM_CHOICE_ENUM._serialized_start=7001 - _PATTERNPREFIXCONFIGHEADERCHECKSUM_CHOICE_ENUM._serialized_end=7051 - _PATTERNPREFIXCONFIGHEADERCHECKSUM_GENERATED._serialized_start=7053 - _PATTERNPREFIXCONFIGHEADERCHECKSUM_GENERATED._serialized_end=7108 - _PATTERNPREFIXCONFIGHEADERCHECKSUM_GENERATED_ENUM._serialized_start=7066 - _PATTERNPREFIXCONFIGHEADERCHECKSUM_GENERATED_ENUM._serialized_end=7108 - _PATTERNPREFIXCONFIGAUTOFIELDTESTCOUNTER._serialized_start=7147 - _PATTERNPREFIXCONFIGAUTOFIELDTESTCOUNTER._serialized_end=7276 - _PATTERNPREFIXCONFIGAUTOFIELDTEST._serialized_start=7279 - _PATTERNPREFIXCONFIGAUTOFIELDTEST._serialized_end=7745 - _PATTERNPREFIXCONFIGAUTOFIELDTEST_CHOICE._serialized_start=7591 - _PATTERNPREFIXCONFIGAUTOFIELDTEST_CHOICE._serialized_end=7687 - _PATTERNPREFIXCONFIGAUTOFIELDTEST_CHOICE_ENUM._serialized_start=7601 - _PATTERNPREFIXCONFIGAUTOFIELDTEST_CHOICE_ENUM._serialized_end=7687 - _PATTERNIPV4PATTERNIPV4COUNTER._serialized_start=7747 - _PATTERNIPV4PATTERNIPV4COUNTER._serialized_end=7866 - _PATTERNIPV4PATTERNIPV4._serialized_start=7869 - _PATTERNIPV4PATTERNIPV4._serialized_end=8257 - _PATTERNIPV4PATTERNIPV4_CHOICE._serialized_start=8122 - _PATTERNIPV4PATTERNIPV4_CHOICE._serialized_end=8208 - _PATTERNIPV4PATTERNIPV4_CHOICE_ENUM._serialized_start=8132 - _PATTERNIPV4PATTERNIPV4_CHOICE_ENUM._serialized_end=8208 - _PATTERNIPV6PATTERNIPV6COUNTER._serialized_start=8259 - _PATTERNIPV6PATTERNIPV6COUNTER._serialized_end=8378 - _PATTERNIPV6PATTERNIPV6._serialized_start=8381 - _PATTERNIPV6PATTERNIPV6._serialized_end=8769 - _PATTERNIPV6PATTERNIPV6_CHOICE._serialized_start=8122 - _PATTERNIPV6PATTERNIPV6_CHOICE._serialized_end=8208 - _PATTERNIPV6PATTERNIPV6_CHOICE_ENUM._serialized_start=8132 - _PATTERNIPV6PATTERNIPV6_CHOICE_ENUM._serialized_end=8208 - _PATTERNMACPATTERNMACCOUNTER._serialized_start=8771 - _PATTERNMACPATTERNMACCOUNTER._serialized_end=8888 - _PATTERNMACPATTERNMAC._serialized_start=8891 - _PATTERNMACPATTERNMAC._serialized_end=9309 - _PATTERNMACPATTERNMAC_CHOICE._serialized_start=7591 - _PATTERNMACPATTERNMAC_CHOICE._serialized_end=7687 - _PATTERNMACPATTERNMAC_CHOICE_ENUM._serialized_start=7601 - _PATTERNMACPATTERNMAC_CHOICE_ENUM._serialized_end=7687 - _PATTERNINTEGERPATTERNINTEGERCOUNTER._serialized_start=9311 - _PATTERNINTEGERPATTERNINTEGERCOUNTER._serialized_end=9436 - _PATTERNINTEGERPATTERNINTEGER._serialized_start=9439 - _PATTERNINTEGERPATTERNINTEGER._serialized_end=9851 - _PATTERNINTEGERPATTERNINTEGER_CHOICE._serialized_start=8122 - _PATTERNINTEGERPATTERNINTEGER_CHOICE._serialized_end=8208 - _PATTERNINTEGERPATTERNINTEGER_CHOICE_ENUM._serialized_start=8132 - _PATTERNINTEGERPATTERNINTEGER_CHOICE_ENUM._serialized_end=8208 - _PATTERNCHECKSUMPATTERNCHECKSUM._serialized_start=9854 - _PATTERNCHECKSUMPATTERNCHECKSUM._serialized_end=10214 - _PATTERNCHECKSUMPATTERNCHECKSUM_CHOICE._serialized_start=6991 - _PATTERNCHECKSUMPATTERNCHECKSUM_CHOICE._serialized_end=7051 - _PATTERNCHECKSUMPATTERNCHECKSUM_CHOICE_ENUM._serialized_start=7001 - _PATTERNCHECKSUMPATTERNCHECKSUM_CHOICE_ENUM._serialized_end=7051 - _PATTERNCHECKSUMPATTERNCHECKSUM_GENERATED._serialized_start=7053 - _PATTERNCHECKSUMPATTERNCHECKSUM_GENERATED._serialized_end=7108 - _PATTERNCHECKSUMPATTERNCHECKSUM_GENERATED_ENUM._serialized_start=7066 - _PATTERNCHECKSUMPATTERNCHECKSUM_GENERATED_ENUM._serialized_end=7108 - _VERSION._serialized_start=10217 - _VERSION._serialized_end=10362 - _WARNINGS._serialized_start=10364 - _WARNINGS._serialized_end=10423 - _SETCONFIGREQUEST._serialized_start=10425 - _SETCONFIGREQUEST._serialized_end=10488 - _UPDATECONFIGURATIONREQUEST._serialized_start=10490 - _UPDATECONFIGURATIONREQUEST._serialized_end=10563 - _SETCONFIGRESPONSE._serialized_start=10565 - _SETCONFIGRESPONSE._serialized_end=10608 - _UPDATECONFIGURATIONRESPONSE._serialized_start=10610 - _UPDATECONFIGURATIONRESPONSE._serialized_end=10684 - _GETCONFIGRESPONSE._serialized_start=10686 - _GETCONFIGRESPONSE._serialized_end=10750 - _GETMETRICSREQUEST._serialized_start=10752 - _GETMETRICSREQUEST._serialized_end=10820 - _GETMETRICSRESPONSE._serialized_start=10822 - _GETMETRICSRESPONSE._serialized_end=10876 - _GETWARNINGSRESPONSE._serialized_start=10878 - _GETWARNINGSRESPONSE._serialized_end=10948 - _CLEARWARNINGSRESPONSE._serialized_start=10950 - _CLEARWARNINGSRESPONSE._serialized_end=10989 - _POSTROOTRESPONSEREQUEST._serialized_start=10991 - _POSTROOTRESPONSEREQUEST._serialized_end=11071 - _GETROOTRESPONSERESPONSE._serialized_start=11073 - _GETROOTRESPONSERESPONSE._serialized_end=11162 - _DUMMYRESPONSETESTRESPONSE._serialized_start=11164 - _DUMMYRESPONSETESTRESPONSE._serialized_end=11207 - _POSTROOTRESPONSERESPONSE._serialized_start=11209 - _POSTROOTRESPONSERESPONSE._serialized_end=11299 - _GETALLITEMSRESPONSE._serialized_start=11301 - _GETALLITEMSRESPONSE._serialized_end=11381 - _GETSINGLEITEMRESPONSE._serialized_start=11383 - _GETSINGLEITEMRESPONSE._serialized_end=11456 - _GETSINGLEITEMLEVEL2RESPONSE._serialized_start=11458 - _GETSINGLEITEMLEVEL2RESPONSE._serialized_end=11537 - _GETVERSIONRESPONSE._serialized_start=11539 - _GETVERSIONRESPONSE._serialized_end=11593 - _OPENAPI._serialized_start=11596 - _OPENAPI._serialized_end=12573 -# @@protoc_insertion_point(module_scope) diff --git a/artifacts/sanity/sanity_pb2_grpc.py b/artifacts/sanity/sanity_pb2_grpc.py deleted file mode 100644 index 3189ad16..00000000 --- a/artifacts/sanity/sanity_pb2_grpc.py +++ /dev/null @@ -1,499 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -"""Client and server classes corresponding to protobuf-defined services.""" -import grpc - -from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 -try: - import sanity_pb2 as sanity__pb2 -except ImportError: - from sanity import sanity_pb2 as sanity__pb2 - - -class OpenapiStub(object): - """Description missing in models - - For all RPCs defined in this service, API Server SHOULD provide JSON - representation of `Error` message as an error string upon failure, ensuring - name of enum constants (instead of value) for `kind` property is present - in the representation - """ - - def __init__(self, channel): - """Constructor. - - Args: - channel: A grpc.Channel. - """ - self.SetConfig = channel.unary_unary( - '/sanity.Openapi/SetConfig', - request_serializer=sanity__pb2.SetConfigRequest.SerializeToString, - response_deserializer=sanity__pb2.SetConfigResponse.FromString, - ) - self.UpdateConfiguration = channel.unary_unary( - '/sanity.Openapi/UpdateConfiguration', - request_serializer=sanity__pb2.UpdateConfigurationRequest.SerializeToString, - response_deserializer=sanity__pb2.UpdateConfigurationResponse.FromString, - ) - self.GetConfig = channel.unary_unary( - '/sanity.Openapi/GetConfig', - request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=sanity__pb2.GetConfigResponse.FromString, - ) - self.GetMetrics = channel.unary_unary( - '/sanity.Openapi/GetMetrics', - request_serializer=sanity__pb2.GetMetricsRequest.SerializeToString, - response_deserializer=sanity__pb2.GetMetricsResponse.FromString, - ) - self.GetWarnings = channel.unary_unary( - '/sanity.Openapi/GetWarnings', - request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=sanity__pb2.GetWarningsResponse.FromString, - ) - self.ClearWarnings = channel.unary_unary( - '/sanity.Openapi/ClearWarnings', - request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=sanity__pb2.ClearWarningsResponse.FromString, - ) - self.GetRootResponse = channel.unary_unary( - '/sanity.Openapi/GetRootResponse', - request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=sanity__pb2.GetRootResponseResponse.FromString, - ) - self.DummyResponseTest = channel.unary_unary( - '/sanity.Openapi/DummyResponseTest', - request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=sanity__pb2.DummyResponseTestResponse.FromString, - ) - self.PostRootResponse = channel.unary_unary( - '/sanity.Openapi/PostRootResponse', - request_serializer=sanity__pb2.PostRootResponseRequest.SerializeToString, - response_deserializer=sanity__pb2.PostRootResponseResponse.FromString, - ) - self.GetAllItems = channel.unary_unary( - '/sanity.Openapi/GetAllItems', - request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=sanity__pb2.GetAllItemsResponse.FromString, - ) - self.GetSingleItem = channel.unary_unary( - '/sanity.Openapi/GetSingleItem', - request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=sanity__pb2.GetSingleItemResponse.FromString, - ) - self.GetSingleItemLevel2 = channel.unary_unary( - '/sanity.Openapi/GetSingleItemLevel2', - request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=sanity__pb2.GetSingleItemLevel2Response.FromString, - ) - self.GetVersion = channel.unary_unary( - '/sanity.Openapi/GetVersion', - request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=sanity__pb2.GetVersionResponse.FromString, - ) - - -class OpenapiServicer(object): - """Description missing in models - - For all RPCs defined in this service, API Server SHOULD provide JSON - representation of `Error` message as an error string upon failure, ensuring - name of enum constants (instead of value) for `kind` property is present - in the representation - """ - - def SetConfig(self, request, context): - """Sets configuration resources. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def UpdateConfiguration(self, request, context): - """Deprecated: please use post instead - - Sets configuration resources. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetConfig(self, request, context): - """Gets the configuration resources. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetMetrics(self, request, context): - """Gets metrics. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetWarnings(self, request, context): - """Gets warnings. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ClearWarnings(self, request, context): - """Clears warnings. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetRootResponse(self, request, context): - """simple GET api with single return type - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def DummyResponseTest(self, request, context): - """Description missing in models - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def PostRootResponse(self, request, context): - """simple POST api with single return type - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetAllItems(self, request, context): - """return list of some items - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetSingleItem(self, request, context): - """return single item - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetSingleItemLevel2(self, request, context): - """return single item - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetVersion(self, request, context): - """Description missing in models - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - -def add_OpenapiServicer_to_server(servicer, server): - rpc_method_handlers = { - 'SetConfig': grpc.unary_unary_rpc_method_handler( - servicer.SetConfig, - request_deserializer=sanity__pb2.SetConfigRequest.FromString, - response_serializer=sanity__pb2.SetConfigResponse.SerializeToString, - ), - 'UpdateConfiguration': grpc.unary_unary_rpc_method_handler( - servicer.UpdateConfiguration, - request_deserializer=sanity__pb2.UpdateConfigurationRequest.FromString, - response_serializer=sanity__pb2.UpdateConfigurationResponse.SerializeToString, - ), - 'GetConfig': grpc.unary_unary_rpc_method_handler( - servicer.GetConfig, - request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=sanity__pb2.GetConfigResponse.SerializeToString, - ), - 'GetMetrics': grpc.unary_unary_rpc_method_handler( - servicer.GetMetrics, - request_deserializer=sanity__pb2.GetMetricsRequest.FromString, - response_serializer=sanity__pb2.GetMetricsResponse.SerializeToString, - ), - 'GetWarnings': grpc.unary_unary_rpc_method_handler( - servicer.GetWarnings, - request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=sanity__pb2.GetWarningsResponse.SerializeToString, - ), - 'ClearWarnings': grpc.unary_unary_rpc_method_handler( - servicer.ClearWarnings, - request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=sanity__pb2.ClearWarningsResponse.SerializeToString, - ), - 'GetRootResponse': grpc.unary_unary_rpc_method_handler( - servicer.GetRootResponse, - request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=sanity__pb2.GetRootResponseResponse.SerializeToString, - ), - 'DummyResponseTest': grpc.unary_unary_rpc_method_handler( - servicer.DummyResponseTest, - request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=sanity__pb2.DummyResponseTestResponse.SerializeToString, - ), - 'PostRootResponse': grpc.unary_unary_rpc_method_handler( - servicer.PostRootResponse, - request_deserializer=sanity__pb2.PostRootResponseRequest.FromString, - response_serializer=sanity__pb2.PostRootResponseResponse.SerializeToString, - ), - 'GetAllItems': grpc.unary_unary_rpc_method_handler( - servicer.GetAllItems, - request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=sanity__pb2.GetAllItemsResponse.SerializeToString, - ), - 'GetSingleItem': grpc.unary_unary_rpc_method_handler( - servicer.GetSingleItem, - request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=sanity__pb2.GetSingleItemResponse.SerializeToString, - ), - 'GetSingleItemLevel2': grpc.unary_unary_rpc_method_handler( - servicer.GetSingleItemLevel2, - request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=sanity__pb2.GetSingleItemLevel2Response.SerializeToString, - ), - 'GetVersion': grpc.unary_unary_rpc_method_handler( - servicer.GetVersion, - request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=sanity__pb2.GetVersionResponse.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'sanity.Openapi', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) - - - # This class is part of an EXPERIMENTAL API. -class Openapi(object): - """Description missing in models - - For all RPCs defined in this service, API Server SHOULD provide JSON - representation of `Error` message as an error string upon failure, ensuring - name of enum constants (instead of value) for `kind` property is present - in the representation - """ - - @staticmethod - def SetConfig(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sanity.Openapi/SetConfig', - sanity__pb2.SetConfigRequest.SerializeToString, - sanity__pb2.SetConfigResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def UpdateConfiguration(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sanity.Openapi/UpdateConfiguration', - sanity__pb2.UpdateConfigurationRequest.SerializeToString, - sanity__pb2.UpdateConfigurationResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def GetConfig(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sanity.Openapi/GetConfig', - google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - sanity__pb2.GetConfigResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def GetMetrics(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sanity.Openapi/GetMetrics', - sanity__pb2.GetMetricsRequest.SerializeToString, - sanity__pb2.GetMetricsResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def GetWarnings(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sanity.Openapi/GetWarnings', - google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - sanity__pb2.GetWarningsResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def ClearWarnings(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sanity.Openapi/ClearWarnings', - google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - sanity__pb2.ClearWarningsResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def GetRootResponse(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sanity.Openapi/GetRootResponse', - google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - sanity__pb2.GetRootResponseResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def DummyResponseTest(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sanity.Openapi/DummyResponseTest', - google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - sanity__pb2.DummyResponseTestResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def PostRootResponse(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sanity.Openapi/PostRootResponse', - sanity__pb2.PostRootResponseRequest.SerializeToString, - sanity__pb2.PostRootResponseResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def GetAllItems(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sanity.Openapi/GetAllItems', - google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - sanity__pb2.GetAllItemsResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def GetSingleItem(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sanity.Openapi/GetSingleItem', - google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - sanity__pb2.GetSingleItemResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def GetSingleItemLevel2(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sanity.Openapi/GetSingleItemLevel2', - google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - sanity__pb2.GetSingleItemLevel2Response.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def GetVersion(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sanity.Openapi/GetVersion', - google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - sanity__pb2.GetVersionResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/do.py b/do.py index d6941c67..9707951e 100644 --- a/do.py +++ b/do.py @@ -516,26 +516,28 @@ def build(sdk="all", env_setup=None): print("\nSTEP 3: Generating Python and Go SDKs\n") generate(sdk=sdk, cicd="True") - # Copying files to artiofacts folder + # Copying files to artifacts folder base_dir = os.path.abspath(os.path.dirname(__file__)) artifacts_dir = os.path.join(base_dir, "artifacts") + if not os.path.exists(os.path.join(artifacts_dir, "goapi")): + os.makedirs(os.path.join(artifacts_dir, "goapi")) shutil.move( os.path.join(artifacts_dir, "requirements.txt"), - os.path.join(artifacts_dir, "sanity"), + os.path.join(artifacts_dir, "pyapi"), ) - go_path = os.path.join(artifacts_dir, "openapiart_go") + go_path = os.path.join(artifacts_dir, "goapi") shutil.copytree( os.path.join(base_dir, "pkg", "httpapi"), os.path.join(go_path, "httpapi"), dirs_exist_ok=True, ) shutil.copytree( - os.path.join(base_dir, "pkg", "sanity"), - os.path.join(go_path, "sanity"), + os.path.join(base_dir, "pkg", "openapi"), + os.path.join(go_path, "openapi"), dirs_exist_ok=True, ) - files = ["openapiart.go", "go.mod", "go.sum"] + files = ["goapi.go", "go.mod", "go.sum"] for file in files: shutil.copy(os.path.join(base_dir, "pkg", file), go_path) diff --git a/openapiart/openapiart.py b/openapiart/openapiart.py index 7cf0a9ec..229cb689 100644 --- a/openapiart/openapiart.py +++ b/openapiart/openapiart.py @@ -42,13 +42,13 @@ def __init__( ) self._go_sdk_package_dir = None self._protobuf_package_name = ( - protobuf_name if protobuf_name is not None else "sanity" + protobuf_name if protobuf_name is not None else "openapi" ) self._extension_prefix = ( - extension_prefix if extension_prefix is not None else "sanity" + extension_prefix if extension_prefix is not None else "openapi" ) self._proto_service = ( - proto_service if proto_service is not None else "Openapi" + proto_service if proto_service is not None else "openapi" ) print( @@ -137,17 +137,17 @@ def GeneratePythonSdk(self, package_name, sdk_version=""): ------- ``` art = Openapiart(api_files=[""], artifact_dir="./") - art.GeneratePythonSdk(package_name="sanity") + art.GeneratePythonSdk(package_name="pyapi") ``` Output ------ ``` - ./sanity + ./pyapi |_ __init__.py - |_ sanity.py - |_ sanity_pb.py - |_ sanity_grpc_pb.py + |_ pyapi.py + |_ openapi_pb.py + |_ openapi_grpc_pb.py ``` """ self._python_module_name = package_name diff --git a/openapiart/tests/conftest.py b/openapiart/tests/conftest.py index bb5c0b39..7564233c 100644 --- a/openapiart/tests/conftest.py +++ b/openapiart/tests/conftest.py @@ -13,7 +13,8 @@ # TBD: fix this hardcoding # artifacts should not be generated from here as these tests are run as sudo -pytest.module_name = "sanity" +pytest.module_name = "pyapi" +pytest.proto_name = "openapi" pytest.artifacts_path = os.path.join( os.path.dirname(__file__), "..", "..", "artifacts" ) @@ -26,9 +27,9 @@ pytest.module = importlib.import_module(pytest.module_name) pytest.http_server = OpenApiServer(pytest.module).start() -pytest.pb2_module = importlib.import_module(pytest.module_name + "_pb2") +pytest.pb2_module = importlib.import_module(pytest.proto_name + "_pb2") pytest.pb2_grpc_module = importlib.import_module( - pytest.module_name + "_pb2_grpc" + pytest.proto_name + "_pb2_grpc" ) pytest.grpc_server = grpc_server() pytest.secured_grpc_server = grpc_server(secure=True) @@ -89,7 +90,7 @@ def secure_grpc_api(): @pytest.fixture(scope="session") def proto_file_name(): art_dir = os.path.join(os.path.dirname(__file__), "..", "..", "artifacts") - proto_file = os.path.join(art_dir, "{}.proto".format(pytest.module_name)) + proto_file = os.path.join(art_dir, "{}.proto".format(pytest.proto_name)) return proto_file diff --git a/openapiart/tests/grpcserver.py b/openapiart/tests/grpcserver.py index 19075d58..4034cc34 100644 --- a/openapiart/tests/grpcserver.py +++ b/openapiart/tests/grpcserver.py @@ -12,11 +12,11 @@ os.path.join(os.path.dirname(__file__), "..", "..", "artifacts") ) sys.path.append( - os.path.join(os.path.dirname(__file__), "..", "..", "artifacts", "sanity") + os.path.join(os.path.dirname(__file__), "..", "..", "artifacts", "pyapi") ) -pb2_grpc = importlib.import_module("sanity_pb2_grpc") -pb2 = importlib.import_module("sanity_pb2") -op = importlib.import_module("sanity") +pb2_grpc = importlib.import_module("openapi_pb2_grpc") +pb2 = importlib.import_module("openapi_pb2") +op = importlib.import_module("pyapi") GRPC_PORT = 40052 SECURE_GRPC_PORT = 40055 diff --git a/openapiart/tests/server.py b/openapiart/tests/server.py index b25cc8e9..5166c252 100644 --- a/openapiart/tests/server.py +++ b/openapiart/tests/server.py @@ -77,7 +77,7 @@ def after_request(resp): class OpenApiServer(object): def __init__(self, package): # TODO Shall change the below sanity path to be dynamic - pkg_name = "sanity" + pkg_name = "pyapi" lib_path = "../../artifacts/%s" % pkg_name sys.path.append( os.path.join(os.path.join(os.path.dirname(__file__), lib_path)) diff --git a/openapiart/tests/test_constraints.py b/openapiart/tests/test_constraints.py index 8c54109e..7d3c70d2 100644 --- a/openapiart/tests/test_constraints.py +++ b/openapiart/tests/test_constraints.py @@ -1,7 +1,7 @@ import importlib import pytest -module = importlib.import_module("sanity") +module = importlib.import_module("pyapi") @pytest.mark.skip(reason="shall be restored") diff --git a/openapiart/tests/test_integer_format.py b/openapiart/tests/test_integer_format.py index 90261aec..4eaee794 100644 --- a/openapiart/tests/test_integer_format.py +++ b/openapiart/tests/test_integer_format.py @@ -1,7 +1,7 @@ import importlib import pytest -module = importlib.import_module("sanity") +module = importlib.import_module("pyapi") def test_int64(default_config): @@ -23,14 +23,14 @@ def test_int64(default_config): assert isinstance(config.integer64_list[0], int) # negative test case - error_msg = "Invalid -12319 format, expected int64 at " + error_msg = "Invalid -12319 format, expected int64 at " default_config.full_duplex_100_mb = -12319 with pytest.raises(Exception) as execinfo: default_config.serialize("dict") error_value = execinfo.value.args[0] assert error_msg in error_value - error_msg = "property integer64_list shall be of type at \n [-2000] are not valid" + error_msg = "property integer64_list shall be of type at \n [-2000] are not valid" default_config.full_duplex_100_mb = 100 default_config.integer64_list = [-2000] with pytest.raises(Exception) as execinfo: @@ -83,14 +83,14 @@ def test_int32(default_config): assert isinstance(config.int32_list_param[0], int) # negative test case - error_msg = "Invalid 2147483648 format, expected int32 at " + error_msg = "Invalid 2147483648 format, expected int32 at " default_config.int32_param = 2147483648 with pytest.raises(Exception) as execinfo: default_config.serialize("dict") error_value = execinfo.value.args[0] assert error_msg in error_value - error_msg = "property int32_list_param shall be of type at \n [-2147483649] are not valid" + error_msg = "property int32_list_param shall be of type at \n [-2147483649] are not valid" default_config.int32_param = 100 default_config.int32_list_param = [-2147483649] with pytest.raises(Exception) as execinfo: @@ -117,14 +117,14 @@ def test_uint32(default_config): assert isinstance(config.uint32_list_param[0], int) # negative test case - error_msg = "Invalid -1 format, expected uint32 at " + error_msg = "Invalid -1 format, expected uint32 at " default_config.uint32_param = -1 with pytest.raises(Exception) as execinfo: default_config.serialize("dict") error_value = execinfo.value.args[0] assert error_msg in error_value - error_msg = "property uint32_list_param shall be of type at \n [4294967300] are not valid" + error_msg = "property uint32_list_param shall be of type at \n [4294967300] are not valid" default_config.uint32_param = 100 default_config.uint32_list_param = [4294967300] with pytest.raises(Exception) as execinfo: @@ -153,7 +153,7 @@ def test_uint64(default_config): assert isinstance(config.uint64_list_param[0], int) # negative test case - error_msg = "Invalid -1 format, expected uint64 at " + error_msg = "Invalid -1 format, expected uint64 at " default_config.uint64_param = -1 with pytest.raises(Exception) as execinfo: default_config.serialize("dict") diff --git a/openapiart/tests/test_perf.py b/openapiart/tests/test_perf.py index bde23f63..dc26a5bd 100644 --- a/openapiart/tests/test_perf.py +++ b/openapiart/tests/test_perf.py @@ -4,7 +4,7 @@ sys.path.append( os.path.join(os.path.dirname(__file__), "..", "..", "artifacts") ) -import sanity +import pyapi as sanity import time diff --git a/openapiart/tests/test_py_go_diff.py b/openapiart/tests/test_py_go_diff.py index 86e78b79..a97ffa9f 100644 --- a/openapiart/tests/test_py_go_diff.py +++ b/openapiart/tests/test_py_go_diff.py @@ -1,7 +1,7 @@ import importlib import pytest -module = importlib.import_module("sanity") +module = importlib.import_module("pyapi") def test_iter_set_method(default_config): diff --git a/openapiart/tests/test_required_choices.py b/openapiart/tests/test_required_choices.py index 2578dd41..79e8fef9 100644 --- a/openapiart/tests/test_required_choices.py +++ b/openapiart/tests/test_required_choices.py @@ -17,7 +17,7 @@ def test_req_choice_validation_errors(api): conf.c = 30 conf.required_choice_object - parent_exception = "choice is a mandatory property of and should not be set to None" + parent_exception = "choice is a mandatory property of and should not be set to None" with pytest.raises(Exception) as execinfo: conf.serialize(conf.DICT) diff --git a/openapiart/tests/test_set.py b/openapiart/tests/test_set.py index 90866b87..13739ba7 100644 --- a/openapiart/tests/test_set.py +++ b/openapiart/tests/test_set.py @@ -5,7 +5,7 @@ sys.path.append( os.path.join(os.path.dirname(__file__), "..", "..", "artifacts") ) -import sanity +import pyapi as sanity def test_set(api): diff --git a/pkg/choice_test.go b/pkg/choice_test.go index 65c83155..8ef0be5a 100644 --- a/pkg/choice_test.go +++ b/pkg/choice_test.go @@ -1,49 +1,49 @@ -package openapiart_test +package goapi_test import ( "testing" - openapiart "github.com/open-traffic-generator/openapiart/pkg" + goapi "github.com/open-traffic-generator/goapi/pkg" "github.com/stretchr/testify/assert" ) func TestChoiceWithNoPropertiesForLeafNode(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() fObj := config.F() // test default choice and values - assert.Equal(t, fObj.Choice(), openapiart.FObjectChoice.F_A) + assert.Equal(t, fObj.Choice(), goapi.FObjectChoice.F_A) assert.True(t, fObj.HasFA()) assert.Equal(t, fObj.FA(), "some string") // setting of other choices should work as usual fObj.SetFB(5.67) - assert.Equal(t, fObj.Choice(), openapiart.FObjectChoice.F_B) + assert.Equal(t, fObj.Choice(), goapi.FObjectChoice.F_B) assert.True(t, fObj.HasFB()) assert.Equal(t, fObj.FB(), 5.67) fObj.SetFA("str1") - assert.Equal(t, fObj.Choice(), openapiart.FObjectChoice.F_A) + assert.Equal(t, fObj.Choice(), goapi.FObjectChoice.F_A) assert.True(t, fObj.HasFA()) assert.Equal(t, fObj.FA(), "str1") // setting choice with no property - fObj.SetChoice(openapiart.FObjectChoice.F_C) - assert.Equal(t, fObj.Choice(), openapiart.FObjectChoice.F_C) + fObj.SetChoice(goapi.FObjectChoice.F_C) + assert.Equal(t, fObj.Choice(), goapi.FObjectChoice.F_C) err := fObj.Validate() assert.Nil(t, err) } func TestChoiceWithNoPropertiesForIterNode(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() choiceObj := config.ChoiceObject().Add() // check default should be no_obj - assert.Equal(t, choiceObj.Choice(), openapiart.ChoiceObjectChoice.NO_OBJ) + assert.Equal(t, choiceObj.Choice(), goapi.ChoiceObjectChoice.NO_OBJ) err := choiceObj.Validate() assert.Nil(t, err) @@ -52,14 +52,14 @@ func TestChoiceWithNoPropertiesForIterNode(t *testing.T) { assert.Len(t, config.ChoiceObject().Items(), 1) choiceObj.EObj().SetEA(1.23) - assert.Equal(t, choiceObj.Choice(), openapiart.ChoiceObjectChoice.E_OBJ) + assert.Equal(t, choiceObj.Choice(), goapi.ChoiceObjectChoice.E_OBJ) choiceObj.FObj().SetFA("str1") - assert.Equal(t, choiceObj.Choice(), openapiart.ChoiceObjectChoice.F_OBJ) + assert.Equal(t, choiceObj.Choice(), goapi.ChoiceObjectChoice.F_OBJ) - config.ChoiceObject().Append(openapiart.NewChoiceObject()) + config.ChoiceObject().Append(goapi.NewChoiceObject()) - config.ChoiceObject().Set(1, openapiart.NewChoiceObject().SetChoice("e_obj")) + config.ChoiceObject().Set(1, goapi.NewChoiceObject().SetChoice("e_obj")) assert.Len(t, config.ChoiceObject().Items(), 2) config.ChoiceObject().Clear() @@ -67,27 +67,27 @@ func TestChoiceWithNoPropertiesForIterNode(t *testing.T) { } func TestChoiceWithNoPropertiesForChoiceHeirarchy(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() choiceObj := config.ChoiceObject().Add() // check default should be no_obj - assert.Equal(t, choiceObj.Choice(), openapiart.ChoiceObjectChoice.NO_OBJ) + assert.Equal(t, choiceObj.Choice(), goapi.ChoiceObjectChoice.NO_OBJ) err := choiceObj.Validate() assert.Nil(t, err) fObj := choiceObj.FObj() // check default for child obj - assert.Equal(t, choiceObj.Choice(), openapiart.ChoiceObjectChoice.F_OBJ) - assert.Equal(t, fObj.Choice(), openapiart.FObjectChoice.F_A) + assert.Equal(t, choiceObj.Choice(), goapi.ChoiceObjectChoice.F_OBJ) + assert.Equal(t, fObj.Choice(), goapi.FObjectChoice.F_A) assert.True(t, fObj.HasFA()) assert.Equal(t, fObj.FA(), "some string") // set choice with no properties in child obj - fObj.SetChoice(openapiart.FObjectChoice.F_C) - assert.Equal(t, fObj.Choice(), openapiart.FObjectChoice.F_C) + fObj.SetChoice(goapi.FObjectChoice.F_C) + assert.Equal(t, fObj.Choice(), goapi.FObjectChoice.F_C) assert.False(t, fObj.HasFA()) assert.False(t, fObj.HasFB()) diff --git a/pkg/common.go b/pkg/common.go index 5f420d05..c56ff760 100644 --- a/pkg/common.go +++ b/pkg/common.go @@ -1,4 +1,4 @@ -package openapiart +package goapi import ( "context" diff --git a/pkg/common_test.go b/pkg/common_test.go index d46b5ad8..b05258be 100644 --- a/pkg/common_test.go +++ b/pkg/common_test.go @@ -1,4 +1,4 @@ -package openapiart +package goapi import "testing" diff --git a/pkg/generated_invalid_format_test.go b/pkg/generated_invalid_format_test.go index e65f8b61..9cbafd33 100644 --- a/pkg/generated_invalid_format_test.go +++ b/pkg/generated_invalid_format_test.go @@ -1,9 +1,9 @@ -package openapiart_test +package goapi_test import ( "testing" - openapiart "github.com/open-traffic-generator/openapiart/pkg" + goapi "github.com/open-traffic-generator/goapi/pkg" "github.com/stretchr/testify/assert" ) @@ -19,7 +19,7 @@ func TestPrefixConfigIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewPrefixConfig() + object := goapi.NewPrefixConfig() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -36,7 +36,7 @@ func TestEObjectIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewEObject() + object := goapi.NewEObject() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -53,7 +53,7 @@ func TestFObjectIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewFObject() + object := goapi.NewFObject() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -70,7 +70,7 @@ func TestGObjectIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewGObject() + object := goapi.NewGObject() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -87,7 +87,7 @@ func TestJObjectIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewJObject() + object := goapi.NewJObject() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -104,7 +104,7 @@ func TestKObjectIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewKObject() + object := goapi.NewKObject() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -121,7 +121,7 @@ func TestLObjectIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewLObject() + object := goapi.NewLObject() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -138,7 +138,7 @@ func TestLevelOneIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewLevelOne() + object := goapi.NewLevelOne() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -155,7 +155,7 @@ func TestMandateIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewMandate() + object := goapi.NewMandate() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -172,7 +172,7 @@ func TestIpv4PatternIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewIpv4Pattern() + object := goapi.NewIpv4Pattern() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -189,7 +189,7 @@ func TestIpv6PatternIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewIpv6Pattern() + object := goapi.NewIpv6Pattern() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -206,7 +206,7 @@ func TestMacPatternIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewMacPattern() + object := goapi.NewMacPattern() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -223,7 +223,7 @@ func TestIntegerPatternIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewIntegerPattern() + object := goapi.NewIntegerPattern() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -240,7 +240,7 @@ func TestChecksumPatternIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewChecksumPattern() + object := goapi.NewChecksumPattern() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -257,7 +257,7 @@ func TestLayer1Ieee802XIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewLayer1Ieee802X() + object := goapi.NewLayer1Ieee802X() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -274,7 +274,7 @@ func TestMObjectIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewMObject() + object := goapi.NewMObject() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -291,7 +291,7 @@ func TestPatternPrefixConfigHeaderChecksumIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewPatternPrefixConfigHeaderChecksum() + object := goapi.NewPatternPrefixConfigHeaderChecksum() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -308,7 +308,7 @@ func TestUpdateConfigIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewUpdateConfig() + object := goapi.NewUpdateConfig() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -325,7 +325,7 @@ func TestSetConfigResponseIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewSetConfigResponse() + object := goapi.NewSetConfigResponse() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -342,7 +342,7 @@ func TestErrorDetailsIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewError() + object := goapi.NewError() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -359,7 +359,7 @@ func TestErrorIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewError() + object := goapi.NewError() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -376,7 +376,7 @@ func TestUpdateConfigResponseIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewUpdateConfigurationResponse() + object := goapi.NewUpdateConfigurationResponse() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -393,7 +393,7 @@ func TestGetConfigResponseIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewGetConfigResponse() + object := goapi.NewGetConfigResponse() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -410,7 +410,7 @@ func TestGetMetricsResponseIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewGetMetricsResponse() + object := goapi.NewGetMetricsResponse() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -427,7 +427,7 @@ func TestMetricsIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewMetrics() + object := goapi.NewMetrics() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -444,7 +444,7 @@ func TestGetWarningsResponseIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewGetWarningsResponse() + object := goapi.NewGetWarningsResponse() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -461,7 +461,7 @@ func TestWarningDetailsIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewWarningDetails() + object := goapi.NewWarningDetails() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -478,7 +478,7 @@ func TestClearWarningsResponseIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewClearWarningsResponse() + object := goapi.NewClearWarningsResponse() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -495,7 +495,7 @@ func TestLevelTwoIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewLevelTwo() + object := goapi.NewLevelTwo() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -512,7 +512,7 @@ func TestLevelFourIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewLevelFour() + object := goapi.NewLevelFour() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -529,7 +529,7 @@ func TestPatternIpv4PatternIpv4IncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewPatternIpv4PatternIpv4() + object := goapi.NewPatternIpv4PatternIpv4() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -546,7 +546,7 @@ func TestPatternIpv6PatternIpv6IncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewPatternIpv6PatternIpv6() + object := goapi.NewPatternIpv6PatternIpv6() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -563,7 +563,7 @@ func TestPatternMacPatternMacIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewPatternMacPatternMac() + object := goapi.NewPatternMacPatternMac() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -580,7 +580,7 @@ func TestPatternIntegerPatternIntegerIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewPatternIntegerPatternInteger() + object := goapi.NewPatternIntegerPatternInteger() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -597,7 +597,7 @@ func TestPatternChecksumPatternChecksumIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewPatternChecksumPatternChecksum() + object := goapi.NewPatternChecksumPatternChecksum() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -614,7 +614,7 @@ func TestPortMetricIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewPortMetric() + object := goapi.NewPortMetric() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -631,7 +631,7 @@ func TestLevelThreeIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewLevelThree() + object := goapi.NewLevelThree() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -648,7 +648,7 @@ func TestPatternIpv4PatternIpv4CounterIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewPatternIpv4PatternIpv4Counter() + object := goapi.NewPatternIpv4PatternIpv4Counter() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -665,7 +665,7 @@ func TestPatternIpv6PatternIpv6CounterIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewPatternIpv6PatternIpv6Counter() + object := goapi.NewPatternIpv6PatternIpv6Counter() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -682,7 +682,7 @@ func TestPatternMacPatternMacCounterIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewPatternMacPatternMacCounter() + object := goapi.NewPatternMacPatternMacCounter() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) @@ -699,7 +699,7 @@ func TestPatternIntegerPatternIntegerCounterIncorrectFormat(t *testing.T) { "e_b" : 2 }` - object := openapiart.NewPatternIntegerPatternIntegerCounter() + object := goapi.NewPatternIntegerPatternIntegerCounter() assert.NotNil(t, object.FromYaml(incorrect_format)) assert.NotNil(t, object.FromJson(incorrect_format)) assert.NotNil(t, object.FromPbText(incorrect_format)) diff --git a/pkg/generated_invalid_key_test.go b/pkg/generated_invalid_key_test.go index f16a38ff..b8d7ded3 100644 --- a/pkg/generated_invalid_key_test.go +++ b/pkg/generated_invalid_key_test.go @@ -1,9 +1,9 @@ -package openapiart_test +package goapi_test import ( "testing" - openapiart "github.com/open-traffic-generator/openapiart/pkg" + goapi "github.com/open-traffic-generator/goapi/pkg" "github.com/stretchr/testify/assert" ) @@ -20,7 +20,7 @@ func TestPrefixConfigIncorrectKey(t *testing.T) { } }` - object := openapiart.NewPrefixConfig() + object := goapi.NewPrefixConfig() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -38,7 +38,7 @@ func TestEObjectIncorrectKey(t *testing.T) { } }` - object := openapiart.NewEObject() + object := goapi.NewEObject() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -56,7 +56,7 @@ func TestFObjectIncorrectKey(t *testing.T) { } }` - object := openapiart.NewFObject() + object := goapi.NewFObject() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -74,7 +74,7 @@ func TestGObjectIncorrectKey(t *testing.T) { } }` - object := openapiart.NewGObject() + object := goapi.NewGObject() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -92,7 +92,7 @@ func TestJObjectIncorrectKey(t *testing.T) { } }` - object := openapiart.NewJObject() + object := goapi.NewJObject() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -110,7 +110,7 @@ func TestKObjectIncorrectKey(t *testing.T) { } }` - object := openapiart.NewKObject() + object := goapi.NewKObject() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -128,7 +128,7 @@ func TestLObjectIncorrectKey(t *testing.T) { } }` - object := openapiart.NewLObject() + object := goapi.NewLObject() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -146,7 +146,7 @@ func TestLevelOneIncorrectKey(t *testing.T) { } }` - object := openapiart.NewLevelOne() + object := goapi.NewLevelOne() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -164,7 +164,7 @@ func TestMandateIncorrectKey(t *testing.T) { } }` - object := openapiart.NewMandate() + object := goapi.NewMandate() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -182,7 +182,7 @@ func TestIpv4PatternIncorrectKey(t *testing.T) { } }` - object := openapiart.NewIpv4Pattern() + object := goapi.NewIpv4Pattern() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -200,7 +200,7 @@ func TestIpv6PatternIncorrectKey(t *testing.T) { } }` - object := openapiart.NewIpv6Pattern() + object := goapi.NewIpv6Pattern() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -218,7 +218,7 @@ func TestMacPatternIncorrectKey(t *testing.T) { } }` - object := openapiart.NewMacPattern() + object := goapi.NewMacPattern() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -236,7 +236,7 @@ func TestIntegerPatternIncorrectKey(t *testing.T) { } }` - object := openapiart.NewIntegerPattern() + object := goapi.NewIntegerPattern() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -254,7 +254,7 @@ func TestChecksumPatternIncorrectKey(t *testing.T) { } }` - object := openapiart.NewChecksumPattern() + object := goapi.NewChecksumPattern() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -272,7 +272,7 @@ func TestLayer1Ieee802XIncorrectKey(t *testing.T) { } }` - object := openapiart.NewLayer1Ieee802X() + object := goapi.NewLayer1Ieee802X() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -290,7 +290,7 @@ func TestMObjectIncorrectKey(t *testing.T) { } }` - object := openapiart.NewMObject() + object := goapi.NewMObject() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -308,7 +308,7 @@ func TestPatternPrefixConfigHeaderChecksumIncorrectKey(t *testing.T) { } }` - object := openapiart.NewPatternPrefixConfigHeaderChecksum() + object := goapi.NewPatternPrefixConfigHeaderChecksum() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -326,7 +326,7 @@ func TestUpdateConfigIncorrectKey(t *testing.T) { } }` - object := openapiart.NewUpdateConfig() + object := goapi.NewUpdateConfig() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -344,7 +344,7 @@ func TestSetConfigResponseIncorrectKey(t *testing.T) { } }` - object := openapiart.NewSetConfigResponse() + object := goapi.NewSetConfigResponse() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -362,7 +362,7 @@ func TestErrorDetailsIncorrectKey(t *testing.T) { } }` - object := openapiart.NewError() + object := goapi.NewError() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -380,7 +380,7 @@ func TestErrorIncorrectKey(t *testing.T) { } }` - object := openapiart.NewError() + object := goapi.NewError() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -398,7 +398,7 @@ func TestUpdateConfigResponseIncorrectKey(t *testing.T) { } }` - object := openapiart.NewUpdateConfigurationResponse() + object := goapi.NewUpdateConfigurationResponse() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -416,7 +416,7 @@ func TestGetConfigResponseIncorrectKey(t *testing.T) { } }` - object := openapiart.NewGetConfigResponse() + object := goapi.NewGetConfigResponse() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -434,7 +434,7 @@ func TestGetMetricsResponseIncorrectKey(t *testing.T) { } }` - object := openapiart.NewGetMetricsResponse() + object := goapi.NewGetMetricsResponse() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -452,7 +452,7 @@ func TestMetricsIncorrectKey(t *testing.T) { } }` - object := openapiart.NewMetrics() + object := goapi.NewMetrics() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -470,7 +470,7 @@ func TestGetWarningsResponseIncorrectKey(t *testing.T) { } }` - object := openapiart.NewGetWarningsResponse() + object := goapi.NewGetWarningsResponse() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -488,7 +488,7 @@ func TestWarningDetailsIncorrectKey(t *testing.T) { } }` - object := openapiart.NewWarningDetails() + object := goapi.NewWarningDetails() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -506,7 +506,7 @@ func TestClearWarningsResponseIncorrectKey(t *testing.T) { } }` - object := openapiart.NewClearWarningsResponse() + object := goapi.NewClearWarningsResponse() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -524,7 +524,7 @@ func TestLevelTwoIncorrectKey(t *testing.T) { } }` - object := openapiart.NewLevelTwo() + object := goapi.NewLevelTwo() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -542,7 +542,7 @@ func TestLevelFourIncorrectKey(t *testing.T) { } }` - object := openapiart.NewLevelFour() + object := goapi.NewLevelFour() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -560,7 +560,7 @@ func TestPatternIpv4PatternIpv4IncorrectKey(t *testing.T) { } }` - object := openapiart.NewPatternIpv4PatternIpv4() + object := goapi.NewPatternIpv4PatternIpv4() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -578,7 +578,7 @@ func TestPatternIpv6PatternIpv6IncorrectKey(t *testing.T) { } }` - object := openapiart.NewPatternIpv6PatternIpv6() + object := goapi.NewPatternIpv6PatternIpv6() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -596,7 +596,7 @@ func TestPatternMacPatternMacIncorrectKey(t *testing.T) { } }` - object := openapiart.NewPatternMacPatternMac() + object := goapi.NewPatternMacPatternMac() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -614,7 +614,7 @@ func TestPatternIntegerPatternIntegerIncorrectKey(t *testing.T) { } }` - object := openapiart.NewPatternIntegerPatternInteger() + object := goapi.NewPatternIntegerPatternInteger() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -632,7 +632,7 @@ func TestPatternChecksumPatternChecksumIncorrectKey(t *testing.T) { } }` - object := openapiart.NewPatternChecksumPatternChecksum() + object := goapi.NewPatternChecksumPatternChecksum() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -650,7 +650,7 @@ func TestPortMetricIncorrectKey(t *testing.T) { } }` - object := openapiart.NewPortMetric() + object := goapi.NewPortMetric() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -668,7 +668,7 @@ func TestLevelThreeIncorrectKey(t *testing.T) { } }` - object := openapiart.NewLevelThree() + object := goapi.NewLevelThree() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -686,7 +686,7 @@ func TestPatternIpv4PatternIpv4CounterIncorrectKey(t *testing.T) { } }` - object := openapiart.NewPatternIpv4PatternIpv4Counter() + object := goapi.NewPatternIpv4PatternIpv4Counter() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -704,7 +704,7 @@ func TestPatternIpv6PatternIpv6CounterIncorrectKey(t *testing.T) { } }` - object := openapiart.NewPatternIpv6PatternIpv6Counter() + object := goapi.NewPatternIpv6PatternIpv6Counter() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -722,7 +722,7 @@ func TestPatternMacPatternMacCounterIncorrectKey(t *testing.T) { } }` - object := openapiart.NewPatternMacPatternMacCounter() + object := goapi.NewPatternMacPatternMacCounter() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) @@ -740,7 +740,7 @@ func TestPatternIntegerPatternIntegerCounterIncorrectKey(t *testing.T) { } }` - object := openapiart.NewPatternIntegerPatternIntegerCounter() + object := goapi.NewPatternIntegerPatternIntegerCounter() assert.NotNil(t, object.FromYaml(incorrect_key)) assert.NotNil(t, object.FromJson(incorrect_key)) assert.NotNil(t, object.FromPbText(incorrect_key)) diff --git a/pkg/generated_required_test.go b/pkg/generated_required_test.go index 2f3779d6..9c66631a 100644 --- a/pkg/generated_required_test.go +++ b/pkg/generated_required_test.go @@ -1,16 +1,16 @@ -package openapiart_test +package goapi_test import ( "testing" - openapiart "github.com/open-traffic-generator/openapiart/pkg" + goapi "github.com/open-traffic-generator/goapi/pkg" "github.com/stretchr/testify/assert" "google.golang.org/protobuf/encoding/protojson" "google.golang.org/protobuf/proto" ) func TestPrefixConfigRequired(t *testing.T) { - object := openapiart.NewPrefixConfig() + object := goapi.NewPrefixConfig() opts := protojson.MarshalOptions{ UseProtoNames: true, AllowPartial: true, @@ -28,7 +28,7 @@ func TestPrefixConfigRequired(t *testing.T) { } // func TestEObjectRequired(t *testing.T) { -// object := openapiart.NewEObject() +// object := goapi.NewEObject() // opts := protojson.MarshalOptions{ // UseProtoNames: true, // AllowPartial: true, @@ -44,7 +44,7 @@ func TestPrefixConfigRequired(t *testing.T) { // assert.Contains(t, err2.Error(), "EA", "EB") // } func TestMandateRequired(t *testing.T) { - object := openapiart.NewMandate() + object := goapi.NewMandate() opts := protojson.MarshalOptions{ UseProtoNames: true, AllowPartial: true, @@ -61,7 +61,7 @@ func TestMandateRequired(t *testing.T) { assert.Contains(t, err2.Error(), "RequiredParam") } func TestMObjectRequired(t *testing.T) { - object := openapiart.NewMObject() + object := goapi.NewMObject() opts := protojson.MarshalOptions{ UseProtoNames: true, AllowPartial: true, @@ -78,7 +78,7 @@ func TestMObjectRequired(t *testing.T) { assert.Contains(t, err2.Error(), "StringParam", "Integer", "Float", "Double", "Mac", "Ipv4", "Ipv6", "Hex") } func TestPortMetricRequired(t *testing.T) { - object := openapiart.NewPortMetric() + object := goapi.NewPortMetric() opts := protojson.MarshalOptions{ UseProtoNames: true, AllowPartial: true, diff --git a/pkg/generated_test.go b/pkg/generated_test.go index b6fa5fc3..74073c7d 100644 --- a/pkg/generated_test.go +++ b/pkg/generated_test.go @@ -1,14 +1,14 @@ -package openapiart_test +package goapi_test import ( "testing" - openapiart "github.com/open-traffic-generator/openapiart/pkg" + goapi "github.com/open-traffic-generator/goapi/pkg" "github.com/stretchr/testify/assert" ) func TestConfigGenerated(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() config.SetIeee8021Qbb(true).SetSpace1(1).SetFullDuplex100Mb(1).SetResponse("status_200").SetA("abc").SetB(100.11).SetC(1).SetH(true).SetI([]byte{1, 0, 0, 1, 0, 0, 1, 1}).SetListOfStringValues([]string{"a", "b", "c"}).SetListOfIntegerValues([]int32{1, 2, 3}).SetInteger64(10000000000000000).SetStrLen("abc").SetName("abc1") v1 := config.RequiredObject() diff --git a/pkg/generated_validate_test.go b/pkg/generated_validate_test.go index c37d0385..8510fb7b 100644 --- a/pkg/generated_validate_test.go +++ b/pkg/generated_validate_test.go @@ -1,9 +1,9 @@ -package openapiart_test +package goapi_test import ( "testing" - openapiart "github.com/open-traffic-generator/openapiart/pkg" + goapi "github.com/open-traffic-generator/goapi/pkg" "github.com/stretchr/testify/assert" "google.golang.org/protobuf/encoding/protojson" "google.golang.org/protobuf/proto" @@ -16,7 +16,7 @@ func TestConfigGeneratedValidate(t *testing.T) { EmitUnpopulated: false, Indent: " ", } - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() v1 := config.RequiredObject() diff --git a/pkg/mock_grpcserver_test.go b/pkg/mock_grpcserver_test.go index 9ed9a4b9..16edb73b 100644 --- a/pkg/mock_grpcserver_test.go +++ b/pkg/mock_grpcserver_test.go @@ -1,4 +1,4 @@ -package openapiart_test +package goapi_test import ( "context" @@ -7,8 +7,8 @@ import ( "net" "github.com/golang/protobuf/ptypes/empty" - openapiart "github.com/open-traffic-generator/openapiart/pkg" - sanity "github.com/open-traffic-generator/openapiart/pkg/sanity" + goapi "github.com/open-traffic-generator/goapi/pkg" + sanity "github.com/open-traffic-generator/goapi/pkg/openapi" "google.golang.org/grpc" "google.golang.org/grpc/codes" @@ -64,7 +64,7 @@ func (s *GrpcServer) SetConfig(ctx context.Context, req *sanity.SetConfigRequest err = fmt.Errorf("SetConfig has detected configuration errors") case sanity.PrefixConfig_Response_status_500.Enum().Number(): resp = nil - errObj := openapiart.NewError() + errObj := goapi.NewError() errObj.Msg().Code = 500 tmp := errObj.SetKind("internal") fmt.Println(tmp) @@ -82,7 +82,7 @@ func (s *GrpcServer) SetConfig(ctx context.Context, req *sanity.SetConfigRequest err = nil case sanity.PrefixConfig_Response_status_404.Enum().Number(): s.Config = req.PrefixConfig - errObj := openapiart.NewError() + errObj := goapi.NewError() errObj.Msg().Code = 404 errObj.Msg().Errors = []string{"returning err1", "returning err2"} jsonStr, e := errObj.ToJson() @@ -103,7 +103,7 @@ func (s *GrpcServer) GetConfig(ctx context.Context, req *empty.Empty) (*sanity.G func (s *GrpcServer) GetVersion(ctx context.Context, req *empty.Empty) (*sanity.GetVersionResponse, error) { resp := &sanity.GetVersionResponse{ - Version: openapiart.NewApi().GetLocalVersion().Msg(), + Version: goapi.NewApi().GetLocalVersion().Msg(), } return resp, nil } @@ -114,7 +114,7 @@ func (s *GrpcServer) UpdateConfiguration(ctx context.Context, req *sanity.Update if req.UpdateConfig.G[0].GetName() == "ErStr" { return nil, fmt.Errorf("unit test error") } else if req.UpdateConfig.G[0].GetName() == "Erkind" { - errObj := openapiart.NewError() + errObj := goapi.NewError() errObj.Msg().Code = 404 tmp := errObj.SetKind("validation") fmt.Println(tmp) diff --git a/pkg/mock_httpserver_test.go b/pkg/mock_httpserver_test.go index 65644472..01eb2cdf 100644 --- a/pkg/mock_httpserver_test.go +++ b/pkg/mock_httpserver_test.go @@ -1,14 +1,14 @@ -package openapiart_test +package goapi_test import ( "fmt" "log" "net/http" - openapiart "github.com/open-traffic-generator/openapiart/pkg" - httpapi "github.com/open-traffic-generator/openapiart/pkg/httpapi" - controllers "github.com/open-traffic-generator/openapiart/pkg/httpapi/controllers" - interfaces "github.com/open-traffic-generator/openapiart/pkg/httpapi/interfaces" + goapi "github.com/open-traffic-generator/goapi/pkg" + httpapi "github.com/open-traffic-generator/goapi/pkg/httpapi" + controllers "github.com/open-traffic-generator/goapi/pkg/httpapi/controllers" + interfaces "github.com/open-traffic-generator/goapi/pkg/httpapi/interfaces" ) // Common struct @@ -16,7 +16,7 @@ import ( type HttpServer struct { serverLocation string Location string - Config openapiart.PrefixConfig + Config goapi.PrefixConfig } var ( @@ -76,16 +76,16 @@ func (h *capabilitiesHandler) GetController() interfaces.CapabilitiesController return h.controller } -func (h *bundlerHandler) SetConfig(rbody openapiart.PrefixConfig, r *http.Request) (openapiart.SetConfigResponse, error) { +func (h *bundlerHandler) SetConfig(rbody goapi.PrefixConfig, r *http.Request) (goapi.SetConfigResponse, error) { httpServer.Config = rbody - response := openapiart.NewSetConfigResponse() + response := goapi.NewSetConfigResponse() switch httpServer.Config.Response() { - case openapiart.PrefixConfigResponse.STATUS_200: + case goapi.PrefixConfigResponse.STATUS_200: response.SetResponseBytes([]byte("Successful set config operation")) - case openapiart.PrefixConfigResponse.STATUS_400: + case goapi.PrefixConfigResponse.STATUS_400: return nil, fmt.Errorf("client error !!!!") - case openapiart.PrefixConfigResponse.STATUS_500: - err := openapiart.NewError() + case goapi.PrefixConfigResponse.STATUS_500: + err := goapi.NewError() err.Msg().Code = 500 e := err.SetKind("internal") fmt.Println(e) @@ -96,8 +96,8 @@ func (h *bundlerHandler) SetConfig(rbody openapiart.PrefixConfig, r *http.Reques return response, nil } -func (h *bundlerHandler) UpdateConfiguration(rbody openapiart.UpdateConfig, r *http.Request) (openapiart.UpdateConfigurationResponse, error) { - response := openapiart.NewUpdateConfigurationResponse() +func (h *bundlerHandler) UpdateConfiguration(rbody goapi.UpdateConfig, r *http.Request) (goapi.UpdateConfigurationResponse, error) { + response := goapi.NewUpdateConfigurationResponse() data, _ := httpServer.Config.ToJson() err := response.PrefixConfig().FromJson(data) if err != nil { @@ -106,15 +106,15 @@ func (h *bundlerHandler) UpdateConfiguration(rbody openapiart.UpdateConfig, r *h return response, nil } -func (h *bundlerHandler) GetConfig(r *http.Request) (openapiart.GetConfigResponse, error) { - response := openapiart.NewGetConfigResponse() +func (h *bundlerHandler) GetConfig(r *http.Request) (goapi.GetConfigResponse, error) { + response := goapi.NewGetConfigResponse() response.SetPrefixConfig(httpServer.Config) return response, nil } -func (h *capabilitiesHandler) GetVersion(r *http.Request) (openapiart.GetVersionResponse, error) { - response := openapiart.NewGetVersionResponse() - response.SetVersion(openapiart.NewApi().GetLocalVersion()) +func (h *capabilitiesHandler) GetVersion(r *http.Request) (goapi.GetVersionResponse, error) { + response := goapi.NewGetVersionResponse() + response.SetVersion(goapi.NewApi().GetLocalVersion()) return response, nil } @@ -134,32 +134,32 @@ func (h *metricsHandler) GetController() interfaces.MetricsController { return h.controller } -func (h *metricsHandler) GetMetrics(req openapiart.MetricsRequest, r *http.Request) (openapiart.GetMetricsResponse, error) { +func (h *metricsHandler) GetMetrics(req goapi.MetricsRequest, r *http.Request) (goapi.GetMetricsResponse, error) { choice := req.Msg().GetChoice().String() switch choice { case "port": - response := openapiart.NewGetMetricsResponse() + response := goapi.NewGetMetricsResponse() response.Metrics().Ports().Add().SetName("p1").SetTxFrames(2000).SetRxFrames(1777) response.Metrics().Ports().Add().SetName("p2").SetTxFrames(3000).SetRxFrames(2999) return response, nil case "flow": - response := openapiart.NewGetMetricsResponse() + response := goapi.NewGetMetricsResponse() response.Metrics().Flows().Add().SetName("f1").SetTxFrames(2000).SetRxFrames(1777) response.Metrics().Flows().Add().SetName("f2").SetTxFrames(3000).SetRxFrames(2999) return response, nil default: - return openapiart.NewGetMetricsResponse(), nil + return goapi.NewGetMetricsResponse(), nil } } -func (h *metricsHandler) GetWarnings(r *http.Request) (openapiart.GetWarningsResponse, error) { - response := openapiart.NewGetWarningsResponse() +func (h *metricsHandler) GetWarnings(r *http.Request) (goapi.GetWarningsResponse, error) { + response := goapi.NewGetWarningsResponse() response.WarningDetails().SetWarnings([]string{"This is your first warning", "Your last warning"}) return response, nil } -func (h *metricsHandler) ClearWarnings(r *http.Request) (openapiart.ClearWarningsResponse, error) { - response := openapiart.NewClearWarningsResponse() +func (h *metricsHandler) ClearWarnings(r *http.Request) (goapi.ClearWarningsResponse, error) { + response := goapi.NewClearWarningsResponse() response.SetResponseString("success") return response, nil } diff --git a/pkg/multiple_iter_test.go b/pkg/multiple_iter_test.go index 417c1f9b..5bd3448b 100644 --- a/pkg/multiple_iter_test.go +++ b/pkg/multiple_iter_test.go @@ -1,21 +1,21 @@ -package openapiart_test +package goapi_test import ( "testing" - openapiart "github.com/open-traffic-generator/openapiart/pkg" + goapi "github.com/open-traffic-generator/goapi/pkg" "github.com/stretchr/testify/assert" ) func TestMultipleIter(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() config.SetA("test") config.RequiredObject().SetEA(3.45).SetEB(6.78) - enums := []openapiart.PrefixConfigDValuesEnum{ - openapiart.PrefixConfigDValues.A, - openapiart.PrefixConfigDValues.B, - openapiart.PrefixConfigDValues.C, + enums := []goapi.PrefixConfigDValuesEnum{ + goapi.PrefixConfigDValues.A, + goapi.PrefixConfigDValues.B, + goapi.PrefixConfigDValues.C, } config.SetDValues(enums) config.SetStrLen("1234") diff --git a/pkg/perf_test.go b/pkg/perf_test.go index eac8bc7d..412e2b42 100644 --- a/pkg/perf_test.go +++ b/pkg/perf_test.go @@ -1,26 +1,26 @@ -package openapiart_test +package goapi_test import ( "fmt" "testing" "time" - openapiart "github.com/open-traffic-generator/openapiart/pkg" + goapi "github.com/open-traffic-generator/goapi/pkg" "github.com/stretchr/testify/assert" ) func TestPerf(t *testing.T) { start := time.Now() - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() config.SetA("asdf").SetB(12.2).SetC(1).SetH(true).SetI([]byte{1, 0, 0, 1, 0, 0, 1, 1}) - config.SetCase(openapiart.NewLayer1Ieee802X().SetFlowControl(true)) + config.SetCase(goapi.NewLayer1Ieee802X().SetFlowControl(true)) config.SetSpace1(10) config.OptionalObject().SetEA(10.1).SetEB(0.001) config.RequiredObject().SetEA(1).SetEB(2) config.SetIeee8021Qbb(true) config.SetFullDuplex100Mb(2) - config.SetResponse(openapiart.PrefixConfigResponse.STATUS_200) + config.SetResponse(goapi.PrefixConfigResponse.STATUS_200) config.E().SetEA(1.1).SetEB(1.2).SetMParam1("Mparam1").SetMParam2("Mparam2") config.F().SetFB(3.0) config.G().Add().SetGA("a g_a value").SetGB(6).SetGC(77.7).SetGE(3.0) diff --git a/pkg/serdes_test.go b/pkg/serdes_test.go index 317b5086..3648d0e9 100644 --- a/pkg/serdes_test.go +++ b/pkg/serdes_test.go @@ -1,22 +1,22 @@ -package openapiart_test +package goapi_test import ( "encoding/json" "fmt" "testing" - openapiart "github.com/open-traffic-generator/openapiart/pkg" + goapi "github.com/open-traffic-generator/goapi/pkg" "github.com/stretchr/testify/assert" ) -func NewFullyPopulatedPrefixConfig(api openapiart.OpenapiartApi) openapiart.PrefixConfig { +func NewFullyPopulatedPrefixConfig(api goapi.GoapiApi) goapi.PrefixConfig { config := api.NewPrefixConfig() config.SetA("asdf").SetB(12.2).SetC(1).SetH(true).SetI([]byte{1, 0, 0, 1, 0, 0, 1, 1}) config.RequiredObject().SetEA(1).SetEB(2) config.SetIeee8021Qbb(true) config.SetFullDuplex100Mb(2) - config.SetResponse(openapiart.PrefixConfigResponse.STATUS_200) + config.SetResponse(goapi.PrefixConfigResponse.STATUS_200) config.E().SetEA(1.1).SetEB(1.2).SetMParam1("Mparam1").SetMParam2("Mparam2") config.F().SetFB(3.0) config.G().Add().SetGA("a g_a value").SetGB(6).SetGC(77.7).SetGE(3.0) @@ -58,7 +58,7 @@ func NewFullyPopulatedPrefixConfig(api openapiart.OpenapiartApi) openapiart.Pref } func TestPrefixConfigYamlSerDes(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() c1 := NewFullyPopulatedPrefixConfig(api) yaml1, err := c1.ToYaml() @@ -72,7 +72,7 @@ func TestPrefixConfigYamlSerDes(t *testing.T) { } func TestPrefixConfigJsonSerDes(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() c1 := NewFullyPopulatedPrefixConfig(api) json1, err := c1.ToJson() @@ -86,7 +86,7 @@ func TestPrefixConfigJsonSerDes(t *testing.T) { } func TestPartialSerDes(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() c1 := NewFullyPopulatedPrefixConfig(api) // convert the configuration to a map[string]interface{} @@ -117,7 +117,7 @@ func TestPartialSerDes(t *testing.T) { } func TestPrefixConfigPbTextSerDes(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() c1 := NewFullyPopulatedPrefixConfig(api) pbString, err := c1.ToPbText() assert.Nil(t, err) @@ -132,7 +132,7 @@ func TestPrefixConfigPbTextSerDes(t *testing.T) { } func TestArrayOfStringsSetGet(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() values := config.ListOfStringValues() assert.Equal(t, 0, len(values)) @@ -141,21 +141,21 @@ func TestArrayOfStringsSetGet(t *testing.T) { } func TestArrayOfEnumsSetGet(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() values := config.DValues() assert.Equal(t, 0, len(values)) - enums := []openapiart.PrefixConfigDValuesEnum{ - openapiart.PrefixConfigDValues.A, - openapiart.PrefixConfigDValues.B, - openapiart.PrefixConfigDValues.C, + enums := []goapi.PrefixConfigDValuesEnum{ + goapi.PrefixConfigDValues.A, + goapi.PrefixConfigDValues.B, + goapi.PrefixConfigDValues.C, } values = config.SetDValues(enums).DValues() assert.Equal(t, 3, len(values)) } func TestArrayOfIntegersSetGet(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() values := config.ListOfIntegerValues() assert.Equal(t, 0, len(values)) @@ -165,7 +165,7 @@ func TestArrayOfIntegersSetGet(t *testing.T) { func TestValidJsonDecode(t *testing.T) { // Valid FromJson - api := openapiart.NewApi() + api := goapi.NewApi() c1 := api.NewPrefixConfig() input_str := `{"a":"ixia", "b" : 8.8, "c" : 1, "response" : "status_200", "required_object" : {"e_a": 1, "e_b": 2}}` err := c1.FromJson(input_str) @@ -174,7 +174,7 @@ func TestValidJsonDecode(t *testing.T) { func TestBadKeyJsonDecode(t *testing.T) { // Valid Wrong key - api := openapiart.NewApi() + api := goapi.NewApi() c1 := api.NewPrefixConfig() input_str := `{"a":"ixia", "bz" : 8.8, "c" : 1, "response" : "status_200", "required_object" : {"e_a": 1, "e_b": 2}}` err := c1.FromJson(input_str) @@ -184,7 +184,7 @@ func TestBadKeyJsonDecode(t *testing.T) { func TestBadEnumJsonDecode(t *testing.T) { // Valid Wrong key - api := openapiart.NewApi() + api := goapi.NewApi() c1 := api.NewPrefixConfig() input_str := `{"a":"ixia", "b" : 8.8, "c" : 1, "response" : "status_800", "required_object" : {"e_a": 1, "e_b": 2}}` err := c1.FromJson(input_str) @@ -194,7 +194,7 @@ func TestBadEnumJsonDecode(t *testing.T) { func TestBadDatatypeJsonDecode(t *testing.T) { // Valid Wrong data type. configure "b" with string - api := openapiart.NewApi() + api := goapi.NewApi() c1 := api.NewPrefixConfig() input_str := `{"a":"ixia", "b" : "abc", "c" : 1, "response" : "status_200", "required_object" : {"e_a": 1, "e_b": 2}}` err := c1.FromJson(input_str) @@ -204,7 +204,7 @@ func TestBadDatatypeJsonDecode(t *testing.T) { func TestBadDatastructureJsonDecode(t *testing.T) { // Valid Wrong data structure. configure "a" with array - api := openapiart.NewApi() + api := goapi.NewApi() c1 := api.NewPrefixConfig() input_str := `{"a":["ixia"], "b" : 9.9, "c" : 1, "response" : "status_200", "required_object" : {"e_a": 1, "e_b": 2}}` err := c1.FromJson(input_str) @@ -214,7 +214,7 @@ func TestBadDatastructureJsonDecode(t *testing.T) { func TestWithoutValueJsonDecode(t *testing.T) { // Valid without value - api := openapiart.NewApi() + api := goapi.NewApi() c1 := api.NewPrefixConfig() input_str := `{"a": "ixia", "b" : 8.8, "c" : "", "response" : "status_200", "required_object" : {"e_a": 1, "e_b": 2}}` err := c1.FromJson(input_str) @@ -223,7 +223,7 @@ func TestWithoutValueJsonDecode(t *testing.T) { } func TestValidYamlDecode(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() var data = `a: Easy b: 12.2 @@ -243,7 +243,7 @@ response: status_200 func TestBadKeyYamlDecode(t *testing.T) { // Valid Wrong key - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() var data = `a: Easy bz: 12.2 @@ -259,7 +259,7 @@ required_object: } func TestBadEnumYamlDecode(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() var data = `a: Easy b: 12.2 @@ -277,7 +277,7 @@ response: status_800 func TestBadDatatypeYamlDecode(t *testing.T) { // Valid Wrong data type. configure "b" with string - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() var data = `a: Easy b: abc @@ -294,7 +294,7 @@ required_object: func TestBadDatastructureYamlDecode(t *testing.T) { // Valid Wrong data structure. configure "a" with array - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() var data = `a: [Make It Easy] b: 9.9 @@ -310,9 +310,9 @@ required_object: } func TestSetMsg(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := NewFullyPopulatedPrefixConfig(api) - copy := openapiart.NewApi().NewPrefixConfig() + copy := goapi.NewApi().NewPrefixConfig() copy.SetMsg(config.Msg()) configYaml, err := config.ToYaml() assert.Nil(t, err) @@ -322,8 +322,8 @@ func TestSetMsg(t *testing.T) { } func TestNestedSetMsg(t *testing.T) { - api := openapiart.NewApi() - eObject := openapiart.NewApi().NewPrefixConfig().K().EObject() + api := goapi.NewApi() + eObject := goapi.NewApi().NewPrefixConfig().K().EObject() eObject.SetEA(23423.22) eObject.SetEB(10.24) eObject.SetName("asdfasdf") @@ -337,25 +337,25 @@ func TestNestedSetMsg(t *testing.T) { } func TestAuto(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() config.SetA("asdf").SetB(12.2).SetC(1) config.RequiredObject().SetEA(1).SetEB(2) assert.Equal( t, - openapiart.PatternPrefixConfigAutoFieldTestChoiceEnum("auto"), + goapi.PatternPrefixConfigAutoFieldTestChoiceEnum("auto"), config.AutoFieldTest().Choice()) assert.Equal(t, uint32(0), config.AutoFieldTest().Auto()) config.AutoFieldTest().SetValue(10) assert.Equal( t, - openapiart.PatternPrefixConfigAutoFieldTestChoiceEnum("value"), + goapi.PatternPrefixConfigAutoFieldTestChoiceEnum("value"), config.AutoFieldTest().Choice()) config.AutoFieldTest().Auto() assert.Equal( t, - openapiart.PatternPrefixConfigAutoFieldTestChoiceEnum("auto"), + goapi.PatternPrefixConfigAutoFieldTestChoiceEnum("auto"), config.AutoFieldTest().Choice()) } diff --git a/pkg/servertests/service_a.handler.go b/pkg/servertests/service_a.handler.go index 4928455f..98d3c55d 100644 --- a/pkg/servertests/service_a.handler.go +++ b/pkg/servertests/service_a.handler.go @@ -3,9 +3,9 @@ package test import ( "net/http" - openapiart "github.com/open-traffic-generator/openapiart/pkg" - "github.com/open-traffic-generator/openapiart/pkg/httpapi/controllers" - "github.com/open-traffic-generator/openapiart/pkg/httpapi/interfaces" + goapi "github.com/open-traffic-generator/goapi/pkg" + "github.com/open-traffic-generator/goapi/pkg/httpapi/controllers" + "github.com/open-traffic-generator/goapi/pkg/httpapi/interfaces" ) type apiTestHandler struct { @@ -21,14 +21,14 @@ func NewApiTestHandler() interfaces.ApiTestHandler { func (h *apiTestHandler) GetController() interfaces.ApiTestController { return h.controller } -func (h *apiTestHandler) GetRootResponse(r *http.Request) (openapiart.GetRootResponseResponse, error) { - result := openapiart.NewGetRootResponseResponse() +func (h *apiTestHandler) GetRootResponse(r *http.Request) (goapi.GetRootResponseResponse, error) { + result := goapi.NewGetRootResponseResponse() result.CommonResponseSuccess().SetMessage("from GetRootResponse") return result, nil } -func (h *apiTestHandler) PostRootResponse(requestbody openapiart.ApiTestInputBody, r *http.Request) (openapiart.PostRootResponseResponse, error) { - result := openapiart.NewPostRootResponseResponse() +func (h *apiTestHandler) PostRootResponse(requestbody goapi.ApiTestInputBody, r *http.Request) (goapi.PostRootResponseResponse, error) { + result := goapi.NewPostRootResponseResponse() if requestbody != nil { result.CommonResponseSuccess().SetMessage(requestbody.SomeString()) return result, nil @@ -36,8 +36,8 @@ func (h *apiTestHandler) PostRootResponse(requestbody openapiart.ApiTestInputBod // result.StatusCode500().SetMessage("missing input") return result, nil } -func (h *apiTestHandler) DummyResponseTest(r *http.Request) (openapiart.DummyResponseTestResponse, error) { - result := openapiart.NewDummyResponseTestResponse() +func (h *apiTestHandler) DummyResponseTest(r *http.Request) (goapi.DummyResponseTestResponse, error) { + result := goapi.NewDummyResponseTestResponse() result.SetResponseString("this is a string response") return result, nil } diff --git a/pkg/servertests/service_a_test.go b/pkg/servertests/service_a_test.go index c87b0125..08ec2802 100644 --- a/pkg/servertests/service_a_test.go +++ b/pkg/servertests/service_a_test.go @@ -8,7 +8,7 @@ import ( "net/http/httptest" "testing" - openapiart "github.com/open-traffic-generator/openapiart/pkg" + goapi "github.com/open-traffic-generator/goapi/pkg" "github.com/stretchr/testify/assert" ) @@ -20,7 +20,7 @@ func TestGetRootResponse(t *testing.T) { assert.Equal(t, http.StatusOK, wr.Code) jsonResponse, _ := io.ReadAll(wr.Body) - r := openapiart.NewCommonResponseSuccess() + r := goapi.NewCommonResponseSuccess() err := r.FromJson(string(jsonResponse)) assert.Nil(t, err) assert.Equal(t, "from GetRootResponse", r.Message()) @@ -33,7 +33,7 @@ func TestPostRootResponse(t *testing.T) { router.ServeHTTP(wr, req) assert.Equal(t, http.StatusBadRequest, wr.Code) - inputbody := openapiart.NewApiTestInputBody().SetSomeString("this is the input body") + inputbody := goapi.NewApiTestInputBody().SetSomeString("this is the input body") j, _ := inputbody.ToJson() inputbuffer := bytes.NewBuffer([]byte(j)) @@ -43,7 +43,7 @@ func TestPostRootResponse(t *testing.T) { assert.Equal(t, http.StatusOK, wr.Code) jsonResponse, _ := io.ReadAll(wr.Body) - r := openapiart.NewCommonResponseSuccess() + r := goapi.NewCommonResponseSuccess() err := r.FromJson(string(jsonResponse)) assert.Nil(t, err) assert.Equal(t, "this is the input body", r.Message()) diff --git a/pkg/servertests/service_b.handler.go b/pkg/servertests/service_b.handler.go index fb4dcd0a..f3f70bd9 100644 --- a/pkg/servertests/service_b.handler.go +++ b/pkg/servertests/service_b.handler.go @@ -5,9 +5,9 @@ import ( "net/http" "github.com/gorilla/mux" - openapiart "github.com/open-traffic-generator/openapiart/pkg" - "github.com/open-traffic-generator/openapiart/pkg/httpapi/controllers" - "github.com/open-traffic-generator/openapiart/pkg/httpapi/interfaces" + goapi "github.com/open-traffic-generator/goapi/pkg" + "github.com/open-traffic-generator/goapi/pkg/httpapi/controllers" + "github.com/open-traffic-generator/goapi/pkg/httpapi/interfaces" ) type serviceBHandler struct { @@ -23,28 +23,28 @@ func NewServiceBHandler() interfaces.ServiceAbcHandler { func (h *serviceBHandler) GetController() interfaces.ServiceAbcController { return h.controller } -func (h *serviceBHandler) GetAllItems(r *http.Request) (openapiart.GetAllItemsResponse, error) { +func (h *serviceBHandler) GetAllItems(r *http.Request) (goapi.GetAllItemsResponse, error) { items := h.getItems() - result := openapiart.NewGetAllItemsResponse() + result := goapi.NewGetAllItemsResponse() result.ServiceAbcItemList().Items().Append(items...) return result, nil } -func (h *serviceBHandler) GetSingleItem(r *http.Request) (openapiart.GetSingleItemResponse, error) { +func (h *serviceBHandler) GetSingleItem(r *http.Request) (goapi.GetSingleItemResponse, error) { vars := mux.Vars(r) id := vars[interfaces.ServiceAbcItemId] items := h.getItems() - var item openapiart.ServiceAbcItem + var item goapi.ServiceAbcItem for _, i := range items { if i.SomeId() == id { item = i break } } - result := openapiart.NewGetSingleItemResponse() + result := goapi.NewGetSingleItemResponse() if item != nil { result.SetServiceAbcItem(item) } else { - err := openapiart.NewError() + err := goapi.NewError() err.Msg().Code = 500 err.Msg().Errors = []string{fmt.Sprintf("not found: id '%s'", id)} jsonStr, _ := err.ToJson() @@ -52,23 +52,23 @@ func (h *serviceBHandler) GetSingleItem(r *http.Request) (openapiart.GetSingleIt } return result, nil } -func (h *serviceBHandler) GetSingleItemLevel2(r *http.Request) (openapiart.GetSingleItemLevel2Response, error) { +func (h *serviceBHandler) GetSingleItemLevel2(r *http.Request) (goapi.GetSingleItemLevel2Response, error) { vars := mux.Vars(r) id1 := vars[interfaces.ServiceAbcItemId] id2 := vars[interfaces.ServiceAbcLevel2] - result := openapiart.NewGetSingleItemLevel2Response() + result := goapi.NewGetSingleItemLevel2Response() result.ServiceAbcItem().SetPathId(id1).SetLevel2(id2) return result, nil } -func (h *serviceBHandler) getItems() []openapiart.ServiceAbcItem { - item1 := openapiart.NewServiceAbcItem() +func (h *serviceBHandler) getItems() []goapi.ServiceAbcItem { + item1 := goapi.NewServiceAbcItem() item1.SetSomeId("1") item1.SetSomeString("item 1") - item2 := openapiart.NewServiceAbcItem() + item2 := goapi.NewServiceAbcItem() item2.SetSomeId("2") item2.SetSomeString("item 2") - return []openapiart.ServiceAbcItem{ + return []goapi.ServiceAbcItem{ item1, item2, } diff --git a/pkg/servertests/service_b_test.go b/pkg/servertests/service_b_test.go index e3ae9a4d..09b892fb 100644 --- a/pkg/servertests/service_b_test.go +++ b/pkg/servertests/service_b_test.go @@ -6,7 +6,7 @@ import ( "net/http/httptest" "testing" - openapiart "github.com/open-traffic-generator/openapiart/pkg" + goapi "github.com/open-traffic-generator/goapi/pkg" "github.com/stretchr/testify/assert" ) @@ -18,7 +18,7 @@ func TestGetAllItems(t *testing.T) { assert.Equal(t, http.StatusOK, wr.Code) jsonResponse, _ := io.ReadAll(wr.Body) - r := openapiart.NewServiceAbcItemList() + r := goapi.NewServiceAbcItemList() err := r.FromJson(string(jsonResponse)) assert.Nil(t, err) items := r.Items().Items() @@ -35,7 +35,7 @@ func TestGetSingleItem(t *testing.T) { assert.Equal(t, http.StatusOK, wr.Code) jsonResponse, _ := io.ReadAll(wr.Body) - r := openapiart.NewServiceAbcItem() + r := goapi.NewServiceAbcItem() err := r.FromJson(string(jsonResponse)) assert.Nil(t, err) assert.Equal(t, "1", r.SomeId()) @@ -46,7 +46,7 @@ func TestGetSingleItem(t *testing.T) { assert.Equal(t, http.StatusInternalServerError, wr.Code) // missing support for 404 jsonResponse, _ = io.ReadAll(wr.Body) - errNew := openapiart.NewError() + errNew := goapi.NewError() errFromJson := errNew.FromJson(string(jsonResponse)) assert.Nil(t, errFromJson) assert.Equal(t, "not found: id '3'", errNew.Errors()[0]) @@ -60,7 +60,7 @@ func TestGetSingleItemLevel2(t *testing.T) { assert.Equal(t, http.StatusOK, wr.Code) jsonResponse, _ := io.ReadAll(wr.Body) - r := openapiart.NewServiceAbcItem() + r := goapi.NewServiceAbcItem() err := r.FromJson(string(jsonResponse)) assert.Nil(t, err) assert.Equal(t, "aa", r.PathId()) diff --git a/pkg/servertests/setup.go b/pkg/servertests/setup.go index 9eceabc4..cb2b45d4 100644 --- a/pkg/servertests/setup.go +++ b/pkg/servertests/setup.go @@ -1,7 +1,7 @@ package test import ( - "github.com/open-traffic-generator/openapiart/pkg/httpapi" + "github.com/open-traffic-generator/goapi/pkg/httpapi" "github.com/gorilla/mux" ) diff --git a/pkg/status_msg_test.go b/pkg/status_msg_test.go index 4705bf4d..6532caf5 100644 --- a/pkg/status_msg_test.go +++ b/pkg/status_msg_test.go @@ -1,9 +1,9 @@ -package openapiart_test +package goapi_test import ( "testing" - openapiart "github.com/open-traffic-generator/openapiart/pkg" + goapi "github.com/open-traffic-generator/goapi/pkg" "github.com/stretchr/testify/assert" ) @@ -14,7 +14,7 @@ func TestStatusApi(t *testing.T) { } // create grpc API - grpcApi := openapiart.NewApi() + grpcApi := goapi.NewApi() grpcApi.NewGrpcTransport().SetLocation(grpcServer.Location) config := grpcApi.NewUpdateConfig() @@ -29,16 +29,16 @@ func TestStatusApi(t *testing.T) { } func TestStatusMsgInPrimitiveAttrs(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() // setting all the primitive values which has x-status set config.SetA("test") config.SetSpace1(32) - enums := []openapiart.PrefixConfigDValuesEnum{ - openapiart.PrefixConfigDValues.A, - openapiart.PrefixConfigDValues.B, - openapiart.PrefixConfigDValues.C, + enums := []goapi.PrefixConfigDValuesEnum{ + goapi.PrefixConfigDValues.A, + goapi.PrefixConfigDValues.B, + goapi.PrefixConfigDValues.C, } config.SetDValues(enums) config.SetStrLen("1234") @@ -60,7 +60,7 @@ func TestStatusMsgInPrimitiveAttrs(t *testing.T) { } func TestStatusMsgInStructAttrs(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() // setting a non primitive property with x-status @@ -77,7 +77,7 @@ func TestStatusMsgInStructAttrs(t *testing.T) { } func TestStatusMsgInChoiceAttrs(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() j := config.J().Add() @@ -92,10 +92,10 @@ func TestStatusMsgInChoiceAttrs(t *testing.T) { } func TestStatusMsgInXEnumAttrs(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() - config.SetResponse(openapiart.PrefixConfigResponse.STATUS_404) + config.SetResponse(goapi.PrefixConfigResponse.STATUS_404) // validating the warnings err := config.Validate() @@ -106,7 +106,7 @@ func TestStatusMsgInXEnumAttrs(t *testing.T) { assert.Equal(t, len(warns), 1) assert.Equal(t, warns[0], "STATUS_404 enum in property Response is deprecated, new code will be coming soon") - config.SetResponse(openapiart.PrefixConfigResponse.STATUS_500) + config.SetResponse(goapi.PrefixConfigResponse.STATUS_500) // validating the warnings err = config.Validate() @@ -119,13 +119,13 @@ func TestStatusMsgInXEnumAttrs(t *testing.T) { } func TestStatusMsgInIterattrs(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() list := config.G() - list.Append(openapiart.NewGObject().SetGC(5.67)) - list.Append(openapiart.NewGObject().SetGC(7.67)) - list.Append(openapiart.NewGObject().SetGC(8.67)) + list.Append(goapi.NewGObject().SetGC(5.67)) + list.Append(goapi.NewGObject().SetGC(7.67)) + list.Append(goapi.NewGObject().SetGC(8.67)) assert.Len(t, list.Items(), 3) for _, item := range list.Items() { @@ -140,7 +140,7 @@ func TestStatusMsgInIterattrs(t *testing.T) { } func TestStatusMsgInSchemaObjects(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewUpdateConfig() err := config.Validate() @@ -152,9 +152,9 @@ func TestStatusMsgInSchemaObjects(t *testing.T) { assert.Equal(t, warns[0], "UpdateConfig is under review, the whole schema is being reviewed") list := config.G() - list.Append(openapiart.NewGObject().SetGC(5.67)) - list.Append(openapiart.NewGObject().SetGC(7.67)) - list.Append(openapiart.NewGObject().SetGC(8.67)) + list.Append(goapi.NewGObject().SetGC(5.67)) + list.Append(goapi.NewGObject().SetGC(7.67)) + list.Append(goapi.NewGObject().SetGC(8.67)) assert.Len(t, list.Items(), 3) for _, item := range list.Items() { diff --git a/pkg/transport_test.go b/pkg/transport_test.go index 28fa9889..ef2b5944 100644 --- a/pkg/transport_test.go +++ b/pkg/transport_test.go @@ -1,4 +1,4 @@ -package openapiart_test +package goapi_test import ( "bytes" @@ -11,7 +11,7 @@ import ( "testing" "time" - openapiart "github.com/open-traffic-generator/openapiart/pkg" + goapi "github.com/open-traffic-generator/goapi/pkg" "runtime" @@ -20,7 +20,7 @@ import ( "google.golang.org/grpc/credentials/insecure" ) -var apis []openapiart.OpenapiartApi +var apis []goapi.GoapiApi func init() { err := StartMockGrpcServer() @@ -28,11 +28,11 @@ func init() { log.Printf("error: %s", err.Error()) } StartMockHttpServer() - grpcApi := openapiart.NewApi() + grpcApi := goapi.NewApi() grpcApi.NewGrpcTransport().SetLocation(grpcServer.Location) apis = append(apis, grpcApi) - httpApi := openapiart.NewApi() + httpApi := goapi.NewApi() httpApi.NewHttpTransport().SetLocation(httpServer.Location) apis = append(apis, httpApi) @@ -42,7 +42,7 @@ func init() { if err != nil { log.Fatalf("failed grpc dialcontext due to %s", err.Error()) } - clientConnApi := openapiart.NewApi() + clientConnApi := goapi.NewApi() clientConnApi.NewGrpcTransport().SetClientConnection(conn) apis = append(apis, clientConnApi) } @@ -50,7 +50,7 @@ func init() { func TestSetConfigSuccess(t *testing.T) { for _, api := range apis { config := NewFullyPopulatedPrefixConfig(api) - config.SetResponse(openapiart.PrefixConfigResponse.STATUS_200) + config.SetResponse(goapi.PrefixConfigResponse.STATUS_200) resp, err := api.SetConfig(config) assert.Nil(t, err) assert.NotNil(t, resp) @@ -60,7 +60,7 @@ func TestSetConfigSuccess(t *testing.T) { func TestSetConfig400(t *testing.T) { for _, api := range apis { config := NewFullyPopulatedPrefixConfig(api) - config.SetResponse(openapiart.PrefixConfigResponse.STATUS_400) + config.SetResponse(goapi.PrefixConfigResponse.STATUS_400) resp, err := api.SetConfig(config) assert.Nil(t, resp) assert.NotNil(t, err) @@ -71,7 +71,7 @@ func TestSetConfig400(t *testing.T) { func TestSetConfig404(t *testing.T) { for _, api := range apis { config := NewFullyPopulatedPrefixConfig(api) - config.SetResponse(openapiart.PrefixConfigResponse.STATUS_404) + config.SetResponse(goapi.PrefixConfigResponse.STATUS_404) resp, err := api.SetConfig(config) assert.Nil(t, resp) assert.NotNil(t, err) @@ -81,7 +81,7 @@ func TestSetConfig404(t *testing.T) { func TestSetConfig500(t *testing.T) { for _, api := range apis { config := NewFullyPopulatedPrefixConfig(api) - config.SetResponse(openapiart.PrefixConfigResponse.STATUS_500) + config.SetResponse(goapi.PrefixConfigResponse.STATUS_500) resp, err := api.SetConfig(config) assert.Nil(t, resp) assert.NotNil(t, err) @@ -91,7 +91,7 @@ func TestSetConfig500(t *testing.T) { func TestGetConfigSuccess(t *testing.T) { for _, api := range apis { config := NewFullyPopulatedPrefixConfig(api) - config.SetResponse(openapiart.PrefixConfigResponse.STATUS_200) + config.SetResponse(goapi.PrefixConfigResponse.STATUS_200) _, err := api.SetConfig(config) if err != nil { log.Printf("error: %s", err.Error()) @@ -106,7 +106,7 @@ func TestGetConfigSuccess(t *testing.T) { func TestUpdateConfigSuccess(t *testing.T) { for _, api := range apis { config1 := NewFullyPopulatedPrefixConfig(api) - config1.SetResponse(openapiart.PrefixConfigResponse.STATUS_200) + config1.SetResponse(goapi.PrefixConfigResponse.STATUS_200) _, err := api.SetConfig(config1) if err != nil { log.Printf("error: %s", err.Error()) @@ -121,27 +121,27 @@ func TestUpdateConfigSuccess(t *testing.T) { func TestGetMetrics(t *testing.T) { for _, api := range apis { - metReq := openapiart.NewMetricsRequest() - metReq.SetChoice(openapiart.MetricsRequestChoice.PORT) + metReq := goapi.NewMetricsRequest() + metReq.SetChoice(goapi.MetricsRequestChoice.PORT) metrics, err := api.GetMetrics(metReq) assert.Nil(t, err) assert.NotNil(t, metrics) assert.Len(t, metrics.Ports().Items(), 2) m_err := metrics.Validate() assert.Nil(t, m_err) - assert.Equal(t, openapiart.MetricsChoice.PORTS, metrics.Choice()) + assert.Equal(t, goapi.MetricsChoice.PORTS, metrics.Choice()) for _, row := range metrics.Ports().Items() { log.Println(row.ToYaml()) } - metReqflow := openapiart.NewMetricsRequest() - metReqflow.SetChoice(openapiart.MetricsRequestChoice.FLOW) + metReqflow := goapi.NewMetricsRequest() + metReqflow.SetChoice(goapi.MetricsRequestChoice.FLOW) metResp, err := api.GetMetrics(metReqflow) assert.Nil(t, err) assert.NotNil(t, metResp) assert.Len(t, metResp.Flows().Items(), 2) m_err1 := metResp.Validate() assert.Nil(t, m_err1) - assert.Equal(t, openapiart.MetricsChoice.FLOWS, metResp.Choice()) + assert.Equal(t, goapi.MetricsChoice.FLOWS, metResp.Choice()) for _, row := range metResp.Flows().Items() { log.Println(row.ToYaml()) } @@ -202,18 +202,18 @@ func NetStat(t *testing.T) []string { } func TestConnectionClose(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() api.NewGrpcTransport().SetLocation(grpcServer.Location) config := NewFullyPopulatedPrefixConfig(api) - config.SetResponse(openapiart.PrefixConfigResponse.STATUS_200) + config.SetResponse(goapi.PrefixConfigResponse.STATUS_200) resp, err := api.SetConfig(config) assert.Nil(t, err) assert.NotNil(t, resp) - // httpApi := openapiart.NewApi() + // httpApi := goapi.NewApi() // httpApi.NewHttpTransport().SetLocation(httpServer.Location) // config1 := NewFullyPopulatedPrefixConfig(httpApi) - // config1.SetResponse(openapiart.PrefixConfigResponse.STATUS_200) + // config1.SetResponse(goapi.PrefixConfigResponse.STATUS_200) // resp1, err1 := httpApi.SetConfig(config1) // assert.Nil(t, err1) // assert.NotNil(t, resp1) @@ -240,24 +240,24 @@ func TestGrpcClientConnection(t *testing.T) { if err != nil { log.Fatalf("failed grpc dialcontext due to %s", err.Error()) } - api := openapiart.NewApi() + api := goapi.NewApi() grpc := api.NewGrpcTransport() grpc.SetClientConnection(conn) assert.NotNil(t, grpc.ClientConnection()) config := NewFullyPopulatedPrefixConfig(api) - config.SetResponse(openapiart.PrefixConfigResponse.STATUS_200) + config.SetResponse(goapi.PrefixConfigResponse.STATUS_200) resp, err := api.SetConfig(config) assert.Nil(t, err) assert.NotNil(t, resp) } func TestValidVersionCheckHttp(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() api.SetVersionCompatibilityCheck(true) api.NewHttpTransport().SetLocation(httpServer.Location) config := NewFullyPopulatedPrefixConfig(api) - config.SetResponse(openapiart.PrefixConfigResponse.STATUS_200) + config.SetResponse(goapi.PrefixConfigResponse.STATUS_200) resp, err := api.SetConfig(config) log.Println(resp) assert.Nil(t, err) @@ -265,38 +265,38 @@ func TestValidVersionCheckHttp(t *testing.T) { } func TestInvalidVersionCheckHttp(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() api.SetVersionCompatibilityCheck(true) api.NewHttpTransport().SetLocation(httpServer.Location) api.GetLocalVersion().SetApiSpecVersion("0.2.0") config := NewFullyPopulatedPrefixConfig(api) - config.SetResponse(openapiart.PrefixConfigResponse.STATUS_200) + config.SetResponse(goapi.PrefixConfigResponse.STATUS_200) resp, err := api.SetConfig(config) assert.NotNil(t, err) assert.Nil(t, resp) } func TestValidVersionCheckGrpc(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() api.SetVersionCompatibilityCheck(true) api.NewGrpcTransport().SetLocation(grpcServer.Location) config := NewFullyPopulatedPrefixConfig(api) - config.SetResponse(openapiart.PrefixConfigResponse.STATUS_200) + config.SetResponse(goapi.PrefixConfigResponse.STATUS_200) resp, err := api.SetConfig(config) assert.Nil(t, err) assert.NotNil(t, resp) } func TestInvalidVersionCheckGrpc(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() api.SetVersionCompatibilityCheck(true) api.NewGrpcTransport().SetLocation(grpcServer.Location) api.GetLocalVersion().SetApiSpecVersion("0.2.0") config := NewFullyPopulatedPrefixConfig(api) - config.SetResponse(openapiart.PrefixConfigResponse.STATUS_200) + config.SetResponse(goapi.PrefixConfigResponse.STATUS_200) resp, err := api.SetConfig(config) assert.NotNil(t, err) assert.Nil(t, resp) @@ -305,7 +305,7 @@ func TestInvalidVersionCheckGrpc(t *testing.T) { func TestGrpcErrorStructSetConfig(t *testing.T) { api := apis[0] config := NewFullyPopulatedPrefixConfig(api) - config.SetResponse(openapiart.PrefixConfigResponse.STATUS_404) + config.SetResponse(goapi.PrefixConfigResponse.STATUS_404) resp, err := api.SetConfig(config) assert.Nil(t, resp) assert.NotNil(t, err) @@ -321,7 +321,7 @@ func TestGrpcErrorStructSetConfig(t *testing.T) { func TestHttpErrorStructSetConfig(t *testing.T) { api := apis[1] config := NewFullyPopulatedPrefixConfig(api) - config.SetResponse(openapiart.PrefixConfigResponse.STATUS_500) + config.SetResponse(goapi.PrefixConfigResponse.STATUS_500) resp, err := api.SetConfig(config) assert.Nil(t, resp) assert.NotNil(t, err) @@ -329,7 +329,7 @@ func TestHttpErrorStructSetConfig(t *testing.T) { // if user wants to get the json now errSt, _ := api.FromError(err) assert.Equal(t, errSt.Code(), int32(500)) - assert.Equal(t, errSt.Kind(), openapiart.ErrorKind.INTERNAL) + assert.Equal(t, errSt.Kind(), goapi.ErrorKind.INTERNAL) assert.Equal(t, errSt.Errors()[0], "internal err 1") assert.Equal(t, errSt.Errors()[1], "internal err 2") assert.Equal(t, errSt.Errors()[2], "internal err 3") @@ -338,7 +338,7 @@ func TestHttpErrorStructSetConfig(t *testing.T) { func TestGrpcErrorStringSetConfig(t *testing.T) { api := apis[0] config := NewFullyPopulatedPrefixConfig(api) - config.SetResponse(openapiart.PrefixConfigResponse.STATUS_400) + config.SetResponse(goapi.PrefixConfigResponse.STATUS_400) resp, err := api.SetConfig(config) assert.Nil(t, resp) assert.NotNil(t, err) @@ -353,7 +353,7 @@ func TestGrpcErrorStringSetConfig(t *testing.T) { func TestHttpErrorStringSetConfig(t *testing.T) { api := apis[1] config := NewFullyPopulatedPrefixConfig(api) - config.SetResponse(openapiart.PrefixConfigResponse.STATUS_400) + config.SetResponse(goapi.PrefixConfigResponse.STATUS_400) resp, err := api.SetConfig(config) assert.Nil(t, resp) assert.NotNil(t, err) @@ -361,14 +361,14 @@ func TestHttpErrorStringSetConfig(t *testing.T) { // if user wants to get the json now errSt, _ := api.FromError(err) assert.Equal(t, errSt.Code(), int32(500)) - assert.Equal(t, errSt.Kind(), openapiart.ErrorKind.INTERNAL) + assert.Equal(t, errSt.Kind(), goapi.ErrorKind.INTERNAL) assert.Equal(t, errSt.Errors()[0], "client error !!!!") } func TestGrpcErrorkindSetConfig(t *testing.T) { api := apis[0] config := NewFullyPopulatedPrefixConfig(api) - config.SetResponse(openapiart.PrefixConfigResponse.STATUS_500) + config.SetResponse(goapi.PrefixConfigResponse.STATUS_500) resp, err := api.SetConfig(config) assert.Nil(t, resp) assert.NotNil(t, err) @@ -376,14 +376,14 @@ func TestGrpcErrorkindSetConfig(t *testing.T) { // if user wants to get the json now errSt, _ := api.FromError(err) assert.Equal(t, errSt.Code(), int32(3)) - assert.Equal(t, errSt.Kind(), openapiart.ErrorKind.INTERNAL) + assert.Equal(t, errSt.Kind(), goapi.ErrorKind.INTERNAL) assert.Equal(t, errSt.Errors()[0], "internal err 1") } func TestGrpcErrorStringUpdate(t *testing.T) { api := apis[2] config1 := NewFullyPopulatedPrefixConfig(api) - config1.SetResponse(openapiart.PrefixConfigResponse.STATUS_200) + config1.SetResponse(goapi.PrefixConfigResponse.STATUS_200) _, err := api.SetConfig(config1) if err != nil { log.Printf("error: %s", err.Error()) @@ -404,7 +404,7 @@ func TestGrpcErrorStringUpdate(t *testing.T) { func TestGrpcErrorStructUpdate(t *testing.T) { api := apis[2] config1 := NewFullyPopulatedPrefixConfig(api) - config1.SetResponse(openapiart.PrefixConfigResponse.STATUS_200) + config1.SetResponse(goapi.PrefixConfigResponse.STATUS_200) _, err := api.SetConfig(config1) if err != nil { log.Printf("error: %s", err.Error()) @@ -418,6 +418,6 @@ func TestGrpcErrorStructUpdate(t *testing.T) { // if user wants to get the json now errSt, _ := api.FromError(err) assert.Equal(t, errSt.Code(), int32(6)) - assert.Equal(t, errSt.Kind(), openapiart.ErrorKind.VALIDATION) + assert.Equal(t, errSt.Kind(), goapi.ErrorKind.VALIDATION) assert.Equal(t, errSt.Errors()[0], "invalid1") } diff --git a/pkg/unit1_test.go b/pkg/unit1_test.go index f5bdf3a3..0acddb66 100644 --- a/pkg/unit1_test.go +++ b/pkg/unit1_test.go @@ -1,16 +1,16 @@ -package openapiart_test +package goapi_test import ( "testing" - openapiart "github.com/open-traffic-generator/openapiart/pkg" - sanity "github.com/open-traffic-generator/openapiart/pkg/sanity" + goapi "github.com/open-traffic-generator/goapi/pkg" + sanity "github.com/open-traffic-generator/goapi/pkg/openapi" "github.com/stretchr/testify/assert" ) func TestToAndFromProtoMsg(t *testing.T) { fObj_proto := &sanity.FObject{} - fObj := openapiart.NewFObject() + fObj := goapi.NewFObject() obj, err := fObj.FromProto(fObj_proto) assert.Nil(t, err) diff --git a/pkg/unit_test.go b/pkg/unit_test.go index d433168d..fa53e08f 100644 --- a/pkg/unit_test.go +++ b/pkg/unit_test.go @@ -1,4 +1,4 @@ -package openapiart_test +package goapi_test import ( "encoding/json" @@ -8,7 +8,7 @@ import ( "strings" "testing" - openapiart "github.com/open-traffic-generator/openapiart/pkg" + goapi "github.com/open-traffic-generator/goapi/pkg" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) @@ -26,11 +26,11 @@ func JSONBytesEqual(a, b []byte) (bool, error) { } func TestJsonSerialization(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() config.RequiredObject().SetEA(3.0).SetEB(47.234) config.SetA("asdf").SetB(12.2).SetC(1).SetH(true).SetI([]byte{1, 0, 0, 1, 0, 0, 1, 1}) - config.SetResponse(openapiart.PrefixConfigResponse.STATUS_200) + config.SetResponse(goapi.PrefixConfigResponse.STATUS_200) config.E().SetEA(1.1).SetEB(1.2).SetMParam1("Mparam1").SetMParam2("Mparam2") config.F().SetFB(3.0) config.G().Add().SetGA("a g_a value").SetGB(6).SetGC(77.7).SetGE(3.0) @@ -85,9 +85,9 @@ func TestJsonSerialization(t *testing.T) { } func TestNewAndSet(t *testing.T) { - c := openapiart.NewPrefixConfig() - c.SetE(openapiart.NewEObject().SetEA(123.456).SetEB(453.123)) - c.SetF(openapiart.NewFObject().SetFA("fa string")) + c := goapi.NewPrefixConfig() + c.SetE(goapi.NewEObject().SetEA(123.456).SetEB(453.123)) + c.SetF(goapi.NewFObject().SetFA("fa string")) yaml1, err := c.E().ToYaml() assert.Nil(t, err) yaml2, err := c.F().ToYaml() @@ -102,7 +102,7 @@ func TestSimpleTypes(t *testing.T) { var c int32 = 1 h := true i := []byte("sample string") - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() config.SetA("asdfg").SetB(12.2).SetC(1).SetH(true).SetI([]byte("sample string")) assert.Equal(t, a, config.A()) @@ -117,7 +117,7 @@ var gbValues = []int32{11, 22} var gcValues = []float32{11.11, 22.22} func TestIterAdd(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() config.G().Add().SetGA("1111").SetGB(11).SetGC(11.11) config.G().Add().SetGA("2222").SetGB(22).SetGC(22.22) @@ -131,10 +131,10 @@ func TestIterAdd(t *testing.T) { } func TestIterAppend(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() config.G().Add().SetGA("1111").SetGB(11).SetGC(11.11) - g := config.G().Append(openapiart.NewGObject().SetGA("2222").SetGB(22).SetGC(22.22)) + g := config.G().Append(goapi.NewGObject().SetGA("2222").SetGB(22).SetGC(22.22)) assert.Equal(t, len(g.Items()), 2) for idx, gObj := range config.G().Items() { @@ -151,17 +151,17 @@ func TestIterSet(t *testing.T) { assert.Equal(t, errValue, fmt.Sprintf("%v", err)) } }() - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() name := "new name set on slice" config.G().Add().SetName("original name set on add") config.G().Add() - g := config.G().Set(1, openapiart.NewGObject().SetName(name)) + g := config.G().Set(1, goapi.NewGObject().SetName(name)) assert.Equal(t, name, g.Items()[1].Name()) assert.Equal(t, len(g.Items()), 2) - config.G().Set(3, openapiart.NewGObject().SetName(name)) + config.G().Set(3, goapi.NewGObject().SetName(name)) } func TestListWrapFromJson(t *testing.T) { @@ -186,7 +186,7 @@ func TestListWrapFromJson(t *testing.T) { ], "h": true }` - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() assert.Nil(t, config.FromJson(listWrap)) assert.Equal(t, len(config.G().Items()), 1) @@ -197,7 +197,7 @@ func TestEObject(t *testing.T) { eb := 1.2 mparam1 := "Mparam1" maparam2 := "Mparam2" - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() config.E().SetEA(1.1).SetEB(1.2).SetMParam1("Mparam1").SetMParam2("Mparam2") assert.Equal(t, ea, config.E().EA()) @@ -211,7 +211,7 @@ func TestGObject(t *testing.T) { gb := []int32{1, 2} gc := []float32{11.1, 22.2} ge := []float64{1.0, 2.0} - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() g1 := config.G().Add() g1.SetGA("g_1").SetGB(1).SetGC(11.1).SetGE(1.0) @@ -231,12 +231,12 @@ func TestGObject(t *testing.T) { log.Print(g1json, g1yaml) } func TestGObjectAppendMultiple(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() - items := []openapiart.GObject{ - openapiart.NewGObject().SetGA("g_1"), - openapiart.NewGObject().SetGA("g_2"), - openapiart.NewGObject().SetGA("g_3"), + items := []goapi.GObject{ + goapi.NewGObject().SetGA("g_1"), + goapi.NewGObject().SetGA("g_2"), + goapi.NewGObject().SetGA("g_3"), } config.G().Append(items...) assert.Len(t, config.G().Items(), 3) @@ -249,11 +249,11 @@ func TestGObjectAppend(t *testing.T) { gb := []int32{1, 2} gc := []float32{11.1, 22.2} ge := []float64{1.0, 2.0} - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() - g1 := openapiart.NewGObject() + g1 := goapi.NewGObject() g1.SetGA("g_1").SetGB(1).SetGC(11.1).SetGE(1.0) - g2 := openapiart.NewGObject() + g2 := goapi.NewGObject() g2.SetGA("g_2").SetGB(2).SetGC(22.2).SetGE(2.0) config.G().Append(g1, g2) for i, G := range config.G().Items() { @@ -268,7 +268,7 @@ func TestGObjectAppend(t *testing.T) { func TestLObject(t *testing.T) { var int_ int32 = 80 var float_ float32 = 100.11 - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() l := config.L() l.SetStringParam("test") @@ -296,7 +296,7 @@ func TestLObject(t *testing.T) { // Confirm the underlying protobuf EObject has been created by setting the // properties of the returned RequiredObject func TestRequiredObject(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() r := config.RequiredObject() r.SetEA(22.2) @@ -310,7 +310,7 @@ func TestRequiredObject(t *testing.T) { // Confirm the underlying protobuf EObject has been created by setting the // properties of the returned OptionalObject func TestOptionalObject(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() r := config.OptionalObject() r.SetEA(22.2) @@ -319,19 +319,19 @@ func TestOptionalObject(t *testing.T) { func TestResponseEnum(t *testing.T) { // UNCOMMENT the following when github workflow supports go 1.17 - // flds := reflect.VisibleFields(reflect.TypeOf(openapiart.PrefixConfigResponse)) + // flds := reflect.VisibleFields(reflect.TypeOf(goapi.PrefixConfigResponse)) // for _, fld := range flds { // assert.NotEqual(t, fld.Name, "UNSPECIFIED") // } - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() - config.SetResponse(openapiart.PrefixConfigResponse.STATUS_400) - assert.Equal(t, config.Response(), openapiart.PrefixConfigResponse.STATUS_400) + config.SetResponse(goapi.PrefixConfigResponse.STATUS_400) + assert.Equal(t, config.Response(), goapi.PrefixConfigResponse.STATUS_400) fmt.Println("response: ", config.Response()) } func TestChoice(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := NewFullyPopulatedPrefixConfig(api) f := config.F() @@ -339,13 +339,13 @@ func TestChoice(t *testing.T) { assert.Nil(t, err) fmt.Println(fJson) f.SetFA("a fa string") - assert.Equal(t, f.Choice(), openapiart.FObjectChoice.F_A) + assert.Equal(t, f.Choice(), goapi.FObjectChoice.F_A) j := config.J().Add() j.JA().SetEA(22.2).SetEB(44.32) - assert.Equal(t, j.Choice(), openapiart.JObjectChoice.J_A) + assert.Equal(t, j.Choice(), goapi.JObjectChoice.J_A) j.JB() - assert.Equal(t, j.Choice(), openapiart.JObjectChoice.J_B) + assert.Equal(t, j.Choice(), goapi.JObjectChoice.J_B) configYaml, err := config.ToYaml() assert.Nil(t, err) @@ -353,7 +353,7 @@ func TestChoice(t *testing.T) { } func TestHas(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() assert.False(t, config.HasE()) assert.False(t, config.HasF()) @@ -369,7 +369,7 @@ var BadMac = []string{ } func TestGoodMacValidation(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() mac := config.MacPattern().Mac().SetValue(GoodMac[0]) err := mac.Validate() @@ -377,7 +377,7 @@ func TestGoodMacValidation(t *testing.T) { } func TestBadMacValidation(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() for _, mac := range BadMac { macObj := config.MacPattern().Mac().SetValue(mac) @@ -389,7 +389,7 @@ func TestBadMacValidation(t *testing.T) { } func TestGoodMacValues(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() mac := config.MacPattern().Mac().SetValues(GoodMac) err := mac.Validate() @@ -397,7 +397,7 @@ func TestGoodMacValues(t *testing.T) { } func TestBadMacValues(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() mac := config.MacPattern().Mac().SetValues(BadMac) err := mac.Validate() @@ -408,7 +408,7 @@ func TestBadMacValues(t *testing.T) { } func TestBadMacIncrement(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() mac := config.MacPattern().Mac().Increment().SetStart(GoodMac[0]) mac.SetStep(BadMac[0]) @@ -421,7 +421,7 @@ func TestBadMacIncrement(t *testing.T) { } func TestBadMacDecrement(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() mac := config.MacPattern().Mac().Decrement().SetStart(BadMac[0]) mac.SetStep(GoodMac[0]) @@ -437,7 +437,7 @@ var GoodIpv4 = []string{"1.1.1.1", "255.255.255.255"} var BadIpv4 = []string{"1.1. 1.1", "33.4", "asdf", "100", "-20", "::01", "1.1.1.1.1", "256.256.256.256", "-255.-255.-255.-255"} func TestGoodIpv4Validation(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() ipv4 := config.Ipv4Pattern().Ipv4().SetValue(GoodIpv4[0]) err := ipv4.Validate() @@ -445,7 +445,7 @@ func TestGoodIpv4Validation(t *testing.T) { } func TestBadIpv4Validation(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() for _, ip := range BadIpv4 { ipv4 := config.Ipv4Pattern().Ipv4().SetValue(ip) @@ -457,7 +457,7 @@ func TestBadIpv4Validation(t *testing.T) { } func TestBadIpv4Values(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() ipv4 := config.Ipv4Pattern().Ipv4().SetValues(BadIpv4) err := ipv4.Validate() @@ -467,7 +467,7 @@ func TestBadIpv4Values(t *testing.T) { } func TestBadIpv4Increment(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() ipv4 := config.Ipv4Pattern().Ipv4().Increment().SetStart(GoodIpv4[0]) ipv4.SetStep(BadIpv4[0]) @@ -479,7 +479,7 @@ func TestBadIpv4Increment(t *testing.T) { } func TestBadIpv4Decrement(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() ipv4 := config.Ipv4Pattern().Ipv4().Decrement().SetStart(GoodIpv4[0]) ipv4.SetStep(BadIpv4[0]) @@ -494,7 +494,7 @@ var GoodIpv6 = []string{"::", "1::", ": :", "abcd::1234", "aa:00bd:a:b:c:d:f:abc var BadIpv6 = []string{"33.4", "asdf", "1.1.1.1", "100", "-20", "65535::65535", "ab: :ab", "ab:ab:ab", "ffff0::ffff0"} func TestGoodIpv6Validation(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() ipv6 := config.Ipv6Pattern().Ipv6().SetValue(GoodIpv6[0]) err := ipv6.Validate() @@ -502,7 +502,7 @@ func TestGoodIpv6Validation(t *testing.T) { } func TestBadIpv6Validation(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() for _, ip := range BadIpv6 { ipv6 := config.Ipv6Pattern().Ipv6().SetValue(ip) @@ -514,7 +514,7 @@ func TestBadIpv6Validation(t *testing.T) { } func TestBadIpv6Values(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() ipv6 := config.Ipv6Pattern().Ipv6().SetValues(BadIpv6) err := ipv6.Validate() @@ -524,7 +524,7 @@ func TestBadIpv6Values(t *testing.T) { } func TestBadIpv6Increment(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() ipv6 := config.Ipv6Pattern().Ipv6().Increment().SetStart(GoodIpv6[0]) ipv6.SetStep(BadIpv6[0]) @@ -536,7 +536,7 @@ func TestBadIpv6Increment(t *testing.T) { } func TestBadIpv6Decrement(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() ipv6 := config.Ipv6Pattern().Ipv6().Decrement().SetStart(GoodIpv6[0]) ipv6.SetStep(BadIpv6[0]) @@ -548,13 +548,13 @@ func TestBadIpv6Decrement(t *testing.T) { } func TestDefaultSimpleTypes(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() config.RequiredObject().SetEA(1).SetEB(2) config.SetA("asdf") config.SetB(65) config.SetC(33) - config.SetResponse(openapiart.PrefixConfigResponse.STATUS_200) + config.SetResponse(goapi.PrefixConfigResponse.STATUS_200) actual_result, err := config.ToJson() assert.Nil(t, err) expected_result := `{ @@ -572,7 +572,7 @@ func TestDefaultSimpleTypes(t *testing.T) { } func TestDefaultEObject(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() config.E().SetEA(1).SetEB(2) actual_result, err := config.E().ToJson() @@ -586,7 +586,7 @@ func TestDefaultEObject(t *testing.T) { } func TestDefaultFObject(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() config.F() actual_result, err := config.F().ToJson() @@ -600,7 +600,7 @@ func TestDefaultFObject(t *testing.T) { } func TestRequiredValidation(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() config.RequiredObject().SetEA(10.2).SetEB(20) config.SetA("abc") @@ -615,13 +615,13 @@ func TestRequiredValidation(t *testing.T) { SetMac("00:AA:BB:CC:DD:EE"). SetIpv6("2001::1"). SetIpv4("1.1.1.1") - config.SetResponse(openapiart.PrefixConfigResponse.STATUS_400) + config.SetResponse(goapi.PrefixConfigResponse.STATUS_400) err := config.Validate() assert.Nil(t, err) } func TestHexPattern(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() l := config.L() l.SetHex("200000000000000b00000000200000000000000b00000000200000000000000b00000000") @@ -645,7 +645,7 @@ func TestHexPattern(t *testing.T) { } func TestChoice1(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() json := `{ "choice": "f_b", @@ -669,14 +669,14 @@ func TestChoice1(t *testing.T) { } func TestRequiredField(t *testing.T) { - mandate := openapiart.NewMandate() + mandate := goapi.NewMandate() err := mandate.Validate() assert.NotNil(t, err) assert.Contains(t, err.Error(), "RequiredParam is required field") } func TestOptionalDefault(t *testing.T) { - gObject := openapiart.NewGObject() + gObject := goapi.NewGObject() gJson := `{ "g_a": "asdf", "g_b": 6, @@ -691,7 +691,7 @@ func TestOptionalDefault(t *testing.T) { } func TestInterger64(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() int_64 := `{ "a":"asdf", "b" : 65, @@ -721,7 +721,7 @@ func TestInterger64(t *testing.T) { } func TestInt32Param(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() int_32 := `{ "a":"asdf", "b" : 65, @@ -757,7 +757,7 @@ func TestInt32Param(t *testing.T) { } func TestUint32Param(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() uint_32 := `{ "a":"asdf", "b" : 65, @@ -789,7 +789,7 @@ func TestUint32Param(t *testing.T) { } func TestUInt64Param(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() uint_64 := `{ "a":"asdf", "b" : 65, @@ -820,12 +820,12 @@ func TestUInt64Param(t *testing.T) { } func TestFromJsonToCleanObject(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() config.SetA("abcd") config.SetB(100) config.SetC(4000) - config.SetResponse(openapiart.PrefixConfigResponse.STATUS_500) - config.SetRequiredObject(openapiart.NewEObject().SetEA(10.1).SetEB(30.234)) + config.SetResponse(goapi.PrefixConfigResponse.STATUS_500) + config.SetRequiredObject(goapi.NewEObject().SetEA(10.1).SetEB(30.234)) config.SetInteger64(200645) assert.Nil(t, config.Validate()) new_json := `{ @@ -860,7 +860,7 @@ func TestFromJsonToCleanObject(t *testing.T) { } func TestChoiceStale(t *testing.T) { - fObject := openapiart.NewFObject() + fObject := goapi.NewFObject() fObject.SetFA("This is A Value") expected_json := `{ "choice": "f_a", @@ -919,12 +919,12 @@ func TestChoice2(t *testing.T) { } } }` - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() config.SetA("asdf").SetB(12.2).SetC(1) config.RequiredObject().SetEA(1).SetEB(2) config.K().FObject().SetFA("asf") - config.SetResponse(openapiart.PrefixConfigResponse.STATUS_200) + config.SetResponse(goapi.PrefixConfigResponse.STATUS_200) config.E().SetEA(1.1).SetEB(1.2).SetMParam1("Mparam1").SetMParam2("Mparam2") config.J().Add().JA().SetEA(1.0).SetEB(2.0) config.J().Add().JB().SetFA("asf") @@ -935,7 +935,7 @@ func TestChoice2(t *testing.T) { } func TestGetter(t *testing.T) { - fObject := openapiart.NewFObject() + fObject := goapi.NewFObject() fObject.FA() expected_json := `{ "choice": "f_a", @@ -945,13 +945,13 @@ func TestGetter(t *testing.T) { assert.Nil(t, err) require.JSONEq(t, expected_json, fObjectJson) - fObject1 := openapiart.NewFObject() + fObject1 := goapi.NewFObject() fObject1.Choice() fObject1Json, err := fObject1.ToJson() assert.Nil(t, err) require.JSONEq(t, expected_json, fObject1Json) - pattern := openapiart.NewIpv4Pattern() + pattern := goapi.NewIpv4Pattern() pattern.Ipv4() exp_ipv4 := `{ "ipv4": { @@ -978,7 +978,7 @@ func TestGetter(t *testing.T) { require.JSONEq(t, exp_ipv41, patternJson1) pattern.Ipv4().SetValues([]string{"20.1.1.1"}) assert.Equal(t, []string{"20.1.1.1"}, pattern.Ipv4().Values()) - checksum := openapiart.NewChecksumPattern().Checksum() + checksum := goapi.NewChecksumPattern().Checksum() ch_json := `{ "choice": "generated", "generated": "good" @@ -990,13 +990,13 @@ func TestGetter(t *testing.T) { } func TestStringLength(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() config.SetA("asdf").SetB(12.2).SetC(1).SetH(true).SetI([]byte{1, 0, 0, 1, 0, 0, 1, 1}) config.RequiredObject().SetEA(1).SetEB(2) config.SetIeee8021Qbb(true) config.SetFullDuplex100Mb(2) - config.SetResponse(openapiart.PrefixConfigResponse.STATUS_200) + config.SetResponse(goapi.PrefixConfigResponse.STATUS_200) config.SetStrLen("123456") configJson, err := config.ToJson() assert.Nil(t, err) @@ -1004,44 +1004,44 @@ func TestStringLength(t *testing.T) { } func TestListClear(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() list := config.G() - list.Append(openapiart.NewGObject().SetGA("a1")) - list.Append(openapiart.NewGObject().SetGA("a2")) - list.Append(openapiart.NewGObject().SetGA("a3")) + list.Append(goapi.NewGObject().SetGA("a1")) + list.Append(goapi.NewGObject().SetGA("a2")) + list.Append(goapi.NewGObject().SetGA("a3")) assert.Len(t, list.Items(), 3) list.Clear() assert.Len(t, list.Items(), 0) - list.Append(openapiart.NewGObject().SetGA("b1")) - list.Append(openapiart.NewGObject().SetGA("b2")) + list.Append(goapi.NewGObject().SetGA("b1")) + list.Append(goapi.NewGObject().SetGA("b2")) assert.Len(t, list.Items(), 2) assert.Equal(t, list.Items()[1].GA(), "b2") - list1 := []openapiart.GObject{ - openapiart.NewGObject().SetGA("c_1"), - openapiart.NewGObject().SetGA("c_2"), - openapiart.NewGObject().SetGA("c_3"), + list1 := []goapi.GObject{ + goapi.NewGObject().SetGA("c_1"), + goapi.NewGObject().SetGA("c_2"), + goapi.NewGObject().SetGA("c_3"), } list.Clear().Append(list1...) assert.Len(t, list.Items(), 3) - list2 := []openapiart.GObject{ - openapiart.NewGObject().SetGA("d_1"), - openapiart.NewGObject().SetGA("d_1"), + list2 := []goapi.GObject{ + goapi.NewGObject().SetGA("d_1"), + goapi.NewGObject().SetGA("d_1"), } list.Clear().Append(list2...) assert.Len(t, list.Items(), 2) } func TestConfigHas200Result(t *testing.T) { - // https://github.com/open-traffic-generator/openapiart/issues/242 - cfg := openapiart.NewSetConfigResponse() + // https://github.com/open-traffic-generator/goapi/issues/242 + cfg := goapi.NewSetConfigResponse() cfg.SetResponseBytes([]byte("anything")) assert.True(t, cfg.HasResponseBytes()) } func TestFromJsonErrors(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() json := `{ "abc": "test" @@ -1053,19 +1053,19 @@ func TestFromJsonErrors(t *testing.T) { "g_e": "10", "g_b": "20" }` - gObj := openapiart.NewGObject() + gObj := goapi.NewGObject() err1 := gObj.FromJson(json1) assert.Nil(t, err1) json2 := `{ "choice": "f_t" }` - fObj := openapiart.NewFObject() + fObj := goapi.NewFObject() err2 := fObj.FromJson(json2) assert.Contains(t, err2.Error(), "unmarshal error") } func TestStringLengthError(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() config.SetA("asdf").SetB(12.2).SetC(1).SetH(true).SetI([]byte{1, 0, 0, 1, 0, 0, 1, 1}).SetName("config") config.SetSpace1(1) @@ -1084,7 +1084,7 @@ func TestStringLengthError(t *testing.T) { } func TestIncorrectChoiceEnum(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() config.SetA("asdf").SetB(12.2).SetC(1).SetH(true).SetI([]byte{1, 0, 0, 1, 0, 0, 1, 1}) config.RequiredObject().SetEA(1).SetEB(2) @@ -1103,7 +1103,7 @@ func TestIncorrectChoiceEnum(t *testing.T) { } // func TestEObjectValidation(t *testing.T) { -// eObject := openapiart.NewEObject() +// eObject := goapi.NewEObject() // err := eObject.Validate() // if assert.Error(t, err) { // assert.Contains(t, strings.ToLower(err.Error()), "ea is required field on interface eobject\neb is required field on interface eobject\nvalidation errors") @@ -1111,7 +1111,7 @@ func TestIncorrectChoiceEnum(t *testing.T) { // } func TestMObjectValidation(t *testing.T) { - mObject := openapiart.NewMObject() + mObject := goapi.NewMObject() err := mObject.Validate() if assert.Error(t, err) { assert.Contains(t, strings.ToLower(err.Error()), "required field on interface mobject") @@ -1119,7 +1119,7 @@ func TestMObjectValidation(t *testing.T) { } func TestMobjectValidationError(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() config.RequiredObject().SetEA(10.2).SetEB(20) config.SetA("abc") @@ -1134,7 +1134,7 @@ func TestMobjectValidationError(t *testing.T) { SetMac("00:AA:BB:CC:DD:EE:AA"). SetIpv6("2001::1::1"). SetIpv4("1.1.1.1.2") - config.SetResponse(openapiart.PrefixConfigResponse.STATUS_400) + config.SetResponse(goapi.PrefixConfigResponse.STATUS_400) err := config.Validate() assert.NotNil(t, err) if assert.Error(t, err) { @@ -1147,7 +1147,7 @@ func TestMobjectValidationError(t *testing.T) { } func TestLObjectError(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() l := config.L() l.SetStringParam("test") @@ -1170,11 +1170,11 @@ func TestLObjectError(t *testing.T) { } func TestIeee802x(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() - config.SetCase(openapiart.NewLayer1Ieee802X()) + config.SetCase(goapi.NewLayer1Ieee802X()) config.Case() - l1 := openapiart.NewLayer1Ieee802X() + l1 := goapi.NewLayer1Ieee802X() l1.SetFlowControl(true) l1.SetMsg(l1.Msg()) l1.FlowControl() @@ -1191,7 +1191,7 @@ func TestIeee802x(t *testing.T) { } func TestLevelFour(t *testing.T) { - new_level_four := openapiart.NewLevelFour() + new_level_four := goapi.NewLevelFour() new_level_four.Msg() new_level_four.SetMsg(new_level_four.Msg()) new_level_four.HasL4P1() @@ -1208,20 +1208,20 @@ func TestLevelFour(t *testing.T) { } func TestIterAppendJObject(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() config.J().Add() - j := config.J().Append(openapiart.NewJObject()) + j := config.J().Append(goapi.NewJObject()) assert.Equal(t, len(j.Items()), 2) } func TestIterSetJObject(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() config.J().Add().JA().SetEA(100) config.J().Add() - j := config.J().Set(1, openapiart.NewJObject().SetChoice("j_b")) + j := config.J().Set(1, goapi.NewJObject().SetChoice("j_b")) assert.Contains(t, j.Items()[1].Choice(), "j_b") assert.Len(t, config.J().Items(), 2) @@ -1230,19 +1230,19 @@ func TestIterSetJObject(t *testing.T) { } func TestIterAppendGObject(t *testing.T) { - config := openapiart.NewUpdateConfig() + config := goapi.NewUpdateConfig() config.G().Add() - g := config.G().Append(openapiart.NewGObject()) + g := config.G().Append(goapi.NewGObject()) assert.Equal(t, len(g.Items()), 2) } func TestIterSetGObject(t *testing.T) { - config := openapiart.NewUpdateConfig() + config := goapi.NewUpdateConfig() name := "new name set on slice" config.G().Add().SetName("original name set on add") config.G().Add() - g := config.G().Set(1, openapiart.NewGObject().SetName(name)) + g := config.G().Set(1, goapi.NewGObject().SetName(name)) assert.Equal(t, name, g.Items()[1].Name()) assert.Len(t, g.Items(), 2) @@ -1252,19 +1252,19 @@ func TestIterSetGObject(t *testing.T) { } func TestIterAppendPortMetrics(t *testing.T) { - config := openapiart.NewMetrics() + config := goapi.NewMetrics() config.Ports().Add() - p := config.Ports().Append(openapiart.NewPortMetric()) + p := config.Ports().Append(goapi.NewPortMetric()) assert.Equal(t, len(p.Items()), 2) } func TestIterSetPortMetrics(t *testing.T) { - config := openapiart.NewMetrics() + config := goapi.NewMetrics() name := "new port metric" config.Ports().Add().SetName("original name set on add") config.Ports().Add() - p := config.Ports().Set(1, openapiart.NewPortMetric().SetName(name)) + p := config.Ports().Set(1, goapi.NewPortMetric().SetName(name)) assert.Equal(t, name, p.Items()[1].Name()) assert.Len(t, p.Items(), 2) @@ -1273,7 +1273,7 @@ func TestIterSetPortMetrics(t *testing.T) { } func TestFromYamlErrors(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() incorrect_format := `{ "a":"asdf", @@ -1315,7 +1315,7 @@ func TestFromYamlErrors(t *testing.T) { } func TestFromPbTextErrors(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := api.NewPrefixConfig() incorrect_format := `{ "a":"asdf", @@ -1346,7 +1346,7 @@ func TestFromPbTextErrors(t *testing.T) { func TestUpdateConfig(t *testing.T) { for _, api := range apis { config1 := NewFullyPopulatedPrefixConfig(api) - config1.SetResponse(openapiart.PrefixConfigResponse.STATUS_200) + config1.SetResponse(goapi.PrefixConfigResponse.STATUS_200) _, set_err := api.SetConfig(config1) assert.Nil(t, set_err) config2 := api.NewUpdateConfig() @@ -1371,7 +1371,7 @@ func TestUpdateConfig(t *testing.T) { } func TestNewSetConfigResponse(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() new_resp := api.NewSetConfigResponse() new_resp.SetResponseBytes([]byte{0, 1}) new_resp.SetMsg(new_resp.Msg()) @@ -1389,7 +1389,7 @@ func TestNewSetConfigResponse(t *testing.T) { } func TestNewUpdateConfigResponse(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() new_resp := api.NewUpdateConfigurationResponse() new_resp.SetMsg(new_resp.Msg()) new_resp.Msg() @@ -1406,7 +1406,7 @@ func TestNewUpdateConfigResponse(t *testing.T) { } func TestNewGetConfigResponse(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() new_resp := api.NewGetConfigResponse() new_resp.SetMsg(new_resp.Msg()) new_resp.Msg() @@ -1423,7 +1423,7 @@ func TestNewGetConfigResponse(t *testing.T) { } func TestNewGetMetricsResponse(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() new_resp := api.NewGetMetricsResponse() new_resp.SetMsg(new_resp.Msg()) new_resp.Msg() @@ -1440,7 +1440,7 @@ func TestNewGetMetricsResponse(t *testing.T) { } func TestNewGetWarningsResponse(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() new_resp := api.NewGetWarningsResponse() new_resp.SetMsg(new_resp.Msg()) new_resp.Msg() @@ -1457,7 +1457,7 @@ func TestNewGetWarningsResponse(t *testing.T) { } func TestNewClearWarningsResponse(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() new_resp := api.NewClearWarningsResponse() new_resp.SetMsg(new_resp.Msg()) new_resp.Msg() @@ -1475,7 +1475,7 @@ func TestNewClearWarningsResponse(t *testing.T) { } func TestNewError(t *testing.T) { - new_err := openapiart.NewError() + new_err := goapi.NewError() new_err.Msg().Code = 500 new_err.Msg().Errors = []string{"err1"} respJson, err := new_err.ToJson() @@ -1494,7 +1494,7 @@ func TestNewError(t *testing.T) { } func TestNewMetrics(t *testing.T) { - new_metrics := openapiart.NewMetrics() + new_metrics := goapi.NewMetrics() new_metrics.SetMsg(new_metrics.Msg()) new_metrics.Msg() respJson, err := new_metrics.ToJson() @@ -1509,7 +1509,7 @@ func TestNewMetrics(t *testing.T) { } func TestNewWarningDetails(t *testing.T) { - new_warnings := openapiart.NewWarningDetails() + new_warnings := goapi.NewWarningDetails() new_warnings.SetMsg(new_warnings.Msg()) new_warnings.Msg() respJson, err := new_warnings.ToJson() @@ -1524,7 +1524,7 @@ func TestNewWarningDetails(t *testing.T) { } func TestNewPortMetric(t *testing.T) { - new_port_metric := openapiart.NewPortMetric() + new_port_metric := goapi.NewPortMetric() new_port_metric.SetName("portmetric") new_port_metric.SetTxFrames(1000) new_port_metric.SetRxFrames(2000) @@ -1546,7 +1546,7 @@ func TestNewPortMetric(t *testing.T) { } func TestItemsMethod(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config1 := NewFullyPopulatedPrefixConfig(api) config1.G().Add().SetGA("this is GA string") assert.Equal(t, config1.G(), config1.G()) @@ -1581,7 +1581,7 @@ func TestItemsMethod(t *testing.T) { } func TestStructGetterMethod(t *testing.T) { - jObject := openapiart.NewJObject() + jObject := goapi.NewJObject() val := jObject.JA() val.SetEA(1.45) val.SetEB(1.456) @@ -1589,14 +1589,14 @@ func TestStructGetterMethod(t *testing.T) { jObject.JA().SetEA(0.23495) assert.Equal(t, val, jObject.JA()) - jObject1 := openapiart.NewJObject() + jObject1 := goapi.NewJObject() jOject1json, err := jObject.ToJson() assert.Nil(t, err) err1 := jObject1.FromJson(jOject1json) assert.Nil(t, err1) assert.Equal(t, jObject1.JA(), jObject1.JA()) - jObject2 := openapiart.NewJObject() + jObject2 := goapi.NewJObject() val2 := jObject2.JA() val2.SetEA(0.23495).SetEB(1.456) jObject2Json, err := jObject.ToJson() @@ -1607,7 +1607,7 @@ func TestStructGetterMethod(t *testing.T) { } func TestFromJsonEmpty(t *testing.T) { - fObject := openapiart.NewFObject() + fObject := goapi.NewFObject() value1, err := fObject.ToJson() assert.Nil(t, err) value2, err := fObject.ToYaml() @@ -1637,7 +1637,7 @@ func TestFromJsonEmpty(t *testing.T) { } func TestChoiceDefaults(t *testing.T) { - jObject := openapiart.NewJObject() + jObject := goapi.NewJObject() json := ` { "choice": "j_a", @@ -1646,7 +1646,7 @@ func TestChoiceDefaults(t *testing.T) { j, err0 := jObject.ToJson() assert.Nil(t, err0) require.JSONEq(t, json, j) - jObject.SetChoice(openapiart.JObjectChoice.J_B) + jObject.SetChoice(goapi.JObjectChoice.J_B) json1 := ` { "choice": "j_b", @@ -1670,7 +1670,7 @@ func TestChoiceDefaults(t *testing.T) { j2, err2 := jObject.ToJson() assert.Nil(t, err2) require.JSONEq(t, json2, j2) - integer := openapiart.NewIntegerPattern() + integer := goapi.NewIntegerPattern() integer.Integer().Values() json3 := ` { @@ -1700,8 +1700,8 @@ func TestChoiceDefaults(t *testing.T) { } func TestSetterWrapperHolder(t *testing.T) { - metricsResp := openapiart.NewGetMetricsResponse() - metricsResp.SetMetrics(openapiart.NewMetrics()) + metricsResp := goapi.NewGetMetricsResponse() + metricsResp.SetMetrics(goapi.NewMetrics()) json1 := `{ "metrics": { "choice": "ports" @@ -1727,7 +1727,7 @@ func TestSetterWrapperHolder(t *testing.T) { assert.Nil(t, err) fmt.Println(metricsrespJson1) require.JSONEq(t, json, metricsrespJson1) - metricsResp.SetMetrics(openapiart.NewMetrics()) + metricsResp.SetMetrics(goapi.NewMetrics()) metricsrespJson2, err := metricsResp.ToJson() assert.Nil(t, err) require.JSONEq(t, json1, metricsrespJson2) @@ -1735,13 +1735,13 @@ func TestSetterWrapperHolder(t *testing.T) { } func TestStringer(t *testing.T) { - lObj := openapiart.NewLObject() + lObj := goapi.NewLObject() lObj.SetDouble(10.1).SetFloat(20.1).SetStringParam("abc") fmt.Println(lObj) } func TestClone(t *testing.T) { - lObj1 := openapiart.NewLObject() + lObj1 := goapi.NewLObject() lObj2, err := lObj1.Clone() assert.Nil(t, err) fmt.Println(&lObj1, &lObj2) @@ -1752,7 +1752,7 @@ func TestClone(t *testing.T) { // func TestDeprecationWarning(t *testing.T) { // // Warning by config -// api := openapiart.NewApi() +// api := goapi.NewApi() // api.NewGrpcTransport().SetLocation(grpcServer.Location) // config := api.NewPrefixConfig() // config.RequiredObject().SetEA(10).SetEB(20) @@ -1813,7 +1813,7 @@ func TestClone(t *testing.T) { // } // func TestUnique(t *testing.T) { -// prefix := openapiart.NewPrefixConfig() +// prefix := goapi.NewPrefixConfig() // prefix.SetA("abc").SetB(10).SetC(32).RequiredObject().SetEA(20).SetEB(10) // // *************** global unique **************** @@ -1865,7 +1865,7 @@ func TestClone(t *testing.T) { // } // func TestXConstraint(t *testing.T) { -// prefix_ := openapiart.NewPrefixConfig() +// prefix_ := goapi.NewPrefixConfig() // prefix_.SetA("abc").SetB(10).SetC(32).RequiredObject().SetEA(20).SetEB(10).SetName("pc1") // // set the non existing name to y_object @@ -1901,7 +1901,7 @@ func TestClone(t *testing.T) { // // data = strings.Replace(data, `"y_name": "wObj1"`, `"y_name": "wObj3"`, 1) // // Deserialize with non-existing name -// prefix1 := openapiart.NewPrefixConfig() +// prefix1 := goapi.NewPrefixConfig() // fmt.Println(data) // err1 := prefix1.FromJson(data) // assert.NotNil(t, err1) From 9b8877237cc1cf6ea58aa457dfb8990d2fc7c4e9 Mon Sep 17 00:00:00 2001 From: Vibaswan Date: Fri, 15 Sep 2023 11:30:30 +0000 Subject: [PATCH 13/27] bug fix --- do.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/do.py b/do.py index 9707951e..c1711a65 100644 --- a/do.py +++ b/do.py @@ -220,7 +220,7 @@ def testpy(): # py() + " -m pip install flask", # py() + " -m pip install pytest-cov", py() - + " -m pytest -sv --cov=sanity --cov-report term --cov-report html:cov_report", + + " -m pytest -sv --cov=pyapi --cov-report term --cov-report html:cov_report", ] ) import re From cc2733c72bd6e81531400c94438d33f7653570b0 Mon Sep 17 00:00:00 2001 From: Vibaswan Date: Fri, 15 Sep 2023 11:37:16 +0000 Subject: [PATCH 14/27] making changes to ci jobs to look for new folder, sdk names --- .github/workflows/build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 04d6ebe4..8c156086 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -71,8 +71,8 @@ jobs: - name: show artifacts run: | ls artifacts - ls artifacts/sanity - ls artifacts/openapiart_go + ls artifacts/pyapi + ls artifacts/goapi - name: Commit packages run: | git config user.name "Github Actions Bot" @@ -229,7 +229,7 @@ jobs: - name: Check Genrated files uses: andstor/file-existence-action@v2 with: - files: "artifacts/openapi.json, artifacts/openapi.yaml, artifacts/sanity.proto" + files: "artifacts/openapi.json, artifacts/openapi.yaml, artifacts/openapi.proto" fail: true publish_python_package: From 1d3227e9471f167757e23138be416af3beadaaba Mon Sep 17 00:00:00 2001 From: Github Actions Bot Date: Fri, 15 Sep 2023 11:40:19 +0000 Subject: [PATCH 15/27] Update auto generated go code --- artifacts/goapi/go.mod | 13 + artifacts/goapi/go.sum | 1763 ++ artifacts/goapi/goapi.go | 24144 ++++++++++++++++ .../httpapi/controllers/apitest_controller.go | 195 + .../httpapi/controllers/bundler_controller.go | 216 + .../controllers/capabilities_controller.go | 75 + .../httpapi/controllers/metrics_controller.go | 195 + .../controllers/serviceabc_controller.go | 175 + artifacts/goapi/httpapi/http_setup.go | 40 + .../httpapi/interfaces/apitest_interface.go | 35 + .../httpapi/interfaces/bundler_interface.go | 37 + .../interfaces/capabilities_interface.go | 23 + .../httpapi/interfaces/metrics_interface.go | 35 + .../interfaces/serviceabc_interface.go | 40 + artifacts/goapi/httpapi/response.go | 69 + artifacts/goapi/openapi/openapi.pb.go | 8932 ++++++ artifacts/goapi/openapi/openapi_grpc.pb.go | 569 + artifacts/openapi.json | 2285 ++ artifacts/openapi.proto | 1171 + artifacts/openapi.yaml | 1802 ++ artifacts/pyapi/__init__.py | 61 + .../__pycache__/__init__.cpython-310.pyc | Bin 0 -> 2490 bytes .../__pycache__/openapi_pb2.cpython-310.pyc | Bin 0 -> 19087 bytes .../openapi_pb2_grpc.cpython-310.pyc | Bin 0 -> 9104 bytes .../pyapi/__pycache__/pyapi.cpython-310.pyc | Bin 0 -> 151546 bytes artifacts/pyapi/openapi_pb2.py | 250 + artifacts/pyapi/openapi_pb2_grpc.py | 499 + artifacts/pyapi/pyapi.py | 8198 ++++++ artifacts/pyapi/requirements.txt | 11 + 29 files changed, 50833 insertions(+) create mode 100644 artifacts/goapi/go.mod create mode 100644 artifacts/goapi/go.sum create mode 100644 artifacts/goapi/goapi.go create mode 100644 artifacts/goapi/httpapi/controllers/apitest_controller.go create mode 100644 artifacts/goapi/httpapi/controllers/bundler_controller.go create mode 100644 artifacts/goapi/httpapi/controllers/capabilities_controller.go create mode 100644 artifacts/goapi/httpapi/controllers/metrics_controller.go create mode 100644 artifacts/goapi/httpapi/controllers/serviceabc_controller.go create mode 100644 artifacts/goapi/httpapi/http_setup.go create mode 100644 artifacts/goapi/httpapi/interfaces/apitest_interface.go create mode 100644 artifacts/goapi/httpapi/interfaces/bundler_interface.go create mode 100644 artifacts/goapi/httpapi/interfaces/capabilities_interface.go create mode 100644 artifacts/goapi/httpapi/interfaces/metrics_interface.go create mode 100644 artifacts/goapi/httpapi/interfaces/serviceabc_interface.go create mode 100644 artifacts/goapi/httpapi/response.go create mode 100644 artifacts/goapi/openapi/openapi.pb.go create mode 100644 artifacts/goapi/openapi/openapi_grpc.pb.go create mode 100644 artifacts/openapi.json create mode 100644 artifacts/openapi.proto create mode 100644 artifacts/openapi.yaml create mode 100644 artifacts/pyapi/__init__.py create mode 100644 artifacts/pyapi/__pycache__/__init__.cpython-310.pyc create mode 100644 artifacts/pyapi/__pycache__/openapi_pb2.cpython-310.pyc create mode 100644 artifacts/pyapi/__pycache__/openapi_pb2_grpc.cpython-310.pyc create mode 100644 artifacts/pyapi/__pycache__/pyapi.cpython-310.pyc create mode 100644 artifacts/pyapi/openapi_pb2.py create mode 100644 artifacts/pyapi/openapi_pb2_grpc.py create mode 100644 artifacts/pyapi/pyapi.py create mode 100644 artifacts/pyapi/requirements.txt diff --git a/artifacts/goapi/go.mod b/artifacts/goapi/go.mod new file mode 100644 index 00000000..95693cc0 --- /dev/null +++ b/artifacts/goapi/go.mod @@ -0,0 +1,13 @@ +module github.com/open-traffic-generator/goapi/pkg + +go 1.16 + +require ( + github.com/Masterminds/semver/v3 v3.2.1 + github.com/ghodss/yaml v1.0.0 + github.com/golang/protobuf v1.5.3 + github.com/gorilla/mux v1.8.0 + github.com/stretchr/testify v1.8.4 + google.golang.org/grpc v1.58.1 + google.golang.org/protobuf v1.31.0 +) diff --git a/artifacts/goapi/go.sum b/artifacts/goapi/go.sum new file mode 100644 index 00000000..182b2635 --- /dev/null +++ b/artifacts/goapi/go.sum @@ -0,0 +1,1763 @@ +cloud.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/Masterminds/semver/v3 v3.2.1 h1:RN9w6+7QoMeJVGyfmbcgs28Br8cvmnucEXnY0rYXWg0= +github.com/Masterminds/semver/v3 v3.2.1/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ= +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/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/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/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 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= +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/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= +github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +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 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +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 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/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= +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/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 h1:cfawfvKITfUsFCeJIHJrbSxpeu/E81khclypR0GVT50= +golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= +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 h1:SqMFp9UcQJZa+pmYuAKjd9xq1f0j5rLcDIk0mj4qAsA= +golang.org/x/sys v0.10.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/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 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4= +golang.org/x/text v0.11.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/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.1 h1:OL+Vz23DTtrrldqHK49FUOPHyY75rvFqJfXC84NYW58= +google.golang.org/grpc v1.58.1/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 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/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 h1:fvjTMHxHEw/mxHbtzPi3JCcKXQRAnQTBRo6YCJSVHKI= +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= diff --git a/artifacts/goapi/goapi.go b/artifacts/goapi/goapi.go new file mode 100644 index 00000000..36e8cfb8 --- /dev/null +++ b/artifacts/goapi/goapi.go @@ -0,0 +1,24144 @@ +/* OpenAPIArt Test API 0.0.1 + * Demonstrates the features of the OpenAPIArt package + * License: NO-LICENSE-PRESENT */ + +package goapi + +import ( + "bytes" + "context" + "crypto/tls" + "fmt" + "io" + "net" + "net/http" + "net/url" + "strings" + + "github.com/ghodss/yaml" + openapi "github.com/open-traffic-generator/goapi/pkg/openapi" + "google.golang.org/grpc" + "google.golang.org/grpc/credentials/insecure" + "google.golang.org/protobuf/encoding/protojson" + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/types/known/emptypb" +) + +type versionMeta struct { + checkVersion bool + localVersion Version + remoteVersion Version + checkError error +} +type goapiApi struct { + api + grpcClient openapi.OpenapiClient + httpClient httpClient + versionMeta *versionMeta +} + +// grpcConnect builds up a grpc connection +func (api *goapiApi) grpcConnect() error { + if api.grpcClient == nil { + if api.grpc.clientConnection == nil { + ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.dialTimeout) + defer cancelFunc() + conn, err := grpc.DialContext(ctx, api.grpc.location, grpc.WithTransportCredentials(insecure.NewCredentials())) + if err != nil { + return err + } + api.grpcClient = openapi.NewOpenapiClient(conn) + api.grpc.clientConnection = conn + } else { + api.grpcClient = openapi.NewOpenapiClient(api.grpc.clientConnection) + } + } + return nil +} + +func (api *goapiApi) grpcClose() error { + if api.grpc != nil { + if api.grpc.clientConnection != nil { + err := api.grpc.clientConnection.Close() + if err != nil { + return err + } + } + } + api.grpcClient = nil + api.grpc = nil + return nil +} + +func (api *goapiApi) Close() error { + if api.hasGrpcTransport() { + err := api.grpcClose() + return err + } + if api.hasHttpTransport() { + err := api.http.conn.(*net.TCPConn).SetLinger(0) + api.http.conn.Close() + api.http.conn = nil + api.http = nil + api.httpClient.client = nil + return err + } + return nil +} + +// NewApi returns a new instance of the top level interface hierarchy +func NewApi() GoapiApi { + api := goapiApi{} + api.versionMeta = &versionMeta{checkVersion: false} + return &api +} + +// httpConnect builds up a http connection +func (api *goapiApi) httpConnect() error { + if api.httpClient.client == nil { + tr := http.Transport{ + DialTLSContext: func(ctx context.Context, network, addr string) (net.Conn, error) { + tcpConn, err := (&net.Dialer{}).DialContext(ctx, network, addr) + if err != nil { + return nil, err + } + tlsConn := tls.Client(tcpConn, &tls.Config{InsecureSkipVerify: !api.http.verify}) + err = tlsConn.Handshake() + if err != nil { + return nil, err + } + api.http.conn = tcpConn + return tlsConn, nil + }, + DialContext: func(ctx context.Context, network, addr string) (net.Conn, error) { + tcpConn, err := (&net.Dialer{}).DialContext(ctx, network, addr) + if err != nil { + return nil, err + } + api.http.conn = tcpConn + return tcpConn, nil + }, + } + client := httpClient{ + client: &http.Client{ + Transport: &tr, + }, + ctx: context.Background(), + } + api.httpClient = client + } + return nil +} + +func (api *goapiApi) httpSendRecv(urlPath string, jsonBody string, method string) (*http.Response, error) { + err := api.httpConnect() + if err != nil { + return nil, err + } + httpClient := api.httpClient + var bodyReader = bytes.NewReader([]byte(jsonBody)) + queryUrl, err := url.Parse(api.http.location) + if err != nil { + return nil, err + } + queryUrl, _ = queryUrl.Parse(urlPath) + req, _ := http.NewRequest(method, queryUrl.String(), bodyReader) + req.Header.Set("Content-Type", "application/json") + req = req.WithContext(httpClient.ctx) + response, err := httpClient.client.Do(req) + return response, err +} + +// GoapiApi demonstrates the features of the OpenAPIArt package +type GoapiApi interface { + Api + // PrefixConfig is container which retains the configuration + // NewPrefixConfig returns a new instance of PrefixConfig. + NewPrefixConfig() PrefixConfig + // UpdateConfig is under Review: the whole schema is being reviewed + // + // Object to Test required Parameter + // NewUpdateConfig returns a new instance of UpdateConfig. + NewUpdateConfig() UpdateConfig + // MetricsRequest is description is TBD + // NewMetricsRequest returns a new instance of MetricsRequest. + NewMetricsRequest() MetricsRequest + // ApiTestInputBody is description is TBD + // NewApiTestInputBody returns a new instance of ApiTestInputBody. + NewApiTestInputBody() ApiTestInputBody + // SetConfigResponse is description is TBD + // NewSetConfigResponse returns a new instance of SetConfigResponse. + NewSetConfigResponse() SetConfigResponse + // UpdateConfigurationResponse is description is TBD + // NewUpdateConfigurationResponse returns a new instance of UpdateConfigurationResponse. + NewUpdateConfigurationResponse() UpdateConfigurationResponse + // GetConfigResponse is description is TBD + // NewGetConfigResponse returns a new instance of GetConfigResponse. + NewGetConfigResponse() GetConfigResponse + // GetMetricsResponse is description is TBD + // NewGetMetricsResponse returns a new instance of GetMetricsResponse. + NewGetMetricsResponse() GetMetricsResponse + // GetWarningsResponse is description is TBD + // NewGetWarningsResponse returns a new instance of GetWarningsResponse. + NewGetWarningsResponse() GetWarningsResponse + // ClearWarningsResponse is description is TBD + // NewClearWarningsResponse returns a new instance of ClearWarningsResponse. + NewClearWarningsResponse() ClearWarningsResponse + // GetRootResponseResponse is description is TBD + // NewGetRootResponseResponse returns a new instance of GetRootResponseResponse. + NewGetRootResponseResponse() GetRootResponseResponse + // DummyResponseTestResponse is description is TBD + // NewDummyResponseTestResponse returns a new instance of DummyResponseTestResponse. + NewDummyResponseTestResponse() DummyResponseTestResponse + // PostRootResponseResponse is description is TBD + // NewPostRootResponseResponse returns a new instance of PostRootResponseResponse. + NewPostRootResponseResponse() PostRootResponseResponse + // GetAllItemsResponse is description is TBD + // NewGetAllItemsResponse returns a new instance of GetAllItemsResponse. + NewGetAllItemsResponse() GetAllItemsResponse + // GetSingleItemResponse is description is TBD + // NewGetSingleItemResponse returns a new instance of GetSingleItemResponse. + NewGetSingleItemResponse() GetSingleItemResponse + // GetSingleItemLevel2Response is description is TBD + // NewGetSingleItemLevel2Response returns a new instance of GetSingleItemLevel2Response. + NewGetSingleItemLevel2Response() GetSingleItemLevel2Response + // GetVersionResponse is description is TBD + // NewGetVersionResponse returns a new instance of GetVersionResponse. + NewGetVersionResponse() GetVersionResponse + // SetConfig sets configuration resources. + SetConfig(prefixConfig PrefixConfig) ([]byte, error) + // UpdateConfiguration deprecated: please use post instead + // + // Sets configuration resources. + UpdateConfiguration(updateConfig UpdateConfig) (PrefixConfig, error) + // GetConfig gets the configuration resources. + GetConfig() (PrefixConfig, error) + // GetMetrics gets metrics. + GetMetrics(metricsRequest MetricsRequest) (Metrics, error) + // GetWarnings gets warnings. + GetWarnings() (WarningDetails, error) + // ClearWarnings clears warnings. + ClearWarnings() (*string, error) + // GetRootResponse simple GET api with single return type + GetRootResponse() (CommonResponseSuccess, error) + // DummyResponseTest description is TBD + DummyResponseTest() (*string, error) + // PostRootResponse simple POST api with single return type + PostRootResponse(apiTestInputBody ApiTestInputBody) (CommonResponseSuccess, error) + // GetAllItems return list of some items + GetAllItems() (ServiceAbcItemList, error) + // GetSingleItem return single item + GetSingleItem() (ServiceAbcItem, error) + // GetSingleItemLevel2 return single item + GetSingleItemLevel2() (ServiceAbcItem, error) + // GetVersion description is TBD + GetVersion() (Version, error) + // GetLocalVersion provides version details of local client + GetLocalVersion() Version + // GetRemoteVersion provides version details received from remote server + GetRemoteVersion() (Version, error) + // SetVersionCompatibilityCheck allows enabling or disabling automatic version + // compatibility check between client and server API spec version upon API call + SetVersionCompatibilityCheck(bool) + // CheckVersionCompatibility compares API spec version for local client and remote server, + // and returns an error if they are not compatible according to Semantic Versioning 2.0.0 + CheckVersionCompatibility() error +} + +func (api *goapiApi) NewPrefixConfig() PrefixConfig { + return NewPrefixConfig() +} + +func (api *goapiApi) NewUpdateConfig() UpdateConfig { + return NewUpdateConfig() +} + +func (api *goapiApi) NewMetricsRequest() MetricsRequest { + return NewMetricsRequest() +} + +func (api *goapiApi) NewApiTestInputBody() ApiTestInputBody { + return NewApiTestInputBody() +} + +func (api *goapiApi) NewSetConfigResponse() SetConfigResponse { + return NewSetConfigResponse() +} + +func (api *goapiApi) NewUpdateConfigurationResponse() UpdateConfigurationResponse { + return NewUpdateConfigurationResponse() +} + +func (api *goapiApi) NewGetConfigResponse() GetConfigResponse { + return NewGetConfigResponse() +} + +func (api *goapiApi) NewGetMetricsResponse() GetMetricsResponse { + return NewGetMetricsResponse() +} + +func (api *goapiApi) NewGetWarningsResponse() GetWarningsResponse { + return NewGetWarningsResponse() +} + +func (api *goapiApi) NewClearWarningsResponse() ClearWarningsResponse { + return NewClearWarningsResponse() +} + +func (api *goapiApi) NewGetRootResponseResponse() GetRootResponseResponse { + return NewGetRootResponseResponse() +} + +func (api *goapiApi) NewDummyResponseTestResponse() DummyResponseTestResponse { + return NewDummyResponseTestResponse() +} + +func (api *goapiApi) NewPostRootResponseResponse() PostRootResponseResponse { + return NewPostRootResponseResponse() +} + +func (api *goapiApi) NewGetAllItemsResponse() GetAllItemsResponse { + return NewGetAllItemsResponse() +} + +func (api *goapiApi) NewGetSingleItemResponse() GetSingleItemResponse { + return NewGetSingleItemResponse() +} + +func (api *goapiApi) NewGetSingleItemLevel2Response() GetSingleItemLevel2Response { + return NewGetSingleItemLevel2Response() +} + +func (api *goapiApi) NewGetVersionResponse() GetVersionResponse { + return NewGetVersionResponse() +} + +func (api *goapiApi) GetLocalVersion() Version { + if api.versionMeta.localVersion == nil { + api.versionMeta.localVersion = NewVersion().SetApiSpecVersion("0.0.1").SetSdkVersion("0.0.1") + } + + return api.versionMeta.localVersion +} + +func (api *goapiApi) GetRemoteVersion() (Version, error) { + if api.versionMeta.remoteVersion == nil { + v, err := api.GetVersion() + if err != nil { + return nil, fmt.Errorf("could not fetch remote version: %v", err) + } + + api.versionMeta.remoteVersion = v + } + + return api.versionMeta.remoteVersion, nil +} + +func (api *goapiApi) SetVersionCompatibilityCheck(v bool) { + api.versionMeta.checkVersion = v +} + +func (api *goapiApi) checkLocalRemoteVersionCompatibility() (error, error) { + localVer := api.GetLocalVersion() + remoteVer, err := api.GetRemoteVersion() + if err != nil { + return nil, err + } + err = checkClientServerVersionCompatibility(localVer.ApiSpecVersion(), remoteVer.ApiSpecVersion(), "API spec") + if err != nil { + return fmt.Errorf( + "client SDK version '%s' is not compatible with server SDK version '%s': %v", + localVer.SdkVersion(), remoteVer.SdkVersion(), err, + ), nil + } + + return nil, nil +} + +func (api *goapiApi) checkLocalRemoteVersionCompatibilityOnce() error { + if !api.versionMeta.checkVersion { + return nil + } + + if api.versionMeta.checkError != nil { + return api.versionMeta.checkError + } + + compatErr, apiErr := api.checkLocalRemoteVersionCompatibility() + if compatErr != nil { + api.versionMeta.checkError = compatErr + return compatErr + } + if apiErr != nil { + api.versionMeta.checkError = nil + return apiErr + } + + api.versionMeta.checkVersion = false + api.versionMeta.checkError = nil + return nil +} + +func (api *goapiApi) CheckVersionCompatibility() error { + compatErr, apiErr := api.checkLocalRemoteVersionCompatibility() + if compatErr != nil { + return fmt.Errorf("version error: %v", compatErr) + } + if apiErr != nil { + return apiErr + } + + return nil +} + +func (api *goapiApi) SetConfig(prefixConfig PrefixConfig) ([]byte, error) { + + if err := prefixConfig.Validate(); err != nil { + return nil, err + } + + if err := api.checkLocalRemoteVersionCompatibilityOnce(); err != nil { + return nil, err + } + if api.hasHttpTransport() { + return api.httpSetConfig(prefixConfig) + } + if err := api.grpcConnect(); err != nil { + return nil, err + } + request := openapi.SetConfigRequest{PrefixConfig: prefixConfig.Msg()} + ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) + defer cancelFunc() + resp, err := api.grpcClient.SetConfig(ctx, &request) + if err != nil { + if er, ok := api.fromGrpcError(err); ok { + return nil, er + } + return nil, err + } + if resp.ResponseBytes != nil { + return resp.ResponseBytes, nil + } + return nil, nil +} + +func (api *goapiApi) UpdateConfiguration(updateConfig UpdateConfig) (PrefixConfig, error) { + api.addWarnings("UpdateConfiguration api is deprecated, please use post instead") + + if err := updateConfig.Validate(); err != nil { + return nil, err + } + + if err := api.checkLocalRemoteVersionCompatibilityOnce(); err != nil { + return nil, err + } + if api.hasHttpTransport() { + return api.httpUpdateConfiguration(updateConfig) + } + if err := api.grpcConnect(); err != nil { + return nil, err + } + request := openapi.UpdateConfigurationRequest{UpdateConfig: updateConfig.Msg()} + ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) + defer cancelFunc() + resp, err := api.grpcClient.UpdateConfiguration(ctx, &request) + if err != nil { + if er, ok := api.fromGrpcError(err); ok { + return nil, er + } + return nil, err + } + ret := NewPrefixConfig() + if resp.GetPrefixConfig() != nil { + return ret.SetMsg(resp.GetPrefixConfig()), nil + } + + return ret, nil +} + +func (api *goapiApi) GetConfig() (PrefixConfig, error) { + + if err := api.checkLocalRemoteVersionCompatibilityOnce(); err != nil { + return nil, err + } + if api.hasHttpTransport() { + return api.httpGetConfig() + } + if err := api.grpcConnect(); err != nil { + return nil, err + } + request := emptypb.Empty{} + ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) + defer cancelFunc() + resp, err := api.grpcClient.GetConfig(ctx, &request) + if err != nil { + if er, ok := api.fromGrpcError(err); ok { + return nil, er + } + return nil, err + } + ret := NewPrefixConfig() + if resp.GetPrefixConfig() != nil { + return ret.SetMsg(resp.GetPrefixConfig()), nil + } + + return ret, nil +} + +func (api *goapiApi) GetMetrics(metricsRequest MetricsRequest) (Metrics, error) { + + if err := metricsRequest.Validate(); err != nil { + return nil, err + } + + if err := api.checkLocalRemoteVersionCompatibilityOnce(); err != nil { + return nil, err + } + if api.hasHttpTransport() { + return api.httpGetMetrics(metricsRequest) + } + if err := api.grpcConnect(); err != nil { + return nil, err + } + request := openapi.GetMetricsRequest{MetricsRequest: metricsRequest.Msg()} + ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) + defer cancelFunc() + resp, err := api.grpcClient.GetMetrics(ctx, &request) + if err != nil { + if er, ok := api.fromGrpcError(err); ok { + return nil, er + } + return nil, err + } + ret := NewMetrics() + if resp.GetMetrics() != nil { + return ret.SetMsg(resp.GetMetrics()), nil + } + + return ret, nil +} + +func (api *goapiApi) GetWarnings() (WarningDetails, error) { + + if err := api.checkLocalRemoteVersionCompatibilityOnce(); err != nil { + return nil, err + } + if api.hasHttpTransport() { + return api.httpGetWarnings() + } + if err := api.grpcConnect(); err != nil { + return nil, err + } + request := emptypb.Empty{} + ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) + defer cancelFunc() + resp, err := api.grpcClient.GetWarnings(ctx, &request) + if err != nil { + if er, ok := api.fromGrpcError(err); ok { + return nil, er + } + return nil, err + } + ret := NewWarningDetails() + if resp.GetWarningDetails() != nil { + return ret.SetMsg(resp.GetWarningDetails()), nil + } + + return ret, nil +} + +func (api *goapiApi) ClearWarnings() (*string, error) { + + if err := api.checkLocalRemoteVersionCompatibilityOnce(); err != nil { + return nil, err + } + if api.hasHttpTransport() { + return api.httpClearWarnings() + } + if err := api.grpcConnect(); err != nil { + return nil, err + } + request := emptypb.Empty{} + ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) + defer cancelFunc() + resp, err := api.grpcClient.ClearWarnings(ctx, &request) + if err != nil { + if er, ok := api.fromGrpcError(err); ok { + return nil, er + } + return nil, err + } + if resp.GetString_() != "" { + status_code_value := resp.GetString_() + return &status_code_value, nil + } + return nil, nil +} + +func (api *goapiApi) GetRootResponse() (CommonResponseSuccess, error) { + + if err := api.checkLocalRemoteVersionCompatibilityOnce(); err != nil { + return nil, err + } + if api.hasHttpTransport() { + return api.httpGetRootResponse() + } + if err := api.grpcConnect(); err != nil { + return nil, err + } + request := emptypb.Empty{} + ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) + defer cancelFunc() + resp, err := api.grpcClient.GetRootResponse(ctx, &request) + if err != nil { + if er, ok := api.fromGrpcError(err); ok { + return nil, er + } + return nil, err + } + ret := NewCommonResponseSuccess() + if resp.GetCommonResponseSuccess() != nil { + return ret.SetMsg(resp.GetCommonResponseSuccess()), nil + } + + return ret, nil +} + +func (api *goapiApi) DummyResponseTest() (*string, error) { + + if err := api.checkLocalRemoteVersionCompatibilityOnce(); err != nil { + return nil, err + } + if api.hasHttpTransport() { + return api.httpDummyResponseTest() + } + if err := api.grpcConnect(); err != nil { + return nil, err + } + request := emptypb.Empty{} + ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) + defer cancelFunc() + resp, err := api.grpcClient.DummyResponseTest(ctx, &request) + if err != nil { + if er, ok := api.fromGrpcError(err); ok { + return nil, er + } + return nil, err + } + if resp.GetString_() != "" { + status_code_value := resp.GetString_() + return &status_code_value, nil + } + return nil, nil +} + +func (api *goapiApi) PostRootResponse(apiTestInputBody ApiTestInputBody) (CommonResponseSuccess, error) { + + if err := apiTestInputBody.Validate(); err != nil { + return nil, err + } + + if err := api.checkLocalRemoteVersionCompatibilityOnce(); err != nil { + return nil, err + } + if api.hasHttpTransport() { + return api.httpPostRootResponse(apiTestInputBody) + } + if err := api.grpcConnect(); err != nil { + return nil, err + } + request := openapi.PostRootResponseRequest{ApiTestInputBody: apiTestInputBody.Msg()} + ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) + defer cancelFunc() + resp, err := api.grpcClient.PostRootResponse(ctx, &request) + if err != nil { + if er, ok := api.fromGrpcError(err); ok { + return nil, er + } + return nil, err + } + ret := NewCommonResponseSuccess() + if resp.GetCommonResponseSuccess() != nil { + return ret.SetMsg(resp.GetCommonResponseSuccess()), nil + } + + return ret, nil +} + +func (api *goapiApi) GetAllItems() (ServiceAbcItemList, error) { + + if err := api.checkLocalRemoteVersionCompatibilityOnce(); err != nil { + return nil, err + } + if api.hasHttpTransport() { + return api.httpGetAllItems() + } + if err := api.grpcConnect(); err != nil { + return nil, err + } + request := emptypb.Empty{} + ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) + defer cancelFunc() + resp, err := api.grpcClient.GetAllItems(ctx, &request) + if err != nil { + if er, ok := api.fromGrpcError(err); ok { + return nil, er + } + return nil, err + } + ret := NewServiceAbcItemList() + if resp.GetServiceAbcItemList() != nil { + return ret.SetMsg(resp.GetServiceAbcItemList()), nil + } + + return ret, nil +} + +func (api *goapiApi) GetSingleItem() (ServiceAbcItem, error) { + + if err := api.checkLocalRemoteVersionCompatibilityOnce(); err != nil { + return nil, err + } + if api.hasHttpTransport() { + return api.httpGetSingleItem() + } + if err := api.grpcConnect(); err != nil { + return nil, err + } + request := emptypb.Empty{} + ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) + defer cancelFunc() + resp, err := api.grpcClient.GetSingleItem(ctx, &request) + if err != nil { + if er, ok := api.fromGrpcError(err); ok { + return nil, er + } + return nil, err + } + ret := NewServiceAbcItem() + if resp.GetServiceAbcItem() != nil { + return ret.SetMsg(resp.GetServiceAbcItem()), nil + } + + return ret, nil +} + +func (api *goapiApi) GetSingleItemLevel2() (ServiceAbcItem, error) { + + if err := api.checkLocalRemoteVersionCompatibilityOnce(); err != nil { + return nil, err + } + if api.hasHttpTransport() { + return api.httpGetSingleItemLevel2() + } + if err := api.grpcConnect(); err != nil { + return nil, err + } + request := emptypb.Empty{} + ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) + defer cancelFunc() + resp, err := api.grpcClient.GetSingleItemLevel2(ctx, &request) + if err != nil { + if er, ok := api.fromGrpcError(err); ok { + return nil, er + } + return nil, err + } + ret := NewServiceAbcItem() + if resp.GetServiceAbcItem() != nil { + return ret.SetMsg(resp.GetServiceAbcItem()), nil + } + + return ret, nil +} + +func (api *goapiApi) GetVersion() (Version, error) { + + if api.hasHttpTransport() { + return api.httpGetVersion() + } + if err := api.grpcConnect(); err != nil { + return nil, err + } + request := emptypb.Empty{} + ctx, cancelFunc := context.WithTimeout(context.Background(), api.grpc.requestTimeout) + defer cancelFunc() + resp, err := api.grpcClient.GetVersion(ctx, &request) + if err != nil { + if er, ok := api.fromGrpcError(err); ok { + return nil, er + } + return nil, err + } + ret := NewVersion() + if resp.GetVersion() != nil { + return ret.SetMsg(resp.GetVersion()), nil + } + + return ret, nil +} + +func (api *goapiApi) httpSetConfig(prefixConfig PrefixConfig) ([]byte, error) { + prefixConfigJson, err := prefixConfig.ToJson() + if err != nil { + return nil, err + } + resp, err := api.httpSendRecv("api/config", prefixConfigJson, "POST") + + if err != nil { + return nil, err + } + bodyBytes, err := io.ReadAll(resp.Body) + defer resp.Body.Close() + if err != nil { + return nil, err + } + if resp.StatusCode == 200 { + return bodyBytes, nil + } else { + return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + } +} + +func (api *goapiApi) httpUpdateConfiguration(updateConfig UpdateConfig) (PrefixConfig, error) { + updateConfigJson, err := updateConfig.ToJson() + if err != nil { + return nil, err + } + resp, err := api.httpSendRecv("api/config", updateConfigJson, "PATCH") + + if err != nil { + return nil, err + } + bodyBytes, err := io.ReadAll(resp.Body) + defer resp.Body.Close() + if err != nil { + return nil, err + } + if resp.StatusCode == 200 { + obj := api.NewUpdateConfigurationResponse().PrefixConfig() + if err := obj.FromJson(string(bodyBytes)); err != nil { + return nil, err + } + return obj, nil + } else { + return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + } +} + +func (api *goapiApi) httpGetConfig() (PrefixConfig, error) { + resp, err := api.httpSendRecv("api/config", "", "GET") + if err != nil { + return nil, err + } + bodyBytes, err := io.ReadAll(resp.Body) + defer resp.Body.Close() + if err != nil { + return nil, err + } + if resp.StatusCode == 200 { + obj := api.NewGetConfigResponse().PrefixConfig() + if err := obj.FromJson(string(bodyBytes)); err != nil { + return nil, err + } + return obj, nil + } else { + return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + } +} + +func (api *goapiApi) httpGetMetrics(metricsRequest MetricsRequest) (Metrics, error) { + metricsRequestJson, err := metricsRequest.ToJson() + if err != nil { + return nil, err + } + resp, err := api.httpSendRecv("api/metrics", metricsRequestJson, "GET") + + if err != nil { + return nil, err + } + bodyBytes, err := io.ReadAll(resp.Body) + defer resp.Body.Close() + if err != nil { + return nil, err + } + if resp.StatusCode == 200 { + obj := api.NewGetMetricsResponse().Metrics() + if err := obj.FromJson(string(bodyBytes)); err != nil { + return nil, err + } + return obj, nil + } else { + return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + } +} + +func (api *goapiApi) httpGetWarnings() (WarningDetails, error) { + resp, err := api.httpSendRecv("api/warnings", "", "GET") + if err != nil { + return nil, err + } + bodyBytes, err := io.ReadAll(resp.Body) + defer resp.Body.Close() + if err != nil { + return nil, err + } + if resp.StatusCode == 200 { + obj := api.NewGetWarningsResponse().WarningDetails() + if err := obj.FromJson(string(bodyBytes)); err != nil { + return nil, err + } + return obj, nil + } else { + return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + } +} + +func (api *goapiApi) httpClearWarnings() (*string, error) { + resp, err := api.httpSendRecv("api/warnings", "", "DELETE") + if err != nil { + return nil, err + } + bodyBytes, err := io.ReadAll(resp.Body) + defer resp.Body.Close() + if err != nil { + return nil, err + } + if resp.StatusCode == 200 { + bodyString := string(bodyBytes) + return &bodyString, nil + } else { + return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + } +} + +func (api *goapiApi) httpGetRootResponse() (CommonResponseSuccess, error) { + resp, err := api.httpSendRecv("api/apitest", "", "GET") + if err != nil { + return nil, err + } + bodyBytes, err := io.ReadAll(resp.Body) + defer resp.Body.Close() + if err != nil { + return nil, err + } + if resp.StatusCode == 200 { + obj := api.NewGetRootResponseResponse().CommonResponseSuccess() + if err := obj.FromJson(string(bodyBytes)); err != nil { + return nil, err + } + return obj, nil + } else { + return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + } +} + +func (api *goapiApi) httpDummyResponseTest() (*string, error) { + resp, err := api.httpSendRecv("api/apitest", "", "DELETE") + if err != nil { + return nil, err + } + bodyBytes, err := io.ReadAll(resp.Body) + defer resp.Body.Close() + if err != nil { + return nil, err + } + if resp.StatusCode == 200 { + bodyString := string(bodyBytes) + return &bodyString, nil + } else { + return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + } +} + +func (api *goapiApi) httpPostRootResponse(apiTestInputBody ApiTestInputBody) (CommonResponseSuccess, error) { + apiTestInputBodyJson, err := apiTestInputBody.ToJson() + if err != nil { + return nil, err + } + resp, err := api.httpSendRecv("api/apitest", apiTestInputBodyJson, "POST") + + if err != nil { + return nil, err + } + bodyBytes, err := io.ReadAll(resp.Body) + defer resp.Body.Close() + if err != nil { + return nil, err + } + if resp.StatusCode == 200 { + obj := api.NewPostRootResponseResponse().CommonResponseSuccess() + if err := obj.FromJson(string(bodyBytes)); err != nil { + return nil, err + } + return obj, nil + } else { + return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + } +} + +func (api *goapiApi) httpGetAllItems() (ServiceAbcItemList, error) { + resp, err := api.httpSendRecv("api/serviceb", "", "GET") + if err != nil { + return nil, err + } + bodyBytes, err := io.ReadAll(resp.Body) + defer resp.Body.Close() + if err != nil { + return nil, err + } + if resp.StatusCode == 200 { + obj := api.NewGetAllItemsResponse().ServiceAbcItemList() + if err := obj.FromJson(string(bodyBytes)); err != nil { + return nil, err + } + return obj, nil + } else { + return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + } +} + +func (api *goapiApi) httpGetSingleItem() (ServiceAbcItem, error) { + resp, err := api.httpSendRecv("api/serviceb/{item_id}", "", "GET") + if err != nil { + return nil, err + } + bodyBytes, err := io.ReadAll(resp.Body) + defer resp.Body.Close() + if err != nil { + return nil, err + } + if resp.StatusCode == 200 { + obj := api.NewGetSingleItemResponse().ServiceAbcItem() + if err := obj.FromJson(string(bodyBytes)); err != nil { + return nil, err + } + return obj, nil + } else { + return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + } +} + +func (api *goapiApi) httpGetSingleItemLevel2() (ServiceAbcItem, error) { + resp, err := api.httpSendRecv("api/serviceb/{item_id}/{level_2}", "", "GET") + if err != nil { + return nil, err + } + bodyBytes, err := io.ReadAll(resp.Body) + defer resp.Body.Close() + if err != nil { + return nil, err + } + if resp.StatusCode == 200 { + obj := api.NewGetSingleItemLevel2Response().ServiceAbcItem() + if err := obj.FromJson(string(bodyBytes)); err != nil { + return nil, err + } + return obj, nil + } else { + return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + } +} + +func (api *goapiApi) httpGetVersion() (Version, error) { + resp, err := api.httpSendRecv("api/capabilities/version", "", "GET") + if err != nil { + return nil, err + } + bodyBytes, err := io.ReadAll(resp.Body) + defer resp.Body.Close() + if err != nil { + return nil, err + } + if resp.StatusCode == 200 { + obj := api.NewGetVersionResponse().Version() + if err := obj.FromJson(string(bodyBytes)); err != nil { + return nil, err + } + return obj, nil + } else { + return nil, api.fromHttpError(resp.StatusCode, bodyBytes) + } +} + +// ***** PrefixConfig ***** +type prefixConfig struct { + validation + obj *openapi.PrefixConfig + requiredObjectHolder EObject + optionalObjectHolder EObject + eHolder EObject + fHolder FObject + gHolder PrefixConfigGObjectIter + jHolder PrefixConfigJObjectIter + kHolder KObject + lHolder LObject + levelHolder LevelOne + mandatoryHolder Mandate + ipv4PatternHolder Ipv4Pattern + ipv6PatternHolder Ipv6Pattern + macPatternHolder MacPattern + integerPatternHolder IntegerPattern + checksumPatternHolder ChecksumPattern + caseHolder Layer1Ieee802X + mObjectHolder MObject + headerChecksumHolder PatternPrefixConfigHeaderChecksum + autoFieldTestHolder PatternPrefixConfigAutoFieldTest + wListHolder PrefixConfigWObjectIter + xListHolder PrefixConfigZObjectIter + zObjectHolder ZObject + yObjectHolder YObject + choiceObjectHolder PrefixConfigChoiceObjectIter + requiredChoiceObjectHolder RequiredChoiceParent + g1Holder PrefixConfigGObjectIter + g2Holder PrefixConfigGObjectIter +} + +func NewPrefixConfig() PrefixConfig { + obj := prefixConfig{obj: &openapi.PrefixConfig{}} + obj.setDefault() + return &obj +} + +func (obj *prefixConfig) Msg() *openapi.PrefixConfig { + return obj.obj +} + +func (obj *prefixConfig) SetMsg(msg *openapi.PrefixConfig) PrefixConfig { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *prefixConfig) ToProto() (*openapi.PrefixConfig, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *prefixConfig) FromProto(msg *openapi.PrefixConfig) (PrefixConfig, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *prefixConfig) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *prefixConfig) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *prefixConfig) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *prefixConfig) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *prefixConfig) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *prefixConfig) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *prefixConfig) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *prefixConfig) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *prefixConfig) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *prefixConfig) Clone() (PrefixConfig, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewPrefixConfig() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *prefixConfig) setNil() { + obj.requiredObjectHolder = nil + obj.optionalObjectHolder = nil + obj.eHolder = nil + obj.fHolder = nil + obj.gHolder = nil + obj.jHolder = nil + obj.kHolder = nil + obj.lHolder = nil + obj.levelHolder = nil + obj.mandatoryHolder = nil + obj.ipv4PatternHolder = nil + obj.ipv6PatternHolder = nil + obj.macPatternHolder = nil + obj.integerPatternHolder = nil + obj.checksumPatternHolder = nil + obj.caseHolder = nil + obj.mObjectHolder = nil + obj.headerChecksumHolder = nil + obj.autoFieldTestHolder = nil + obj.wListHolder = nil + obj.xListHolder = nil + obj.zObjectHolder = nil + obj.yObjectHolder = nil + obj.choiceObjectHolder = nil + obj.requiredChoiceObjectHolder = nil + obj.g1Holder = nil + obj.g2Holder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// PrefixConfig is container which retains the configuration +type PrefixConfig interface { + Validation + // Msg marshals PrefixConfig to protobuf object *openapi.PrefixConfig + // and doesn't set defaults + Msg() *openapi.PrefixConfig + // SetMsg unmarshals PrefixConfig from protobuf object *openapi.PrefixConfig + // and doesn't set defaults + SetMsg(*openapi.PrefixConfig) PrefixConfig + // ToProto marshals PrefixConfig to protobuf object *openapi.PrefixConfig + ToProto() (*openapi.PrefixConfig, error) + // ToPbText marshals PrefixConfig to protobuf text + ToPbText() (string, error) + // ToYaml marshals PrefixConfig to YAML text + ToYaml() (string, error) + // ToJson marshals PrefixConfig to JSON text + ToJson() (string, error) + // FromProto unmarshals PrefixConfig from protobuf object *openapi.PrefixConfig + FromProto(msg *openapi.PrefixConfig) (PrefixConfig, error) + // FromPbText unmarshals PrefixConfig from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PrefixConfig from YAML text + FromYaml(value string) error + // FromJson unmarshals PrefixConfig from JSON text + FromJson(value string) error + // Validate validates PrefixConfig + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (PrefixConfig, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // RequiredObject returns EObject, set in PrefixConfig. + // EObject is description is TBD + RequiredObject() EObject + // SetRequiredObject assigns EObject provided by user to PrefixConfig. + // EObject is description is TBD + SetRequiredObject(value EObject) PrefixConfig + // OptionalObject returns EObject, set in PrefixConfig. + // EObject is description is TBD + OptionalObject() EObject + // SetOptionalObject assigns EObject provided by user to PrefixConfig. + // EObject is description is TBD + SetOptionalObject(value EObject) PrefixConfig + // HasOptionalObject checks if OptionalObject has been set in PrefixConfig + HasOptionalObject() bool + // Ieee8021Qbb returns bool, set in PrefixConfig. + Ieee8021Qbb() bool + // SetIeee8021Qbb assigns bool provided by user to PrefixConfig + SetIeee8021Qbb(value bool) PrefixConfig + // HasIeee8021Qbb checks if Ieee8021Qbb has been set in PrefixConfig + HasIeee8021Qbb() bool + // Space1 returns int32, set in PrefixConfig. + Space1() int32 + // SetSpace1 assigns int32 provided by user to PrefixConfig + SetSpace1(value int32) PrefixConfig + // HasSpace1 checks if Space1 has been set in PrefixConfig + HasSpace1() bool + // FullDuplex100Mb returns int64, set in PrefixConfig. + FullDuplex100Mb() int64 + // SetFullDuplex100Mb assigns int64 provided by user to PrefixConfig + SetFullDuplex100Mb(value int64) PrefixConfig + // HasFullDuplex100Mb checks if FullDuplex100Mb has been set in PrefixConfig + HasFullDuplex100Mb() bool + // Response returns PrefixConfigResponseEnum, set in PrefixConfig + Response() PrefixConfigResponseEnum + // SetResponse assigns PrefixConfigResponseEnum provided by user to PrefixConfig + SetResponse(value PrefixConfigResponseEnum) PrefixConfig + // HasResponse checks if Response has been set in PrefixConfig + HasResponse() bool + // A returns string, set in PrefixConfig. + A() string + // SetA assigns string provided by user to PrefixConfig + SetA(value string) PrefixConfig + // B returns float32, set in PrefixConfig. + B() float32 + // SetB assigns float32 provided by user to PrefixConfig + SetB(value float32) PrefixConfig + // C returns int32, set in PrefixConfig. + C() int32 + // SetC assigns int32 provided by user to PrefixConfig + SetC(value int32) PrefixConfig + // DValues returns []PrefixConfigDValuesEnum, set in PrefixConfig + DValues() []PrefixConfigDValuesEnum + // SetDValues assigns []PrefixConfigDValuesEnum provided by user to PrefixConfig + SetDValues(value []PrefixConfigDValuesEnum) PrefixConfig + // E returns EObject, set in PrefixConfig. + // EObject is description is TBD + E() EObject + // SetE assigns EObject provided by user to PrefixConfig. + // EObject is description is TBD + SetE(value EObject) PrefixConfig + // HasE checks if E has been set in PrefixConfig + HasE() bool + // F returns FObject, set in PrefixConfig. + // FObject is description is TBD + F() FObject + // SetF assigns FObject provided by user to PrefixConfig. + // FObject is description is TBD + SetF(value FObject) PrefixConfig + // HasF checks if F has been set in PrefixConfig + HasF() bool + // G returns PrefixConfigGObjectIterIter, set in PrefixConfig + G() PrefixConfigGObjectIter + // H returns bool, set in PrefixConfig. + H() bool + // SetH assigns bool provided by user to PrefixConfig + SetH(value bool) PrefixConfig + // HasH checks if H has been set in PrefixConfig + HasH() bool + // I returns []byte, set in PrefixConfig. + I() []byte + // SetI assigns []byte provided by user to PrefixConfig + SetI(value []byte) PrefixConfig + // J returns PrefixConfigJObjectIterIter, set in PrefixConfig + J() PrefixConfigJObjectIter + // K returns KObject, set in PrefixConfig. + // KObject is description is TBD + K() KObject + // SetK assigns KObject provided by user to PrefixConfig. + // KObject is description is TBD + SetK(value KObject) PrefixConfig + // HasK checks if K has been set in PrefixConfig + HasK() bool + // L returns LObject, set in PrefixConfig. + // LObject is format validation object + L() LObject + // SetL assigns LObject provided by user to PrefixConfig. + // LObject is format validation object + SetL(value LObject) PrefixConfig + // HasL checks if L has been set in PrefixConfig + HasL() bool + // ListOfStringValues returns []string, set in PrefixConfig. + ListOfStringValues() []string + // SetListOfStringValues assigns []string provided by user to PrefixConfig + SetListOfStringValues(value []string) PrefixConfig + // ListOfIntegerValues returns []int32, set in PrefixConfig. + ListOfIntegerValues() []int32 + // SetListOfIntegerValues assigns []int32 provided by user to PrefixConfig + SetListOfIntegerValues(value []int32) PrefixConfig + // Level returns LevelOne, set in PrefixConfig. + // LevelOne is to Test Multi level non-primitive types + Level() LevelOne + // SetLevel assigns LevelOne provided by user to PrefixConfig. + // LevelOne is to Test Multi level non-primitive types + SetLevel(value LevelOne) PrefixConfig + // HasLevel checks if Level has been set in PrefixConfig + HasLevel() bool + // Mandatory returns Mandate, set in PrefixConfig. + // Mandate is object to Test required Parameter + Mandatory() Mandate + // SetMandatory assigns Mandate provided by user to PrefixConfig. + // Mandate is object to Test required Parameter + SetMandatory(value Mandate) PrefixConfig + // HasMandatory checks if Mandatory has been set in PrefixConfig + HasMandatory() bool + // Ipv4Pattern returns Ipv4Pattern, set in PrefixConfig. + // Ipv4Pattern is test ipv4 pattern + Ipv4Pattern() Ipv4Pattern + // SetIpv4Pattern assigns Ipv4Pattern provided by user to PrefixConfig. + // Ipv4Pattern is test ipv4 pattern + SetIpv4Pattern(value Ipv4Pattern) PrefixConfig + // HasIpv4Pattern checks if Ipv4Pattern has been set in PrefixConfig + HasIpv4Pattern() bool + // Ipv6Pattern returns Ipv6Pattern, set in PrefixConfig. + // Ipv6Pattern is test ipv6 pattern + Ipv6Pattern() Ipv6Pattern + // SetIpv6Pattern assigns Ipv6Pattern provided by user to PrefixConfig. + // Ipv6Pattern is test ipv6 pattern + SetIpv6Pattern(value Ipv6Pattern) PrefixConfig + // HasIpv6Pattern checks if Ipv6Pattern has been set in PrefixConfig + HasIpv6Pattern() bool + // MacPattern returns MacPattern, set in PrefixConfig. + // MacPattern is test mac pattern + MacPattern() MacPattern + // SetMacPattern assigns MacPattern provided by user to PrefixConfig. + // MacPattern is test mac pattern + SetMacPattern(value MacPattern) PrefixConfig + // HasMacPattern checks if MacPattern has been set in PrefixConfig + HasMacPattern() bool + // IntegerPattern returns IntegerPattern, set in PrefixConfig. + // IntegerPattern is test integer pattern + IntegerPattern() IntegerPattern + // SetIntegerPattern assigns IntegerPattern provided by user to PrefixConfig. + // IntegerPattern is test integer pattern + SetIntegerPattern(value IntegerPattern) PrefixConfig + // HasIntegerPattern checks if IntegerPattern has been set in PrefixConfig + HasIntegerPattern() bool + // ChecksumPattern returns ChecksumPattern, set in PrefixConfig. + // ChecksumPattern is test checksum pattern + ChecksumPattern() ChecksumPattern + // SetChecksumPattern assigns ChecksumPattern provided by user to PrefixConfig. + // ChecksumPattern is test checksum pattern + SetChecksumPattern(value ChecksumPattern) PrefixConfig + // HasChecksumPattern checks if ChecksumPattern has been set in PrefixConfig + HasChecksumPattern() bool + // Case returns Layer1Ieee802X, set in PrefixConfig. + Case() Layer1Ieee802X + // SetCase assigns Layer1Ieee802X provided by user to PrefixConfig. + SetCase(value Layer1Ieee802X) PrefixConfig + // HasCase checks if Case has been set in PrefixConfig + HasCase() bool + // MObject returns MObject, set in PrefixConfig. + // MObject is required format validation object + MObject() MObject + // SetMObject assigns MObject provided by user to PrefixConfig. + // MObject is required format validation object + SetMObject(value MObject) PrefixConfig + // HasMObject checks if MObject has been set in PrefixConfig + HasMObject() bool + // Integer64 returns int64, set in PrefixConfig. + Integer64() int64 + // SetInteger64 assigns int64 provided by user to PrefixConfig + SetInteger64(value int64) PrefixConfig + // HasInteger64 checks if Integer64 has been set in PrefixConfig + HasInteger64() bool + // Integer64List returns []int64, set in PrefixConfig. + Integer64List() []int64 + // SetInteger64List assigns []int64 provided by user to PrefixConfig + SetInteger64List(value []int64) PrefixConfig + // HeaderChecksum returns PatternPrefixConfigHeaderChecksum, set in PrefixConfig. + // PatternPrefixConfigHeaderChecksum is header checksum + HeaderChecksum() PatternPrefixConfigHeaderChecksum + // SetHeaderChecksum assigns PatternPrefixConfigHeaderChecksum provided by user to PrefixConfig. + // PatternPrefixConfigHeaderChecksum is header checksum + SetHeaderChecksum(value PatternPrefixConfigHeaderChecksum) PrefixConfig + // HasHeaderChecksum checks if HeaderChecksum has been set in PrefixConfig + HasHeaderChecksum() bool + // StrLen returns string, set in PrefixConfig. + StrLen() string + // SetStrLen assigns string provided by user to PrefixConfig + SetStrLen(value string) PrefixConfig + // HasStrLen checks if StrLen has been set in PrefixConfig + HasStrLen() bool + // HexSlice returns []string, set in PrefixConfig. + HexSlice() []string + // SetHexSlice assigns []string provided by user to PrefixConfig + SetHexSlice(value []string) PrefixConfig + // AutoFieldTest returns PatternPrefixConfigAutoFieldTest, set in PrefixConfig. + // PatternPrefixConfigAutoFieldTest is tBD + AutoFieldTest() PatternPrefixConfigAutoFieldTest + // SetAutoFieldTest assigns PatternPrefixConfigAutoFieldTest provided by user to PrefixConfig. + // PatternPrefixConfigAutoFieldTest is tBD + SetAutoFieldTest(value PatternPrefixConfigAutoFieldTest) PrefixConfig + // HasAutoFieldTest checks if AutoFieldTest has been set in PrefixConfig + HasAutoFieldTest() bool + // Name returns string, set in PrefixConfig. + Name() string + // SetName assigns string provided by user to PrefixConfig + SetName(value string) PrefixConfig + // HasName checks if Name has been set in PrefixConfig + HasName() bool + // WList returns PrefixConfigWObjectIterIter, set in PrefixConfig + WList() PrefixConfigWObjectIter + // XList returns PrefixConfigZObjectIterIter, set in PrefixConfig + XList() PrefixConfigZObjectIter + // ZObject returns ZObject, set in PrefixConfig. + // ZObject is description is TBD + ZObject() ZObject + // SetZObject assigns ZObject provided by user to PrefixConfig. + // ZObject is description is TBD + SetZObject(value ZObject) PrefixConfig + // HasZObject checks if ZObject has been set in PrefixConfig + HasZObject() bool + // YObject returns YObject, set in PrefixConfig. + // YObject is description is TBD + YObject() YObject + // SetYObject assigns YObject provided by user to PrefixConfig. + // YObject is description is TBD + SetYObject(value YObject) PrefixConfig + // HasYObject checks if YObject has been set in PrefixConfig + HasYObject() bool + // ChoiceObject returns PrefixConfigChoiceObjectIterIter, set in PrefixConfig + ChoiceObject() PrefixConfigChoiceObjectIter + // RequiredChoiceObject returns RequiredChoiceParent, set in PrefixConfig. + // RequiredChoiceParent is description is TBD + RequiredChoiceObject() RequiredChoiceParent + // SetRequiredChoiceObject assigns RequiredChoiceParent provided by user to PrefixConfig. + // RequiredChoiceParent is description is TBD + SetRequiredChoiceObject(value RequiredChoiceParent) PrefixConfig + // HasRequiredChoiceObject checks if RequiredChoiceObject has been set in PrefixConfig + HasRequiredChoiceObject() bool + // G1 returns PrefixConfigGObjectIterIter, set in PrefixConfig + G1() PrefixConfigGObjectIter + // G2 returns PrefixConfigGObjectIterIter, set in PrefixConfig + G2() PrefixConfigGObjectIter + // Int32Param returns int32, set in PrefixConfig. + Int32Param() int32 + // SetInt32Param assigns int32 provided by user to PrefixConfig + SetInt32Param(value int32) PrefixConfig + // HasInt32Param checks if Int32Param has been set in PrefixConfig + HasInt32Param() bool + // Int32ListParam returns []int32, set in PrefixConfig. + Int32ListParam() []int32 + // SetInt32ListParam assigns []int32 provided by user to PrefixConfig + SetInt32ListParam(value []int32) PrefixConfig + // Uint32Param returns uint32, set in PrefixConfig. + Uint32Param() uint32 + // SetUint32Param assigns uint32 provided by user to PrefixConfig + SetUint32Param(value uint32) PrefixConfig + // HasUint32Param checks if Uint32Param has been set in PrefixConfig + HasUint32Param() bool + // Uint32ListParam returns []uint32, set in PrefixConfig. + Uint32ListParam() []uint32 + // SetUint32ListParam assigns []uint32 provided by user to PrefixConfig + SetUint32ListParam(value []uint32) PrefixConfig + // Uint64Param returns uint64, set in PrefixConfig. + Uint64Param() uint64 + // SetUint64Param assigns uint64 provided by user to PrefixConfig + SetUint64Param(value uint64) PrefixConfig + // HasUint64Param checks if Uint64Param has been set in PrefixConfig + HasUint64Param() bool + // Uint64ListParam returns []uint64, set in PrefixConfig. + Uint64ListParam() []uint64 + // SetUint64ListParam assigns []uint64 provided by user to PrefixConfig + SetUint64ListParam(value []uint64) PrefixConfig + // AutoInt32Param returns int32, set in PrefixConfig. + AutoInt32Param() int32 + // SetAutoInt32Param assigns int32 provided by user to PrefixConfig + SetAutoInt32Param(value int32) PrefixConfig + // HasAutoInt32Param checks if AutoInt32Param has been set in PrefixConfig + HasAutoInt32Param() bool + // AutoInt32ListParam returns []int32, set in PrefixConfig. + AutoInt32ListParam() []int32 + // SetAutoInt32ListParam assigns []int32 provided by user to PrefixConfig + SetAutoInt32ListParam(value []int32) PrefixConfig + setNil() +} + +// A required object that MUST be generated as such. +// RequiredObject returns a EObject +func (obj *prefixConfig) RequiredObject() EObject { + if obj.obj.RequiredObject == nil { + obj.obj.RequiredObject = NewEObject().Msg() + } + if obj.requiredObjectHolder == nil { + obj.requiredObjectHolder = &eObject{obj: obj.obj.RequiredObject} + } + return obj.requiredObjectHolder +} + +// A required object that MUST be generated as such. +// SetRequiredObject sets the EObject value in the PrefixConfig object +func (obj *prefixConfig) SetRequiredObject(value EObject) PrefixConfig { + + obj.requiredObjectHolder = nil + obj.obj.RequiredObject = value.Msg() + + return obj +} + +// An optional object that MUST be generated as such. +// OptionalObject returns a EObject +func (obj *prefixConfig) OptionalObject() EObject { + if obj.obj.OptionalObject == nil { + obj.obj.OptionalObject = NewEObject().Msg() + } + if obj.optionalObjectHolder == nil { + obj.optionalObjectHolder = &eObject{obj: obj.obj.OptionalObject} + } + return obj.optionalObjectHolder +} + +// An optional object that MUST be generated as such. +// OptionalObject returns a EObject +func (obj *prefixConfig) HasOptionalObject() bool { + return obj.obj.OptionalObject != nil +} + +// An optional object that MUST be generated as such. +// SetOptionalObject sets the EObject value in the PrefixConfig object +func (obj *prefixConfig) SetOptionalObject(value EObject) PrefixConfig { + + obj.optionalObjectHolder = nil + obj.obj.OptionalObject = value.Msg() + + return obj +} + +// description is TBD +// Ieee8021Qbb returns a bool +func (obj *prefixConfig) Ieee8021Qbb() bool { + + return *obj.obj.Ieee_802_1Qbb + +} + +// description is TBD +// Ieee8021Qbb returns a bool +func (obj *prefixConfig) HasIeee8021Qbb() bool { + return obj.obj.Ieee_802_1Qbb != nil +} + +// description is TBD +// SetIeee8021Qbb sets the bool value in the PrefixConfig object +func (obj *prefixConfig) SetIeee8021Qbb(value bool) PrefixConfig { + + obj.obj.Ieee_802_1Qbb = &value + return obj +} + +// Deprecated: Information TBD +// +// Description TBD +// Space1 returns a int32 +func (obj *prefixConfig) Space1() int32 { + + return *obj.obj.Space_1 + +} + +// Deprecated: Information TBD +// +// Description TBD +// Space1 returns a int32 +func (obj *prefixConfig) HasSpace1() bool { + return obj.obj.Space_1 != nil +} + +// Deprecated: Information TBD +// +// Description TBD +// SetSpace1 sets the int32 value in the PrefixConfig object +func (obj *prefixConfig) SetSpace1(value int32) PrefixConfig { + + obj.obj.Space_1 = &value + return obj +} + +// description is TBD +// FullDuplex100Mb returns a int64 +func (obj *prefixConfig) FullDuplex100Mb() int64 { + + return *obj.obj.FullDuplex_100Mb + +} + +// description is TBD +// FullDuplex100Mb returns a int64 +func (obj *prefixConfig) HasFullDuplex100Mb() bool { + return obj.obj.FullDuplex_100Mb != nil +} + +// description is TBD +// SetFullDuplex100Mb sets the int64 value in the PrefixConfig object +func (obj *prefixConfig) SetFullDuplex100Mb(value int64) PrefixConfig { + + obj.obj.FullDuplex_100Mb = &value + return obj +} + +type PrefixConfigResponseEnum string + +// Enum of Response on PrefixConfig +var PrefixConfigResponse = struct { + STATUS_200 PrefixConfigResponseEnum + STATUS_400 PrefixConfigResponseEnum + STATUS_404 PrefixConfigResponseEnum + STATUS_500 PrefixConfigResponseEnum +}{ + STATUS_200: PrefixConfigResponseEnum("status_200"), + STATUS_400: PrefixConfigResponseEnum("status_400"), + STATUS_404: PrefixConfigResponseEnum("status_404"), + STATUS_500: PrefixConfigResponseEnum("status_500"), +} + +func (obj *prefixConfig) Response() PrefixConfigResponseEnum { + return PrefixConfigResponseEnum(obj.obj.Response.Enum().String()) +} + +// Indicate to the server what response should be returned +// Response returns a string +func (obj *prefixConfig) HasResponse() bool { + return obj.obj.Response != nil +} + +func (obj *prefixConfig) SetResponse(value PrefixConfigResponseEnum) PrefixConfig { + intValue, ok := openapi.PrefixConfig_Response_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on PrefixConfigResponseEnum", string(value))) + return obj + } + enumValue := openapi.PrefixConfig_Response_Enum(intValue) + obj.obj.Response = &enumValue + + return obj +} + +// Under Review: Information TBD +// +// Small single line description +// A returns a string +func (obj *prefixConfig) A() string { + + return obj.obj.A +} + +// Under Review: Information TBD +// +// Small single line description +// SetA sets the string value in the PrefixConfig object +func (obj *prefixConfig) SetA(value string) PrefixConfig { + + obj.obj.A = value + return obj +} + +// Longer multi-line description +// Second line is here +// Third line +// B returns a float32 +func (obj *prefixConfig) B() float32 { + + return obj.obj.B +} + +// Longer multi-line description +// Second line is here +// Third line +// SetB sets the float32 value in the PrefixConfig object +func (obj *prefixConfig) SetB(value float32) PrefixConfig { + + obj.obj.B = value + return obj +} + +// description is TBD +// C returns a int32 +func (obj *prefixConfig) C() int32 { + + return obj.obj.C +} + +// description is TBD +// SetC sets the int32 value in the PrefixConfig object +func (obj *prefixConfig) SetC(value int32) PrefixConfig { + + obj.obj.C = value + return obj +} + +type PrefixConfigDValuesEnum string + +// Enum of DValues on PrefixConfig +var PrefixConfigDValues = struct { + A PrefixConfigDValuesEnum + B PrefixConfigDValuesEnum + C PrefixConfigDValuesEnum +}{ + A: PrefixConfigDValuesEnum("a"), + B: PrefixConfigDValuesEnum("b"), + C: PrefixConfigDValuesEnum("c"), +} + +func (obj *prefixConfig) DValues() []PrefixConfigDValuesEnum { + items := []PrefixConfigDValuesEnum{} + for _, item := range obj.obj.DValues { + items = append(items, PrefixConfigDValuesEnum(item.String())) + } + return items +} + +// Deprecated: Information TBD +// +// A list of enum values +// SetDValues sets the []string value in the PrefixConfig object +func (obj *prefixConfig) SetDValues(value []PrefixConfigDValuesEnum) PrefixConfig { + + items := []openapi.PrefixConfig_DValues_Enum{} + for _, item := range value { + intValue := openapi.PrefixConfig_DValues_Enum_value[string(item)] + items = append(items, openapi.PrefixConfig_DValues_Enum(intValue)) + } + obj.obj.DValues = items + return obj +} + +// Deprecated: Information TBD +// +// A child object +// E returns a EObject +func (obj *prefixConfig) E() EObject { + if obj.obj.E == nil { + obj.obj.E = NewEObject().Msg() + } + if obj.eHolder == nil { + obj.eHolder = &eObject{obj: obj.obj.E} + } + return obj.eHolder +} + +// Deprecated: Information TBD +// +// A child object +// E returns a EObject +func (obj *prefixConfig) HasE() bool { + return obj.obj.E != nil +} + +// Deprecated: Information TBD +// +// A child object +// SetE sets the EObject value in the PrefixConfig object +func (obj *prefixConfig) SetE(value EObject) PrefixConfig { + + obj.eHolder = nil + obj.obj.E = value.Msg() + + return obj +} + +// An object with only choice(s) +// F returns a FObject +func (obj *prefixConfig) F() FObject { + if obj.obj.F == nil { + obj.obj.F = NewFObject().Msg() + } + if obj.fHolder == nil { + obj.fHolder = &fObject{obj: obj.obj.F} + } + return obj.fHolder +} + +// An object with only choice(s) +// F returns a FObject +func (obj *prefixConfig) HasF() bool { + return obj.obj.F != nil +} + +// An object with only choice(s) +// SetF sets the FObject value in the PrefixConfig object +func (obj *prefixConfig) SetF(value FObject) PrefixConfig { + + obj.fHolder = nil + obj.obj.F = value.Msg() + + return obj +} + +// A list of objects with choice and properties +// G returns a []GObject +func (obj *prefixConfig) G() PrefixConfigGObjectIter { + if len(obj.obj.G) == 0 { + obj.obj.G = []*openapi.GObject{} + } + if obj.gHolder == nil { + obj.gHolder = newPrefixConfigGObjectIter(&obj.obj.G).setMsg(obj) + } + return obj.gHolder +} + +type prefixConfigGObjectIter struct { + obj *prefixConfig + gObjectSlice []GObject + fieldPtr *[]*openapi.GObject +} + +func newPrefixConfigGObjectIter(ptr *[]*openapi.GObject) PrefixConfigGObjectIter { + return &prefixConfigGObjectIter{fieldPtr: ptr} +} + +type PrefixConfigGObjectIter interface { + setMsg(*prefixConfig) PrefixConfigGObjectIter + Items() []GObject + Add() GObject + Append(items ...GObject) PrefixConfigGObjectIter + Set(index int, newObj GObject) PrefixConfigGObjectIter + Clear() PrefixConfigGObjectIter + clearHolderSlice() PrefixConfigGObjectIter + appendHolderSlice(item GObject) PrefixConfigGObjectIter +} + +func (obj *prefixConfigGObjectIter) setMsg(msg *prefixConfig) PrefixConfigGObjectIter { + obj.clearHolderSlice() + for _, val := range *obj.fieldPtr { + obj.appendHolderSlice(&gObject{obj: val}) + } + obj.obj = msg + return obj +} + +func (obj *prefixConfigGObjectIter) Items() []GObject { + return obj.gObjectSlice +} + +func (obj *prefixConfigGObjectIter) Add() GObject { + newObj := &openapi.GObject{} + *obj.fieldPtr = append(*obj.fieldPtr, newObj) + newLibObj := &gObject{obj: newObj} + newLibObj.setDefault() + obj.gObjectSlice = append(obj.gObjectSlice, newLibObj) + return newLibObj +} + +func (obj *prefixConfigGObjectIter) Append(items ...GObject) PrefixConfigGObjectIter { + for _, item := range items { + newObj := item.Msg() + *obj.fieldPtr = append(*obj.fieldPtr, newObj) + obj.gObjectSlice = append(obj.gObjectSlice, item) + } + return obj +} + +func (obj *prefixConfigGObjectIter) Set(index int, newObj GObject) PrefixConfigGObjectIter { + (*obj.fieldPtr)[index] = newObj.Msg() + obj.gObjectSlice[index] = newObj + return obj +} +func (obj *prefixConfigGObjectIter) Clear() PrefixConfigGObjectIter { + if len(*obj.fieldPtr) > 0 { + *obj.fieldPtr = []*openapi.GObject{} + obj.gObjectSlice = []GObject{} + } + return obj +} +func (obj *prefixConfigGObjectIter) clearHolderSlice() PrefixConfigGObjectIter { + if len(obj.gObjectSlice) > 0 { + obj.gObjectSlice = []GObject{} + } + return obj +} +func (obj *prefixConfigGObjectIter) appendHolderSlice(item GObject) PrefixConfigGObjectIter { + obj.gObjectSlice = append(obj.gObjectSlice, item) + return obj +} + +// A boolean value +// H returns a bool +func (obj *prefixConfig) H() bool { + + return *obj.obj.H + +} + +// A boolean value +// H returns a bool +func (obj *prefixConfig) HasH() bool { + return obj.obj.H != nil +} + +// A boolean value +// SetH sets the bool value in the PrefixConfig object +func (obj *prefixConfig) SetH(value bool) PrefixConfig { + + obj.obj.H = &value + return obj +} + +// A byte string +// I returns a []byte +func (obj *prefixConfig) I() []byte { + + return obj.obj.I +} + +// A byte string +// SetI sets the []byte value in the PrefixConfig object +func (obj *prefixConfig) SetI(value []byte) PrefixConfig { + + obj.obj.I = value + return obj +} + +// A list of objects with only choice +// J returns a []JObject +func (obj *prefixConfig) J() PrefixConfigJObjectIter { + if len(obj.obj.J) == 0 { + obj.obj.J = []*openapi.JObject{} + } + if obj.jHolder == nil { + obj.jHolder = newPrefixConfigJObjectIter(&obj.obj.J).setMsg(obj) + } + return obj.jHolder +} + +type prefixConfigJObjectIter struct { + obj *prefixConfig + jObjectSlice []JObject + fieldPtr *[]*openapi.JObject +} + +func newPrefixConfigJObjectIter(ptr *[]*openapi.JObject) PrefixConfigJObjectIter { + return &prefixConfigJObjectIter{fieldPtr: ptr} +} + +type PrefixConfigJObjectIter interface { + setMsg(*prefixConfig) PrefixConfigJObjectIter + Items() []JObject + Add() JObject + Append(items ...JObject) PrefixConfigJObjectIter + Set(index int, newObj JObject) PrefixConfigJObjectIter + Clear() PrefixConfigJObjectIter + clearHolderSlice() PrefixConfigJObjectIter + appendHolderSlice(item JObject) PrefixConfigJObjectIter +} + +func (obj *prefixConfigJObjectIter) setMsg(msg *prefixConfig) PrefixConfigJObjectIter { + obj.clearHolderSlice() + for _, val := range *obj.fieldPtr { + obj.appendHolderSlice(&jObject{obj: val}) + } + obj.obj = msg + return obj +} + +func (obj *prefixConfigJObjectIter) Items() []JObject { + return obj.jObjectSlice +} + +func (obj *prefixConfigJObjectIter) Add() JObject { + newObj := &openapi.JObject{} + *obj.fieldPtr = append(*obj.fieldPtr, newObj) + newLibObj := &jObject{obj: newObj} + newLibObj.setDefault() + obj.jObjectSlice = append(obj.jObjectSlice, newLibObj) + return newLibObj +} + +func (obj *prefixConfigJObjectIter) Append(items ...JObject) PrefixConfigJObjectIter { + for _, item := range items { + newObj := item.Msg() + *obj.fieldPtr = append(*obj.fieldPtr, newObj) + obj.jObjectSlice = append(obj.jObjectSlice, item) + } + return obj +} + +func (obj *prefixConfigJObjectIter) Set(index int, newObj JObject) PrefixConfigJObjectIter { + (*obj.fieldPtr)[index] = newObj.Msg() + obj.jObjectSlice[index] = newObj + return obj +} +func (obj *prefixConfigJObjectIter) Clear() PrefixConfigJObjectIter { + if len(*obj.fieldPtr) > 0 { + *obj.fieldPtr = []*openapi.JObject{} + obj.jObjectSlice = []JObject{} + } + return obj +} +func (obj *prefixConfigJObjectIter) clearHolderSlice() PrefixConfigJObjectIter { + if len(obj.jObjectSlice) > 0 { + obj.jObjectSlice = []JObject{} + } + return obj +} +func (obj *prefixConfigJObjectIter) appendHolderSlice(item JObject) PrefixConfigJObjectIter { + obj.jObjectSlice = append(obj.jObjectSlice, item) + return obj +} + +// A nested object with only one property which is a choice object +// K returns a KObject +func (obj *prefixConfig) K() KObject { + if obj.obj.K == nil { + obj.obj.K = NewKObject().Msg() + } + if obj.kHolder == nil { + obj.kHolder = &kObject{obj: obj.obj.K} + } + return obj.kHolder +} + +// A nested object with only one property which is a choice object +// K returns a KObject +func (obj *prefixConfig) HasK() bool { + return obj.obj.K != nil +} + +// A nested object with only one property which is a choice object +// SetK sets the KObject value in the PrefixConfig object +func (obj *prefixConfig) SetK(value KObject) PrefixConfig { + + obj.kHolder = nil + obj.obj.K = value.Msg() + + return obj +} + +// description is TBD +// L returns a LObject +func (obj *prefixConfig) L() LObject { + if obj.obj.L == nil { + obj.obj.L = NewLObject().Msg() + } + if obj.lHolder == nil { + obj.lHolder = &lObject{obj: obj.obj.L} + } + return obj.lHolder +} + +// description is TBD +// L returns a LObject +func (obj *prefixConfig) HasL() bool { + return obj.obj.L != nil +} + +// description is TBD +// SetL sets the LObject value in the PrefixConfig object +func (obj *prefixConfig) SetL(value LObject) PrefixConfig { + + obj.lHolder = nil + obj.obj.L = value.Msg() + + return obj +} + +// A list of string values +// ListOfStringValues returns a []string +func (obj *prefixConfig) ListOfStringValues() []string { + if obj.obj.ListOfStringValues == nil { + obj.obj.ListOfStringValues = make([]string, 0) + } + return obj.obj.ListOfStringValues +} + +// A list of string values +// SetListOfStringValues sets the []string value in the PrefixConfig object +func (obj *prefixConfig) SetListOfStringValues(value []string) PrefixConfig { + + if obj.obj.ListOfStringValues == nil { + obj.obj.ListOfStringValues = make([]string, 0) + } + obj.obj.ListOfStringValues = value + + return obj +} + +// A list of integer values +// ListOfIntegerValues returns a []int32 +func (obj *prefixConfig) ListOfIntegerValues() []int32 { + if obj.obj.ListOfIntegerValues == nil { + obj.obj.ListOfIntegerValues = make([]int32, 0) + } + return obj.obj.ListOfIntegerValues +} + +// A list of integer values +// SetListOfIntegerValues sets the []int32 value in the PrefixConfig object +func (obj *prefixConfig) SetListOfIntegerValues(value []int32) PrefixConfig { + + if obj.obj.ListOfIntegerValues == nil { + obj.obj.ListOfIntegerValues = make([]int32, 0) + } + obj.obj.ListOfIntegerValues = value + + return obj +} + +// description is TBD +// Level returns a LevelOne +func (obj *prefixConfig) Level() LevelOne { + if obj.obj.Level == nil { + obj.obj.Level = NewLevelOne().Msg() + } + if obj.levelHolder == nil { + obj.levelHolder = &levelOne{obj: obj.obj.Level} + } + return obj.levelHolder +} + +// description is TBD +// Level returns a LevelOne +func (obj *prefixConfig) HasLevel() bool { + return obj.obj.Level != nil +} + +// description is TBD +// SetLevel sets the LevelOne value in the PrefixConfig object +func (obj *prefixConfig) SetLevel(value LevelOne) PrefixConfig { + + obj.levelHolder = nil + obj.obj.Level = value.Msg() + + return obj +} + +// description is TBD +// Mandatory returns a Mandate +func (obj *prefixConfig) Mandatory() Mandate { + if obj.obj.Mandatory == nil { + obj.obj.Mandatory = NewMandate().Msg() + } + if obj.mandatoryHolder == nil { + obj.mandatoryHolder = &mandate{obj: obj.obj.Mandatory} + } + return obj.mandatoryHolder +} + +// description is TBD +// Mandatory returns a Mandate +func (obj *prefixConfig) HasMandatory() bool { + return obj.obj.Mandatory != nil +} + +// description is TBD +// SetMandatory sets the Mandate value in the PrefixConfig object +func (obj *prefixConfig) SetMandatory(value Mandate) PrefixConfig { + + obj.mandatoryHolder = nil + obj.obj.Mandatory = value.Msg() + + return obj +} + +// description is TBD +// Ipv4Pattern returns a Ipv4Pattern +func (obj *prefixConfig) Ipv4Pattern() Ipv4Pattern { + if obj.obj.Ipv4Pattern == nil { + obj.obj.Ipv4Pattern = NewIpv4Pattern().Msg() + } + if obj.ipv4PatternHolder == nil { + obj.ipv4PatternHolder = &ipv4Pattern{obj: obj.obj.Ipv4Pattern} + } + return obj.ipv4PatternHolder +} + +// description is TBD +// Ipv4Pattern returns a Ipv4Pattern +func (obj *prefixConfig) HasIpv4Pattern() bool { + return obj.obj.Ipv4Pattern != nil +} + +// description is TBD +// SetIpv4Pattern sets the Ipv4Pattern value in the PrefixConfig object +func (obj *prefixConfig) SetIpv4Pattern(value Ipv4Pattern) PrefixConfig { + + obj.ipv4PatternHolder = nil + obj.obj.Ipv4Pattern = value.Msg() + + return obj +} + +// description is TBD +// Ipv6Pattern returns a Ipv6Pattern +func (obj *prefixConfig) Ipv6Pattern() Ipv6Pattern { + if obj.obj.Ipv6Pattern == nil { + obj.obj.Ipv6Pattern = NewIpv6Pattern().Msg() + } + if obj.ipv6PatternHolder == nil { + obj.ipv6PatternHolder = &ipv6Pattern{obj: obj.obj.Ipv6Pattern} + } + return obj.ipv6PatternHolder +} + +// description is TBD +// Ipv6Pattern returns a Ipv6Pattern +func (obj *prefixConfig) HasIpv6Pattern() bool { + return obj.obj.Ipv6Pattern != nil +} + +// description is TBD +// SetIpv6Pattern sets the Ipv6Pattern value in the PrefixConfig object +func (obj *prefixConfig) SetIpv6Pattern(value Ipv6Pattern) PrefixConfig { + + obj.ipv6PatternHolder = nil + obj.obj.Ipv6Pattern = value.Msg() + + return obj +} + +// description is TBD +// MacPattern returns a MacPattern +func (obj *prefixConfig) MacPattern() MacPattern { + if obj.obj.MacPattern == nil { + obj.obj.MacPattern = NewMacPattern().Msg() + } + if obj.macPatternHolder == nil { + obj.macPatternHolder = &macPattern{obj: obj.obj.MacPattern} + } + return obj.macPatternHolder +} + +// description is TBD +// MacPattern returns a MacPattern +func (obj *prefixConfig) HasMacPattern() bool { + return obj.obj.MacPattern != nil +} + +// description is TBD +// SetMacPattern sets the MacPattern value in the PrefixConfig object +func (obj *prefixConfig) SetMacPattern(value MacPattern) PrefixConfig { + + obj.macPatternHolder = nil + obj.obj.MacPattern = value.Msg() + + return obj +} + +// description is TBD +// IntegerPattern returns a IntegerPattern +func (obj *prefixConfig) IntegerPattern() IntegerPattern { + if obj.obj.IntegerPattern == nil { + obj.obj.IntegerPattern = NewIntegerPattern().Msg() + } + if obj.integerPatternHolder == nil { + obj.integerPatternHolder = &integerPattern{obj: obj.obj.IntegerPattern} + } + return obj.integerPatternHolder +} + +// description is TBD +// IntegerPattern returns a IntegerPattern +func (obj *prefixConfig) HasIntegerPattern() bool { + return obj.obj.IntegerPattern != nil +} + +// description is TBD +// SetIntegerPattern sets the IntegerPattern value in the PrefixConfig object +func (obj *prefixConfig) SetIntegerPattern(value IntegerPattern) PrefixConfig { + + obj.integerPatternHolder = nil + obj.obj.IntegerPattern = value.Msg() + + return obj +} + +// description is TBD +// ChecksumPattern returns a ChecksumPattern +func (obj *prefixConfig) ChecksumPattern() ChecksumPattern { + if obj.obj.ChecksumPattern == nil { + obj.obj.ChecksumPattern = NewChecksumPattern().Msg() + } + if obj.checksumPatternHolder == nil { + obj.checksumPatternHolder = &checksumPattern{obj: obj.obj.ChecksumPattern} + } + return obj.checksumPatternHolder +} + +// description is TBD +// ChecksumPattern returns a ChecksumPattern +func (obj *prefixConfig) HasChecksumPattern() bool { + return obj.obj.ChecksumPattern != nil +} + +// description is TBD +// SetChecksumPattern sets the ChecksumPattern value in the PrefixConfig object +func (obj *prefixConfig) SetChecksumPattern(value ChecksumPattern) PrefixConfig { + + obj.checksumPatternHolder = nil + obj.obj.ChecksumPattern = value.Msg() + + return obj +} + +// description is TBD +// Case returns a Layer1Ieee802X +func (obj *prefixConfig) Case() Layer1Ieee802X { + if obj.obj.Case == nil { + obj.obj.Case = NewLayer1Ieee802X().Msg() + } + if obj.caseHolder == nil { + obj.caseHolder = &layer1Ieee802X{obj: obj.obj.Case} + } + return obj.caseHolder +} + +// description is TBD +// Case returns a Layer1Ieee802X +func (obj *prefixConfig) HasCase() bool { + return obj.obj.Case != nil +} + +// description is TBD +// SetCase sets the Layer1Ieee802X value in the PrefixConfig object +func (obj *prefixConfig) SetCase(value Layer1Ieee802X) PrefixConfig { + + obj.caseHolder = nil + obj.obj.Case = value.Msg() + + return obj +} + +// description is TBD +// MObject returns a MObject +func (obj *prefixConfig) MObject() MObject { + if obj.obj.MObject == nil { + obj.obj.MObject = NewMObject().Msg() + } + if obj.mObjectHolder == nil { + obj.mObjectHolder = &mObject{obj: obj.obj.MObject} + } + return obj.mObjectHolder +} + +// description is TBD +// MObject returns a MObject +func (obj *prefixConfig) HasMObject() bool { + return obj.obj.MObject != nil +} + +// description is TBD +// SetMObject sets the MObject value in the PrefixConfig object +func (obj *prefixConfig) SetMObject(value MObject) PrefixConfig { + + obj.mObjectHolder = nil + obj.obj.MObject = value.Msg() + + return obj +} + +// int64 type +// Integer64 returns a int64 +func (obj *prefixConfig) Integer64() int64 { + + return *obj.obj.Integer64 + +} + +// int64 type +// Integer64 returns a int64 +func (obj *prefixConfig) HasInteger64() bool { + return obj.obj.Integer64 != nil +} + +// int64 type +// SetInteger64 sets the int64 value in the PrefixConfig object +func (obj *prefixConfig) SetInteger64(value int64) PrefixConfig { + + obj.obj.Integer64 = &value + return obj +} + +// int64 type list +// Integer64List returns a []int64 +func (obj *prefixConfig) Integer64List() []int64 { + if obj.obj.Integer64List == nil { + obj.obj.Integer64List = make([]int64, 0) + } + return obj.obj.Integer64List +} + +// int64 type list +// SetInteger64List sets the []int64 value in the PrefixConfig object +func (obj *prefixConfig) SetInteger64List(value []int64) PrefixConfig { + + if obj.obj.Integer64List == nil { + obj.obj.Integer64List = make([]int64, 0) + } + obj.obj.Integer64List = value + + return obj +} + +// description is TBD +// HeaderChecksum returns a PatternPrefixConfigHeaderChecksum +func (obj *prefixConfig) HeaderChecksum() PatternPrefixConfigHeaderChecksum { + if obj.obj.HeaderChecksum == nil { + obj.obj.HeaderChecksum = NewPatternPrefixConfigHeaderChecksum().Msg() + } + if obj.headerChecksumHolder == nil { + obj.headerChecksumHolder = &patternPrefixConfigHeaderChecksum{obj: obj.obj.HeaderChecksum} + } + return obj.headerChecksumHolder +} + +// description is TBD +// HeaderChecksum returns a PatternPrefixConfigHeaderChecksum +func (obj *prefixConfig) HasHeaderChecksum() bool { + return obj.obj.HeaderChecksum != nil +} + +// description is TBD +// SetHeaderChecksum sets the PatternPrefixConfigHeaderChecksum value in the PrefixConfig object +func (obj *prefixConfig) SetHeaderChecksum(value PatternPrefixConfigHeaderChecksum) PrefixConfig { + + obj.headerChecksumHolder = nil + obj.obj.HeaderChecksum = value.Msg() + + return obj +} + +// Under Review: Information TBD +// +// string minimum&maximum Length +// StrLen returns a string +func (obj *prefixConfig) StrLen() string { + + return *obj.obj.StrLen + +} + +// Under Review: Information TBD +// +// string minimum&maximum Length +// StrLen returns a string +func (obj *prefixConfig) HasStrLen() bool { + return obj.obj.StrLen != nil +} + +// Under Review: Information TBD +// +// string minimum&maximum Length +// SetStrLen sets the string value in the PrefixConfig object +func (obj *prefixConfig) SetStrLen(value string) PrefixConfig { + + obj.obj.StrLen = &value + return obj +} + +// Under Review: Information TBD +// +// Array of Hex +// HexSlice returns a []string +func (obj *prefixConfig) HexSlice() []string { + if obj.obj.HexSlice == nil { + obj.obj.HexSlice = make([]string, 0) + } + return obj.obj.HexSlice +} + +// Under Review: Information TBD +// +// Array of Hex +// SetHexSlice sets the []string value in the PrefixConfig object +func (obj *prefixConfig) SetHexSlice(value []string) PrefixConfig { + + if obj.obj.HexSlice == nil { + obj.obj.HexSlice = make([]string, 0) + } + obj.obj.HexSlice = value + + return obj +} + +// description is TBD +// AutoFieldTest returns a PatternPrefixConfigAutoFieldTest +func (obj *prefixConfig) AutoFieldTest() PatternPrefixConfigAutoFieldTest { + if obj.obj.AutoFieldTest == nil { + obj.obj.AutoFieldTest = NewPatternPrefixConfigAutoFieldTest().Msg() + } + if obj.autoFieldTestHolder == nil { + obj.autoFieldTestHolder = &patternPrefixConfigAutoFieldTest{obj: obj.obj.AutoFieldTest} + } + return obj.autoFieldTestHolder +} + +// description is TBD +// AutoFieldTest returns a PatternPrefixConfigAutoFieldTest +func (obj *prefixConfig) HasAutoFieldTest() bool { + return obj.obj.AutoFieldTest != nil +} + +// description is TBD +// SetAutoFieldTest sets the PatternPrefixConfigAutoFieldTest value in the PrefixConfig object +func (obj *prefixConfig) SetAutoFieldTest(value PatternPrefixConfigAutoFieldTest) PrefixConfig { + + obj.autoFieldTestHolder = nil + obj.obj.AutoFieldTest = value.Msg() + + return obj +} + +// description is TBD +// Name returns a string +func (obj *prefixConfig) Name() string { + + return *obj.obj.Name + +} + +// description is TBD +// Name returns a string +func (obj *prefixConfig) HasName() bool { + return obj.obj.Name != nil +} + +// description is TBD +// SetName sets the string value in the PrefixConfig object +func (obj *prefixConfig) SetName(value string) PrefixConfig { + + obj.obj.Name = &value + return obj +} + +// description is TBD +// WList returns a []WObject +func (obj *prefixConfig) WList() PrefixConfigWObjectIter { + if len(obj.obj.WList) == 0 { + obj.obj.WList = []*openapi.WObject{} + } + if obj.wListHolder == nil { + obj.wListHolder = newPrefixConfigWObjectIter(&obj.obj.WList).setMsg(obj) + } + return obj.wListHolder +} + +type prefixConfigWObjectIter struct { + obj *prefixConfig + wObjectSlice []WObject + fieldPtr *[]*openapi.WObject +} + +func newPrefixConfigWObjectIter(ptr *[]*openapi.WObject) PrefixConfigWObjectIter { + return &prefixConfigWObjectIter{fieldPtr: ptr} +} + +type PrefixConfigWObjectIter interface { + setMsg(*prefixConfig) PrefixConfigWObjectIter + Items() []WObject + Add() WObject + Append(items ...WObject) PrefixConfigWObjectIter + Set(index int, newObj WObject) PrefixConfigWObjectIter + Clear() PrefixConfigWObjectIter + clearHolderSlice() PrefixConfigWObjectIter + appendHolderSlice(item WObject) PrefixConfigWObjectIter +} + +func (obj *prefixConfigWObjectIter) setMsg(msg *prefixConfig) PrefixConfigWObjectIter { + obj.clearHolderSlice() + for _, val := range *obj.fieldPtr { + obj.appendHolderSlice(&wObject{obj: val}) + } + obj.obj = msg + return obj +} + +func (obj *prefixConfigWObjectIter) Items() []WObject { + return obj.wObjectSlice +} + +func (obj *prefixConfigWObjectIter) Add() WObject { + newObj := &openapi.WObject{} + *obj.fieldPtr = append(*obj.fieldPtr, newObj) + newLibObj := &wObject{obj: newObj} + newLibObj.setDefault() + obj.wObjectSlice = append(obj.wObjectSlice, newLibObj) + return newLibObj +} + +func (obj *prefixConfigWObjectIter) Append(items ...WObject) PrefixConfigWObjectIter { + for _, item := range items { + newObj := item.Msg() + *obj.fieldPtr = append(*obj.fieldPtr, newObj) + obj.wObjectSlice = append(obj.wObjectSlice, item) + } + return obj +} + +func (obj *prefixConfigWObjectIter) Set(index int, newObj WObject) PrefixConfigWObjectIter { + (*obj.fieldPtr)[index] = newObj.Msg() + obj.wObjectSlice[index] = newObj + return obj +} +func (obj *prefixConfigWObjectIter) Clear() PrefixConfigWObjectIter { + if len(*obj.fieldPtr) > 0 { + *obj.fieldPtr = []*openapi.WObject{} + obj.wObjectSlice = []WObject{} + } + return obj +} +func (obj *prefixConfigWObjectIter) clearHolderSlice() PrefixConfigWObjectIter { + if len(obj.wObjectSlice) > 0 { + obj.wObjectSlice = []WObject{} + } + return obj +} +func (obj *prefixConfigWObjectIter) appendHolderSlice(item WObject) PrefixConfigWObjectIter { + obj.wObjectSlice = append(obj.wObjectSlice, item) + return obj +} + +// description is TBD +// XList returns a []ZObject +func (obj *prefixConfig) XList() PrefixConfigZObjectIter { + if len(obj.obj.XList) == 0 { + obj.obj.XList = []*openapi.ZObject{} + } + if obj.xListHolder == nil { + obj.xListHolder = newPrefixConfigZObjectIter(&obj.obj.XList).setMsg(obj) + } + return obj.xListHolder +} + +type prefixConfigZObjectIter struct { + obj *prefixConfig + zObjectSlice []ZObject + fieldPtr *[]*openapi.ZObject +} + +func newPrefixConfigZObjectIter(ptr *[]*openapi.ZObject) PrefixConfigZObjectIter { + return &prefixConfigZObjectIter{fieldPtr: ptr} +} + +type PrefixConfigZObjectIter interface { + setMsg(*prefixConfig) PrefixConfigZObjectIter + Items() []ZObject + Add() ZObject + Append(items ...ZObject) PrefixConfigZObjectIter + Set(index int, newObj ZObject) PrefixConfigZObjectIter + Clear() PrefixConfigZObjectIter + clearHolderSlice() PrefixConfigZObjectIter + appendHolderSlice(item ZObject) PrefixConfigZObjectIter +} + +func (obj *prefixConfigZObjectIter) setMsg(msg *prefixConfig) PrefixConfigZObjectIter { + obj.clearHolderSlice() + for _, val := range *obj.fieldPtr { + obj.appendHolderSlice(&zObject{obj: val}) + } + obj.obj = msg + return obj +} + +func (obj *prefixConfigZObjectIter) Items() []ZObject { + return obj.zObjectSlice +} + +func (obj *prefixConfigZObjectIter) Add() ZObject { + newObj := &openapi.ZObject{} + *obj.fieldPtr = append(*obj.fieldPtr, newObj) + newLibObj := &zObject{obj: newObj} + newLibObj.setDefault() + obj.zObjectSlice = append(obj.zObjectSlice, newLibObj) + return newLibObj +} + +func (obj *prefixConfigZObjectIter) Append(items ...ZObject) PrefixConfigZObjectIter { + for _, item := range items { + newObj := item.Msg() + *obj.fieldPtr = append(*obj.fieldPtr, newObj) + obj.zObjectSlice = append(obj.zObjectSlice, item) + } + return obj +} + +func (obj *prefixConfigZObjectIter) Set(index int, newObj ZObject) PrefixConfigZObjectIter { + (*obj.fieldPtr)[index] = newObj.Msg() + obj.zObjectSlice[index] = newObj + return obj +} +func (obj *prefixConfigZObjectIter) Clear() PrefixConfigZObjectIter { + if len(*obj.fieldPtr) > 0 { + *obj.fieldPtr = []*openapi.ZObject{} + obj.zObjectSlice = []ZObject{} + } + return obj +} +func (obj *prefixConfigZObjectIter) clearHolderSlice() PrefixConfigZObjectIter { + if len(obj.zObjectSlice) > 0 { + obj.zObjectSlice = []ZObject{} + } + return obj +} +func (obj *prefixConfigZObjectIter) appendHolderSlice(item ZObject) PrefixConfigZObjectIter { + obj.zObjectSlice = append(obj.zObjectSlice, item) + return obj +} + +// description is TBD +// ZObject returns a ZObject +func (obj *prefixConfig) ZObject() ZObject { + if obj.obj.ZObject == nil { + obj.obj.ZObject = NewZObject().Msg() + } + if obj.zObjectHolder == nil { + obj.zObjectHolder = &zObject{obj: obj.obj.ZObject} + } + return obj.zObjectHolder +} + +// description is TBD +// ZObject returns a ZObject +func (obj *prefixConfig) HasZObject() bool { + return obj.obj.ZObject != nil +} + +// description is TBD +// SetZObject sets the ZObject value in the PrefixConfig object +func (obj *prefixConfig) SetZObject(value ZObject) PrefixConfig { + + obj.zObjectHolder = nil + obj.obj.ZObject = value.Msg() + + return obj +} + +// description is TBD +// YObject returns a YObject +func (obj *prefixConfig) YObject() YObject { + if obj.obj.YObject == nil { + obj.obj.YObject = NewYObject().Msg() + } + if obj.yObjectHolder == nil { + obj.yObjectHolder = &yObject{obj: obj.obj.YObject} + } + return obj.yObjectHolder +} + +// description is TBD +// YObject returns a YObject +func (obj *prefixConfig) HasYObject() bool { + return obj.obj.YObject != nil +} + +// description is TBD +// SetYObject sets the YObject value in the PrefixConfig object +func (obj *prefixConfig) SetYObject(value YObject) PrefixConfig { + + obj.yObjectHolder = nil + obj.obj.YObject = value.Msg() + + return obj +} + +// A list of objects with choice with and without properties +// ChoiceObject returns a []ChoiceObject +func (obj *prefixConfig) ChoiceObject() PrefixConfigChoiceObjectIter { + if len(obj.obj.ChoiceObject) == 0 { + obj.obj.ChoiceObject = []*openapi.ChoiceObject{} + } + if obj.choiceObjectHolder == nil { + obj.choiceObjectHolder = newPrefixConfigChoiceObjectIter(&obj.obj.ChoiceObject).setMsg(obj) + } + return obj.choiceObjectHolder +} + +type prefixConfigChoiceObjectIter struct { + obj *prefixConfig + choiceObjectSlice []ChoiceObject + fieldPtr *[]*openapi.ChoiceObject +} + +func newPrefixConfigChoiceObjectIter(ptr *[]*openapi.ChoiceObject) PrefixConfigChoiceObjectIter { + return &prefixConfigChoiceObjectIter{fieldPtr: ptr} +} + +type PrefixConfigChoiceObjectIter interface { + setMsg(*prefixConfig) PrefixConfigChoiceObjectIter + Items() []ChoiceObject + Add() ChoiceObject + Append(items ...ChoiceObject) PrefixConfigChoiceObjectIter + Set(index int, newObj ChoiceObject) PrefixConfigChoiceObjectIter + Clear() PrefixConfigChoiceObjectIter + clearHolderSlice() PrefixConfigChoiceObjectIter + appendHolderSlice(item ChoiceObject) PrefixConfigChoiceObjectIter +} + +func (obj *prefixConfigChoiceObjectIter) setMsg(msg *prefixConfig) PrefixConfigChoiceObjectIter { + obj.clearHolderSlice() + for _, val := range *obj.fieldPtr { + obj.appendHolderSlice(&choiceObject{obj: val}) + } + obj.obj = msg + return obj +} + +func (obj *prefixConfigChoiceObjectIter) Items() []ChoiceObject { + return obj.choiceObjectSlice +} + +func (obj *prefixConfigChoiceObjectIter) Add() ChoiceObject { + newObj := &openapi.ChoiceObject{} + *obj.fieldPtr = append(*obj.fieldPtr, newObj) + newLibObj := &choiceObject{obj: newObj} + newLibObj.setDefault() + obj.choiceObjectSlice = append(obj.choiceObjectSlice, newLibObj) + return newLibObj +} + +func (obj *prefixConfigChoiceObjectIter) Append(items ...ChoiceObject) PrefixConfigChoiceObjectIter { + for _, item := range items { + newObj := item.Msg() + *obj.fieldPtr = append(*obj.fieldPtr, newObj) + obj.choiceObjectSlice = append(obj.choiceObjectSlice, item) + } + return obj +} + +func (obj *prefixConfigChoiceObjectIter) Set(index int, newObj ChoiceObject) PrefixConfigChoiceObjectIter { + (*obj.fieldPtr)[index] = newObj.Msg() + obj.choiceObjectSlice[index] = newObj + return obj +} +func (obj *prefixConfigChoiceObjectIter) Clear() PrefixConfigChoiceObjectIter { + if len(*obj.fieldPtr) > 0 { + *obj.fieldPtr = []*openapi.ChoiceObject{} + obj.choiceObjectSlice = []ChoiceObject{} + } + return obj +} +func (obj *prefixConfigChoiceObjectIter) clearHolderSlice() PrefixConfigChoiceObjectIter { + if len(obj.choiceObjectSlice) > 0 { + obj.choiceObjectSlice = []ChoiceObject{} + } + return obj +} +func (obj *prefixConfigChoiceObjectIter) appendHolderSlice(item ChoiceObject) PrefixConfigChoiceObjectIter { + obj.choiceObjectSlice = append(obj.choiceObjectSlice, item) + return obj +} + +// description is TBD +// RequiredChoiceObject returns a RequiredChoiceParent +func (obj *prefixConfig) RequiredChoiceObject() RequiredChoiceParent { + if obj.obj.RequiredChoiceObject == nil { + obj.obj.RequiredChoiceObject = NewRequiredChoiceParent().Msg() + } + if obj.requiredChoiceObjectHolder == nil { + obj.requiredChoiceObjectHolder = &requiredChoiceParent{obj: obj.obj.RequiredChoiceObject} + } + return obj.requiredChoiceObjectHolder +} + +// description is TBD +// RequiredChoiceObject returns a RequiredChoiceParent +func (obj *prefixConfig) HasRequiredChoiceObject() bool { + return obj.obj.RequiredChoiceObject != nil +} + +// description is TBD +// SetRequiredChoiceObject sets the RequiredChoiceParent value in the PrefixConfig object +func (obj *prefixConfig) SetRequiredChoiceObject(value RequiredChoiceParent) PrefixConfig { + + obj.requiredChoiceObjectHolder = nil + obj.obj.RequiredChoiceObject = value.Msg() + + return obj +} + +// A list of objects with choice and properties +// G1 returns a []GObject +func (obj *prefixConfig) G1() PrefixConfigGObjectIter { + if len(obj.obj.G1) == 0 { + obj.obj.G1 = []*openapi.GObject{} + } + if obj.g1Holder == nil { + obj.g1Holder = newPrefixConfigGObjectIter(&obj.obj.G1).setMsg(obj) + } + return obj.g1Holder +} + +// A list of objects with choice and properties +// G2 returns a []GObject +func (obj *prefixConfig) G2() PrefixConfigGObjectIter { + if len(obj.obj.G2) == 0 { + obj.obj.G2 = []*openapi.GObject{} + } + if obj.g2Holder == nil { + obj.g2Holder = newPrefixConfigGObjectIter(&obj.obj.G2).setMsg(obj) + } + return obj.g2Holder +} + +// int32 type +// Int32Param returns a int32 +func (obj *prefixConfig) Int32Param() int32 { + + return *obj.obj.Int32Param + +} + +// int32 type +// Int32Param returns a int32 +func (obj *prefixConfig) HasInt32Param() bool { + return obj.obj.Int32Param != nil +} + +// int32 type +// SetInt32Param sets the int32 value in the PrefixConfig object +func (obj *prefixConfig) SetInt32Param(value int32) PrefixConfig { + + obj.obj.Int32Param = &value + return obj +} + +// int32 type list +// Int32ListParam returns a []int32 +func (obj *prefixConfig) Int32ListParam() []int32 { + if obj.obj.Int32ListParam == nil { + obj.obj.Int32ListParam = make([]int32, 0) + } + return obj.obj.Int32ListParam +} + +// int32 type list +// SetInt32ListParam sets the []int32 value in the PrefixConfig object +func (obj *prefixConfig) SetInt32ListParam(value []int32) PrefixConfig { + + if obj.obj.Int32ListParam == nil { + obj.obj.Int32ListParam = make([]int32, 0) + } + obj.obj.Int32ListParam = value + + return obj +} + +// uint32 type +// Uint32Param returns a uint32 +func (obj *prefixConfig) Uint32Param() uint32 { + + return *obj.obj.Uint32Param + +} + +// uint32 type +// Uint32Param returns a uint32 +func (obj *prefixConfig) HasUint32Param() bool { + return obj.obj.Uint32Param != nil +} + +// uint32 type +// SetUint32Param sets the uint32 value in the PrefixConfig object +func (obj *prefixConfig) SetUint32Param(value uint32) PrefixConfig { + + obj.obj.Uint32Param = &value + return obj +} + +// uint32 type list +// Uint32ListParam returns a []uint32 +func (obj *prefixConfig) Uint32ListParam() []uint32 { + if obj.obj.Uint32ListParam == nil { + obj.obj.Uint32ListParam = make([]uint32, 0) + } + return obj.obj.Uint32ListParam +} + +// uint32 type list +// SetUint32ListParam sets the []uint32 value in the PrefixConfig object +func (obj *prefixConfig) SetUint32ListParam(value []uint32) PrefixConfig { + + if obj.obj.Uint32ListParam == nil { + obj.obj.Uint32ListParam = make([]uint32, 0) + } + obj.obj.Uint32ListParam = value + + return obj +} + +// uint64 type +// Uint64Param returns a uint64 +func (obj *prefixConfig) Uint64Param() uint64 { + + return *obj.obj.Uint64Param + +} + +// uint64 type +// Uint64Param returns a uint64 +func (obj *prefixConfig) HasUint64Param() bool { + return obj.obj.Uint64Param != nil +} + +// uint64 type +// SetUint64Param sets the uint64 value in the PrefixConfig object +func (obj *prefixConfig) SetUint64Param(value uint64) PrefixConfig { + + obj.obj.Uint64Param = &value + return obj +} + +// uint64 type list +// Uint64ListParam returns a []uint64 +func (obj *prefixConfig) Uint64ListParam() []uint64 { + if obj.obj.Uint64ListParam == nil { + obj.obj.Uint64ListParam = make([]uint64, 0) + } + return obj.obj.Uint64ListParam +} + +// uint64 type list +// SetUint64ListParam sets the []uint64 value in the PrefixConfig object +func (obj *prefixConfig) SetUint64ListParam(value []uint64) PrefixConfig { + + if obj.obj.Uint64ListParam == nil { + obj.obj.Uint64ListParam = make([]uint64, 0) + } + obj.obj.Uint64ListParam = value + + return obj +} + +// should automatically set type to int32 +// AutoInt32Param returns a int32 +func (obj *prefixConfig) AutoInt32Param() int32 { + + return *obj.obj.AutoInt32Param + +} + +// should automatically set type to int32 +// AutoInt32Param returns a int32 +func (obj *prefixConfig) HasAutoInt32Param() bool { + return obj.obj.AutoInt32Param != nil +} + +// should automatically set type to int32 +// SetAutoInt32Param sets the int32 value in the PrefixConfig object +func (obj *prefixConfig) SetAutoInt32Param(value int32) PrefixConfig { + + obj.obj.AutoInt32Param = &value + return obj +} + +// should automatically set type to []int32 +// AutoInt32ListParam returns a []int32 +func (obj *prefixConfig) AutoInt32ListParam() []int32 { + if obj.obj.AutoInt32ListParam == nil { + obj.obj.AutoInt32ListParam = make([]int32, 0) + } + return obj.obj.AutoInt32ListParam +} + +// should automatically set type to []int32 +// SetAutoInt32ListParam sets the []int32 value in the PrefixConfig object +func (obj *prefixConfig) SetAutoInt32ListParam(value []int32) PrefixConfig { + + if obj.obj.AutoInt32ListParam == nil { + obj.obj.AutoInt32ListParam = make([]int32, 0) + } + obj.obj.AutoInt32ListParam = value + + return obj +} + +func (obj *prefixConfig) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + // RequiredObject is required + if obj.obj.RequiredObject == nil { + vObj.validationErrors = append(vObj.validationErrors, "RequiredObject is required field on interface PrefixConfig") + } + + if obj.obj.RequiredObject != nil { + + obj.RequiredObject().validateObj(vObj, set_default) + } + + if obj.obj.OptionalObject != nil { + + obj.OptionalObject().validateObj(vObj, set_default) + } + + // Space_1 is deprecated + if obj.obj.Space_1 != nil { + obj.addWarnings("Space_1 property in schema PrefixConfig is deprecated, Information TBD") + } + + if obj.obj.FullDuplex_100Mb != nil { + + if *obj.obj.FullDuplex_100Mb < -10 || *obj.obj.FullDuplex_100Mb > 4261412864 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("-10 <= PrefixConfig.FullDuplex_100Mb <= 4261412864 but Got %d", *obj.obj.FullDuplex_100Mb)) + } + + } + + if obj.obj.Response.Number() == 3 { + obj.addWarnings("STATUS_404 enum in property Response is deprecated, new code will be coming soon") + } + + if obj.obj.Response.Number() == 4 { + obj.addWarnings("STATUS_500 enum in property Response is under review, 500 can change to other values") + } + + // A is required + if obj.obj.A == "" { + vObj.validationErrors = append(vObj.validationErrors, "A is required field on interface PrefixConfig") + } + + // A is under_review + if obj.obj.A != "" { + obj.addWarnings("A property in schema PrefixConfig is under review, Information TBD") + } + + // DValues is deprecated + if obj.obj.DValues != nil { + obj.addWarnings("DValues property in schema PrefixConfig is deprecated, Information TBD") + } + + if obj.obj.E != nil { + obj.addWarnings("E property in schema PrefixConfig is deprecated, Information TBD") + obj.E().validateObj(vObj, set_default) + } + + if obj.obj.F != nil { + + obj.F().validateObj(vObj, set_default) + } + + if len(obj.obj.G) != 0 { + + if set_default { + obj.G().clearHolderSlice() + for _, item := range obj.obj.G { + obj.G().appendHolderSlice(&gObject{obj: item}) + } + } + for _, item := range obj.G().Items() { + item.validateObj(vObj, set_default) + } + + } + + if len(obj.obj.J) != 0 { + + if set_default { + obj.J().clearHolderSlice() + for _, item := range obj.obj.J { + obj.J().appendHolderSlice(&jObject{obj: item}) + } + } + for _, item := range obj.J().Items() { + item.validateObj(vObj, set_default) + } + + } + + if obj.obj.K != nil { + + obj.K().validateObj(vObj, set_default) + } + + if obj.obj.L != nil { + + obj.L().validateObj(vObj, set_default) + } + + if obj.obj.Level != nil { + + obj.Level().validateObj(vObj, set_default) + } + + if obj.obj.Mandatory != nil { + + obj.Mandatory().validateObj(vObj, set_default) + } + + if obj.obj.Ipv4Pattern != nil { + + obj.Ipv4Pattern().validateObj(vObj, set_default) + } + + if obj.obj.Ipv6Pattern != nil { + + obj.Ipv6Pattern().validateObj(vObj, set_default) + } + + if obj.obj.MacPattern != nil { + + obj.MacPattern().validateObj(vObj, set_default) + } + + if obj.obj.IntegerPattern != nil { + + obj.IntegerPattern().validateObj(vObj, set_default) + } + + if obj.obj.ChecksumPattern != nil { + + obj.ChecksumPattern().validateObj(vObj, set_default) + } + + if obj.obj.Case != nil { + + obj.Case().validateObj(vObj, set_default) + } + + if obj.obj.MObject != nil { + + obj.MObject().validateObj(vObj, set_default) + } + + if obj.obj.Integer64List != nil { + + for _, item := range obj.obj.Integer64List { + if item < -12 || item > 4261412864 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("-12 <= PrefixConfig.Integer64List <= 4261412864 but Got %d", item)) + } + + } + + } + + if obj.obj.HeaderChecksum != nil { + + obj.HeaderChecksum().validateObj(vObj, set_default) + } + + if obj.obj.StrLen != nil { + obj.addWarnings("StrLen property in schema PrefixConfig is under review, Information TBD") + if len(*obj.obj.StrLen) < 3 || len(*obj.obj.StrLen) > 6 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf( + "3 <= length of PrefixConfig.StrLen <= 6 but Got %d", + len(*obj.obj.StrLen))) + } + + } + + if obj.obj.HexSlice != nil { + obj.addWarnings("HexSlice property in schema PrefixConfig is under review, Information TBD") + + err := obj.validateHexSlice(obj.HexSlice()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PrefixConfig.HexSlice")) + } + + } + + if obj.obj.AutoFieldTest != nil { + + obj.AutoFieldTest().validateObj(vObj, set_default) + } + + if len(obj.obj.WList) != 0 { + + if set_default { + obj.WList().clearHolderSlice() + for _, item := range obj.obj.WList { + obj.WList().appendHolderSlice(&wObject{obj: item}) + } + } + for _, item := range obj.WList().Items() { + item.validateObj(vObj, set_default) + } + + } + + if len(obj.obj.XList) != 0 { + + if set_default { + obj.XList().clearHolderSlice() + for _, item := range obj.obj.XList { + obj.XList().appendHolderSlice(&zObject{obj: item}) + } + } + for _, item := range obj.XList().Items() { + item.validateObj(vObj, set_default) + } + + } + + if obj.obj.ZObject != nil { + + obj.ZObject().validateObj(vObj, set_default) + } + + if obj.obj.YObject != nil { + + obj.YObject().validateObj(vObj, set_default) + } + + if len(obj.obj.ChoiceObject) != 0 { + + if set_default { + obj.ChoiceObject().clearHolderSlice() + for _, item := range obj.obj.ChoiceObject { + obj.ChoiceObject().appendHolderSlice(&choiceObject{obj: item}) + } + } + for _, item := range obj.ChoiceObject().Items() { + item.validateObj(vObj, set_default) + } + + } + + if obj.obj.RequiredChoiceObject != nil { + + obj.RequiredChoiceObject().validateObj(vObj, set_default) + } + + if len(obj.obj.G1) != 0 { + + if set_default { + obj.G1().clearHolderSlice() + for _, item := range obj.obj.G1 { + obj.G1().appendHolderSlice(&gObject{obj: item}) + } + } + for _, item := range obj.G1().Items() { + item.validateObj(vObj, set_default) + } + + } + + if len(obj.obj.G2) != 0 { + + if set_default { + obj.G2().clearHolderSlice() + for _, item := range obj.obj.G2 { + obj.G2().appendHolderSlice(&gObject{obj: item}) + } + } + for _, item := range obj.G2().Items() { + item.validateObj(vObj, set_default) + } + + } + + if obj.obj.Int32ListParam != nil { + + for _, item := range obj.obj.Int32ListParam { + if item < -23456 || item > 23456 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("-23456 <= PrefixConfig.Int32ListParam <= 23456 but Got %d", item)) + } + + } + + } + + if obj.obj.Uint32ListParam != nil { + + for _, item := range obj.obj.Uint32ListParam { + if item > 4294967293 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("0 <= PrefixConfig.Uint32ListParam <= 4294967293 but Got %d", item)) + } + + } + + } + + if obj.obj.AutoInt32Param != nil { + + if *obj.obj.AutoInt32Param < 64 || *obj.obj.AutoInt32Param > 9000 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("64 <= PrefixConfig.AutoInt32Param <= 9000 but Got %d", *obj.obj.AutoInt32Param)) + } + + } + + if obj.obj.AutoInt32ListParam != nil { + + for _, item := range obj.obj.AutoInt32ListParam { + if item < 64 || item > 9000 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("64 <= PrefixConfig.AutoInt32ListParam <= 9000 but Got %d", item)) + } + + } + + } + +} + +func (obj *prefixConfig) setDefault() { + if obj.obj.Response == nil { + obj.SetResponse(PrefixConfigResponse.STATUS_200) + + } + if obj.obj.H == nil { + obj.SetH(true) + } + +} + +// ***** UpdateConfig ***** +type updateConfig struct { + validation + obj *openapi.UpdateConfig + gHolder UpdateConfigGObjectIter +} + +func NewUpdateConfig() UpdateConfig { + obj := updateConfig{obj: &openapi.UpdateConfig{}} + obj.setDefault() + return &obj +} + +func (obj *updateConfig) Msg() *openapi.UpdateConfig { + return obj.obj +} + +func (obj *updateConfig) SetMsg(msg *openapi.UpdateConfig) UpdateConfig { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *updateConfig) ToProto() (*openapi.UpdateConfig, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *updateConfig) FromProto(msg *openapi.UpdateConfig) (UpdateConfig, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *updateConfig) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *updateConfig) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *updateConfig) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *updateConfig) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *updateConfig) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *updateConfig) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *updateConfig) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *updateConfig) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *updateConfig) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *updateConfig) Clone() (UpdateConfig, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewUpdateConfig() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *updateConfig) setNil() { + obj.gHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// UpdateConfig is under Review: the whole schema is being reviewed +// +// Object to Test required Parameter +type UpdateConfig interface { + Validation + // Msg marshals UpdateConfig to protobuf object *openapi.UpdateConfig + // and doesn't set defaults + Msg() *openapi.UpdateConfig + // SetMsg unmarshals UpdateConfig from protobuf object *openapi.UpdateConfig + // and doesn't set defaults + SetMsg(*openapi.UpdateConfig) UpdateConfig + // ToProto marshals UpdateConfig to protobuf object *openapi.UpdateConfig + ToProto() (*openapi.UpdateConfig, error) + // ToPbText marshals UpdateConfig to protobuf text + ToPbText() (string, error) + // ToYaml marshals UpdateConfig to YAML text + ToYaml() (string, error) + // ToJson marshals UpdateConfig to JSON text + ToJson() (string, error) + // FromProto unmarshals UpdateConfig from protobuf object *openapi.UpdateConfig + FromProto(msg *openapi.UpdateConfig) (UpdateConfig, error) + // FromPbText unmarshals UpdateConfig from protobuf text + FromPbText(value string) error + // FromYaml unmarshals UpdateConfig from YAML text + FromYaml(value string) error + // FromJson unmarshals UpdateConfig from JSON text + FromJson(value string) error + // Validate validates UpdateConfig + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (UpdateConfig, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // G returns UpdateConfigGObjectIterIter, set in UpdateConfig + G() UpdateConfigGObjectIter + setNil() +} + +// A list of objects with choice and properties +// G returns a []GObject +func (obj *updateConfig) G() UpdateConfigGObjectIter { + if len(obj.obj.G) == 0 { + obj.obj.G = []*openapi.GObject{} + } + if obj.gHolder == nil { + obj.gHolder = newUpdateConfigGObjectIter(&obj.obj.G).setMsg(obj) + } + return obj.gHolder +} + +type updateConfigGObjectIter struct { + obj *updateConfig + gObjectSlice []GObject + fieldPtr *[]*openapi.GObject +} + +func newUpdateConfigGObjectIter(ptr *[]*openapi.GObject) UpdateConfigGObjectIter { + return &updateConfigGObjectIter{fieldPtr: ptr} +} + +type UpdateConfigGObjectIter interface { + setMsg(*updateConfig) UpdateConfigGObjectIter + Items() []GObject + Add() GObject + Append(items ...GObject) UpdateConfigGObjectIter + Set(index int, newObj GObject) UpdateConfigGObjectIter + Clear() UpdateConfigGObjectIter + clearHolderSlice() UpdateConfigGObjectIter + appendHolderSlice(item GObject) UpdateConfigGObjectIter +} + +func (obj *updateConfigGObjectIter) setMsg(msg *updateConfig) UpdateConfigGObjectIter { + obj.clearHolderSlice() + for _, val := range *obj.fieldPtr { + obj.appendHolderSlice(&gObject{obj: val}) + } + obj.obj = msg + return obj +} + +func (obj *updateConfigGObjectIter) Items() []GObject { + return obj.gObjectSlice +} + +func (obj *updateConfigGObjectIter) Add() GObject { + newObj := &openapi.GObject{} + *obj.fieldPtr = append(*obj.fieldPtr, newObj) + newLibObj := &gObject{obj: newObj} + newLibObj.setDefault() + obj.gObjectSlice = append(obj.gObjectSlice, newLibObj) + return newLibObj +} + +func (obj *updateConfigGObjectIter) Append(items ...GObject) UpdateConfigGObjectIter { + for _, item := range items { + newObj := item.Msg() + *obj.fieldPtr = append(*obj.fieldPtr, newObj) + obj.gObjectSlice = append(obj.gObjectSlice, item) + } + return obj +} + +func (obj *updateConfigGObjectIter) Set(index int, newObj GObject) UpdateConfigGObjectIter { + (*obj.fieldPtr)[index] = newObj.Msg() + obj.gObjectSlice[index] = newObj + return obj +} +func (obj *updateConfigGObjectIter) Clear() UpdateConfigGObjectIter { + if len(*obj.fieldPtr) > 0 { + *obj.fieldPtr = []*openapi.GObject{} + obj.gObjectSlice = []GObject{} + } + return obj +} +func (obj *updateConfigGObjectIter) clearHolderSlice() UpdateConfigGObjectIter { + if len(obj.gObjectSlice) > 0 { + obj.gObjectSlice = []GObject{} + } + return obj +} +func (obj *updateConfigGObjectIter) appendHolderSlice(item GObject) UpdateConfigGObjectIter { + obj.gObjectSlice = append(obj.gObjectSlice, item) + return obj +} + +func (obj *updateConfig) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + obj.addWarnings("UpdateConfig is under review, the whole schema is being reviewed") + + if len(obj.obj.G) != 0 { + + if set_default { + obj.G().clearHolderSlice() + for _, item := range obj.obj.G { + obj.G().appendHolderSlice(&gObject{obj: item}) + } + } + for _, item := range obj.G().Items() { + item.validateObj(vObj, set_default) + } + + } + +} + +func (obj *updateConfig) setDefault() { + +} + +// ***** MetricsRequest ***** +type metricsRequest struct { + validation + obj *openapi.MetricsRequest +} + +func NewMetricsRequest() MetricsRequest { + obj := metricsRequest{obj: &openapi.MetricsRequest{}} + obj.setDefault() + return &obj +} + +func (obj *metricsRequest) Msg() *openapi.MetricsRequest { + return obj.obj +} + +func (obj *metricsRequest) SetMsg(msg *openapi.MetricsRequest) MetricsRequest { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *metricsRequest) ToProto() (*openapi.MetricsRequest, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *metricsRequest) FromProto(msg *openapi.MetricsRequest) (MetricsRequest, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *metricsRequest) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *metricsRequest) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *metricsRequest) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *metricsRequest) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *metricsRequest) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *metricsRequest) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *metricsRequest) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *metricsRequest) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *metricsRequest) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *metricsRequest) Clone() (MetricsRequest, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewMetricsRequest() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// MetricsRequest is description is TBD +type MetricsRequest interface { + Validation + // Msg marshals MetricsRequest to protobuf object *openapi.MetricsRequest + // and doesn't set defaults + Msg() *openapi.MetricsRequest + // SetMsg unmarshals MetricsRequest from protobuf object *openapi.MetricsRequest + // and doesn't set defaults + SetMsg(*openapi.MetricsRequest) MetricsRequest + // ToProto marshals MetricsRequest to protobuf object *openapi.MetricsRequest + ToProto() (*openapi.MetricsRequest, error) + // ToPbText marshals MetricsRequest to protobuf text + ToPbText() (string, error) + // ToYaml marshals MetricsRequest to YAML text + ToYaml() (string, error) + // ToJson marshals MetricsRequest to JSON text + ToJson() (string, error) + // FromProto unmarshals MetricsRequest from protobuf object *openapi.MetricsRequest + FromProto(msg *openapi.MetricsRequest) (MetricsRequest, error) + // FromPbText unmarshals MetricsRequest from protobuf text + FromPbText(value string) error + // FromYaml unmarshals MetricsRequest from YAML text + FromYaml(value string) error + // FromJson unmarshals MetricsRequest from JSON text + FromJson(value string) error + // Validate validates MetricsRequest + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (MetricsRequest, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Choice returns MetricsRequestChoiceEnum, set in MetricsRequest + Choice() MetricsRequestChoiceEnum + // SetChoice assigns MetricsRequestChoiceEnum provided by user to MetricsRequest + SetChoice(value MetricsRequestChoiceEnum) MetricsRequest + // HasChoice checks if Choice has been set in MetricsRequest + HasChoice() bool + // Port returns string, set in MetricsRequest. + Port() string + // SetPort assigns string provided by user to MetricsRequest + SetPort(value string) MetricsRequest + // HasPort checks if Port has been set in MetricsRequest + HasPort() bool + // Flow returns string, set in MetricsRequest. + Flow() string + // SetFlow assigns string provided by user to MetricsRequest + SetFlow(value string) MetricsRequest + // HasFlow checks if Flow has been set in MetricsRequest + HasFlow() bool +} + +type MetricsRequestChoiceEnum string + +// Enum of Choice on MetricsRequest +var MetricsRequestChoice = struct { + PORT MetricsRequestChoiceEnum + FLOW MetricsRequestChoiceEnum +}{ + PORT: MetricsRequestChoiceEnum("port"), + FLOW: MetricsRequestChoiceEnum("flow"), +} + +func (obj *metricsRequest) Choice() MetricsRequestChoiceEnum { + return MetricsRequestChoiceEnum(obj.obj.Choice.Enum().String()) +} + +// description is TBD +// Choice returns a string +func (obj *metricsRequest) HasChoice() bool { + return obj.obj.Choice != nil +} + +func (obj *metricsRequest) SetChoice(value MetricsRequestChoiceEnum) MetricsRequest { + intValue, ok := openapi.MetricsRequest_Choice_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on MetricsRequestChoiceEnum", string(value))) + return obj + } + enumValue := openapi.MetricsRequest_Choice_Enum(intValue) + obj.obj.Choice = &enumValue + obj.obj.Flow = nil + obj.obj.Port = nil + return obj +} + +// description is TBD +// Port returns a string +func (obj *metricsRequest) Port() string { + + if obj.obj.Port == nil { + obj.SetChoice(MetricsRequestChoice.PORT) + } + + return *obj.obj.Port + +} + +// description is TBD +// Port returns a string +func (obj *metricsRequest) HasPort() bool { + return obj.obj.Port != nil +} + +// description is TBD +// SetPort sets the string value in the MetricsRequest object +func (obj *metricsRequest) SetPort(value string) MetricsRequest { + obj.SetChoice(MetricsRequestChoice.PORT) + obj.obj.Port = &value + return obj +} + +// description is TBD +// Flow returns a string +func (obj *metricsRequest) Flow() string { + + if obj.obj.Flow == nil { + obj.SetChoice(MetricsRequestChoice.FLOW) + } + + return *obj.obj.Flow + +} + +// description is TBD +// Flow returns a string +func (obj *metricsRequest) HasFlow() bool { + return obj.obj.Flow != nil +} + +// description is TBD +// SetFlow sets the string value in the MetricsRequest object +func (obj *metricsRequest) SetFlow(value string) MetricsRequest { + obj.SetChoice(MetricsRequestChoice.FLOW) + obj.obj.Flow = &value + return obj +} + +func (obj *metricsRequest) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + +} + +func (obj *metricsRequest) setDefault() { + if obj.obj.Choice == nil { + obj.SetChoice(MetricsRequestChoice.PORT) + + } + +} + +// ***** ApiTestInputBody ***** +type apiTestInputBody struct { + validation + obj *openapi.ApiTestInputBody +} + +func NewApiTestInputBody() ApiTestInputBody { + obj := apiTestInputBody{obj: &openapi.ApiTestInputBody{}} + obj.setDefault() + return &obj +} + +func (obj *apiTestInputBody) Msg() *openapi.ApiTestInputBody { + return obj.obj +} + +func (obj *apiTestInputBody) SetMsg(msg *openapi.ApiTestInputBody) ApiTestInputBody { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *apiTestInputBody) ToProto() (*openapi.ApiTestInputBody, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *apiTestInputBody) FromProto(msg *openapi.ApiTestInputBody) (ApiTestInputBody, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *apiTestInputBody) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *apiTestInputBody) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *apiTestInputBody) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *apiTestInputBody) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *apiTestInputBody) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *apiTestInputBody) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *apiTestInputBody) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *apiTestInputBody) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *apiTestInputBody) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *apiTestInputBody) Clone() (ApiTestInputBody, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewApiTestInputBody() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// ApiTestInputBody is description is TBD +type ApiTestInputBody interface { + Validation + // Msg marshals ApiTestInputBody to protobuf object *openapi.ApiTestInputBody + // and doesn't set defaults + Msg() *openapi.ApiTestInputBody + // SetMsg unmarshals ApiTestInputBody from protobuf object *openapi.ApiTestInputBody + // and doesn't set defaults + SetMsg(*openapi.ApiTestInputBody) ApiTestInputBody + // ToProto marshals ApiTestInputBody to protobuf object *openapi.ApiTestInputBody + ToProto() (*openapi.ApiTestInputBody, error) + // ToPbText marshals ApiTestInputBody to protobuf text + ToPbText() (string, error) + // ToYaml marshals ApiTestInputBody to YAML text + ToYaml() (string, error) + // ToJson marshals ApiTestInputBody to JSON text + ToJson() (string, error) + // FromProto unmarshals ApiTestInputBody from protobuf object *openapi.ApiTestInputBody + FromProto(msg *openapi.ApiTestInputBody) (ApiTestInputBody, error) + // FromPbText unmarshals ApiTestInputBody from protobuf text + FromPbText(value string) error + // FromYaml unmarshals ApiTestInputBody from YAML text + FromYaml(value string) error + // FromJson unmarshals ApiTestInputBody from JSON text + FromJson(value string) error + // Validate validates ApiTestInputBody + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (ApiTestInputBody, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // SomeString returns string, set in ApiTestInputBody. + SomeString() string + // SetSomeString assigns string provided by user to ApiTestInputBody + SetSomeString(value string) ApiTestInputBody + // HasSomeString checks if SomeString has been set in ApiTestInputBody + HasSomeString() bool +} + +// description is TBD +// SomeString returns a string +func (obj *apiTestInputBody) SomeString() string { + + return *obj.obj.SomeString + +} + +// description is TBD +// SomeString returns a string +func (obj *apiTestInputBody) HasSomeString() bool { + return obj.obj.SomeString != nil +} + +// description is TBD +// SetSomeString sets the string value in the ApiTestInputBody object +func (obj *apiTestInputBody) SetSomeString(value string) ApiTestInputBody { + + obj.obj.SomeString = &value + return obj +} + +func (obj *apiTestInputBody) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + +} + +func (obj *apiTestInputBody) setDefault() { + +} + +// ***** SetConfigResponse ***** +type setConfigResponse struct { + validation + obj *openapi.SetConfigResponse +} + +func NewSetConfigResponse() SetConfigResponse { + obj := setConfigResponse{obj: &openapi.SetConfigResponse{}} + obj.setDefault() + return &obj +} + +func (obj *setConfigResponse) Msg() *openapi.SetConfigResponse { + return obj.obj +} + +func (obj *setConfigResponse) SetMsg(msg *openapi.SetConfigResponse) SetConfigResponse { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *setConfigResponse) ToProto() (*openapi.SetConfigResponse, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *setConfigResponse) FromProto(msg *openapi.SetConfigResponse) (SetConfigResponse, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *setConfigResponse) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *setConfigResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *setConfigResponse) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *setConfigResponse) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *setConfigResponse) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *setConfigResponse) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *setConfigResponse) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *setConfigResponse) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *setConfigResponse) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *setConfigResponse) Clone() (SetConfigResponse, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewSetConfigResponse() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// SetConfigResponse is description is TBD +type SetConfigResponse interface { + Validation + // Msg marshals SetConfigResponse to protobuf object *openapi.SetConfigResponse + // and doesn't set defaults + Msg() *openapi.SetConfigResponse + // SetMsg unmarshals SetConfigResponse from protobuf object *openapi.SetConfigResponse + // and doesn't set defaults + SetMsg(*openapi.SetConfigResponse) SetConfigResponse + // ToProto marshals SetConfigResponse to protobuf object *openapi.SetConfigResponse + ToProto() (*openapi.SetConfigResponse, error) + // ToPbText marshals SetConfigResponse to protobuf text + ToPbText() (string, error) + // ToYaml marshals SetConfigResponse to YAML text + ToYaml() (string, error) + // ToJson marshals SetConfigResponse to JSON text + ToJson() (string, error) + // FromProto unmarshals SetConfigResponse from protobuf object *openapi.SetConfigResponse + FromProto(msg *openapi.SetConfigResponse) (SetConfigResponse, error) + // FromPbText unmarshals SetConfigResponse from protobuf text + FromPbText(value string) error + // FromYaml unmarshals SetConfigResponse from YAML text + FromYaml(value string) error + // FromJson unmarshals SetConfigResponse from JSON text + FromJson(value string) error + // Validate validates SetConfigResponse + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (SetConfigResponse, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // ResponseBytes returns []byte, set in SetConfigResponse. + ResponseBytes() []byte + // SetResponseBytes assigns []byte provided by user to SetConfigResponse + SetResponseBytes(value []byte) SetConfigResponse + // HasResponseBytes checks if ResponseBytes has been set in SetConfigResponse + HasResponseBytes() bool +} + +// description is TBD +// ResponseBytes returns a []byte +func (obj *setConfigResponse) ResponseBytes() []byte { + + return obj.obj.ResponseBytes +} + +// description is TBD +// ResponseBytes returns a []byte +func (obj *setConfigResponse) HasResponseBytes() bool { + return obj.obj.ResponseBytes != nil +} + +// description is TBD +// SetResponseBytes sets the []byte value in the SetConfigResponse object +func (obj *setConfigResponse) SetResponseBytes(value []byte) SetConfigResponse { + + obj.obj.ResponseBytes = value + return obj +} + +func (obj *setConfigResponse) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + +} + +func (obj *setConfigResponse) setDefault() { + +} + +// ***** UpdateConfigurationResponse ***** +type updateConfigurationResponse struct { + validation + obj *openapi.UpdateConfigurationResponse + prefixConfigHolder PrefixConfig +} + +func NewUpdateConfigurationResponse() UpdateConfigurationResponse { + obj := updateConfigurationResponse{obj: &openapi.UpdateConfigurationResponse{}} + obj.setDefault() + return &obj +} + +func (obj *updateConfigurationResponse) Msg() *openapi.UpdateConfigurationResponse { + return obj.obj +} + +func (obj *updateConfigurationResponse) SetMsg(msg *openapi.UpdateConfigurationResponse) UpdateConfigurationResponse { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *updateConfigurationResponse) ToProto() (*openapi.UpdateConfigurationResponse, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *updateConfigurationResponse) FromProto(msg *openapi.UpdateConfigurationResponse) (UpdateConfigurationResponse, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *updateConfigurationResponse) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *updateConfigurationResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *updateConfigurationResponse) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *updateConfigurationResponse) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *updateConfigurationResponse) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *updateConfigurationResponse) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *updateConfigurationResponse) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *updateConfigurationResponse) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *updateConfigurationResponse) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *updateConfigurationResponse) Clone() (UpdateConfigurationResponse, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewUpdateConfigurationResponse() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *updateConfigurationResponse) setNil() { + obj.prefixConfigHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// UpdateConfigurationResponse is description is TBD +type UpdateConfigurationResponse interface { + Validation + // Msg marshals UpdateConfigurationResponse to protobuf object *openapi.UpdateConfigurationResponse + // and doesn't set defaults + Msg() *openapi.UpdateConfigurationResponse + // SetMsg unmarshals UpdateConfigurationResponse from protobuf object *openapi.UpdateConfigurationResponse + // and doesn't set defaults + SetMsg(*openapi.UpdateConfigurationResponse) UpdateConfigurationResponse + // ToProto marshals UpdateConfigurationResponse to protobuf object *openapi.UpdateConfigurationResponse + ToProto() (*openapi.UpdateConfigurationResponse, error) + // ToPbText marshals UpdateConfigurationResponse to protobuf text + ToPbText() (string, error) + // ToYaml marshals UpdateConfigurationResponse to YAML text + ToYaml() (string, error) + // ToJson marshals UpdateConfigurationResponse to JSON text + ToJson() (string, error) + // FromProto unmarshals UpdateConfigurationResponse from protobuf object *openapi.UpdateConfigurationResponse + FromProto(msg *openapi.UpdateConfigurationResponse) (UpdateConfigurationResponse, error) + // FromPbText unmarshals UpdateConfigurationResponse from protobuf text + FromPbText(value string) error + // FromYaml unmarshals UpdateConfigurationResponse from YAML text + FromYaml(value string) error + // FromJson unmarshals UpdateConfigurationResponse from JSON text + FromJson(value string) error + // Validate validates UpdateConfigurationResponse + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (UpdateConfigurationResponse, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // PrefixConfig returns PrefixConfig, set in UpdateConfigurationResponse. + // PrefixConfig is container which retains the configuration + PrefixConfig() PrefixConfig + // SetPrefixConfig assigns PrefixConfig provided by user to UpdateConfigurationResponse. + // PrefixConfig is container which retains the configuration + SetPrefixConfig(value PrefixConfig) UpdateConfigurationResponse + // HasPrefixConfig checks if PrefixConfig has been set in UpdateConfigurationResponse + HasPrefixConfig() bool + setNil() +} + +// description is TBD +// PrefixConfig returns a PrefixConfig +func (obj *updateConfigurationResponse) PrefixConfig() PrefixConfig { + if obj.obj.PrefixConfig == nil { + obj.obj.PrefixConfig = NewPrefixConfig().Msg() + } + if obj.prefixConfigHolder == nil { + obj.prefixConfigHolder = &prefixConfig{obj: obj.obj.PrefixConfig} + } + return obj.prefixConfigHolder +} + +// description is TBD +// PrefixConfig returns a PrefixConfig +func (obj *updateConfigurationResponse) HasPrefixConfig() bool { + return obj.obj.PrefixConfig != nil +} + +// description is TBD +// SetPrefixConfig sets the PrefixConfig value in the UpdateConfigurationResponse object +func (obj *updateConfigurationResponse) SetPrefixConfig(value PrefixConfig) UpdateConfigurationResponse { + + obj.prefixConfigHolder = nil + obj.obj.PrefixConfig = value.Msg() + + return obj +} + +func (obj *updateConfigurationResponse) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.PrefixConfig != nil { + + obj.PrefixConfig().validateObj(vObj, set_default) + } + +} + +func (obj *updateConfigurationResponse) setDefault() { + +} + +// ***** GetConfigResponse ***** +type getConfigResponse struct { + validation + obj *openapi.GetConfigResponse + prefixConfigHolder PrefixConfig +} + +func NewGetConfigResponse() GetConfigResponse { + obj := getConfigResponse{obj: &openapi.GetConfigResponse{}} + obj.setDefault() + return &obj +} + +func (obj *getConfigResponse) Msg() *openapi.GetConfigResponse { + return obj.obj +} + +func (obj *getConfigResponse) SetMsg(msg *openapi.GetConfigResponse) GetConfigResponse { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *getConfigResponse) ToProto() (*openapi.GetConfigResponse, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *getConfigResponse) FromProto(msg *openapi.GetConfigResponse) (GetConfigResponse, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *getConfigResponse) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *getConfigResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *getConfigResponse) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *getConfigResponse) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *getConfigResponse) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *getConfigResponse) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *getConfigResponse) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *getConfigResponse) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *getConfigResponse) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *getConfigResponse) Clone() (GetConfigResponse, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewGetConfigResponse() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *getConfigResponse) setNil() { + obj.prefixConfigHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// GetConfigResponse is description is TBD +type GetConfigResponse interface { + Validation + // Msg marshals GetConfigResponse to protobuf object *openapi.GetConfigResponse + // and doesn't set defaults + Msg() *openapi.GetConfigResponse + // SetMsg unmarshals GetConfigResponse from protobuf object *openapi.GetConfigResponse + // and doesn't set defaults + SetMsg(*openapi.GetConfigResponse) GetConfigResponse + // ToProto marshals GetConfigResponse to protobuf object *openapi.GetConfigResponse + ToProto() (*openapi.GetConfigResponse, error) + // ToPbText marshals GetConfigResponse to protobuf text + ToPbText() (string, error) + // ToYaml marshals GetConfigResponse to YAML text + ToYaml() (string, error) + // ToJson marshals GetConfigResponse to JSON text + ToJson() (string, error) + // FromProto unmarshals GetConfigResponse from protobuf object *openapi.GetConfigResponse + FromProto(msg *openapi.GetConfigResponse) (GetConfigResponse, error) + // FromPbText unmarshals GetConfigResponse from protobuf text + FromPbText(value string) error + // FromYaml unmarshals GetConfigResponse from YAML text + FromYaml(value string) error + // FromJson unmarshals GetConfigResponse from JSON text + FromJson(value string) error + // Validate validates GetConfigResponse + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (GetConfigResponse, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // PrefixConfig returns PrefixConfig, set in GetConfigResponse. + // PrefixConfig is container which retains the configuration + PrefixConfig() PrefixConfig + // SetPrefixConfig assigns PrefixConfig provided by user to GetConfigResponse. + // PrefixConfig is container which retains the configuration + SetPrefixConfig(value PrefixConfig) GetConfigResponse + // HasPrefixConfig checks if PrefixConfig has been set in GetConfigResponse + HasPrefixConfig() bool + setNil() +} + +// description is TBD +// PrefixConfig returns a PrefixConfig +func (obj *getConfigResponse) PrefixConfig() PrefixConfig { + if obj.obj.PrefixConfig == nil { + obj.obj.PrefixConfig = NewPrefixConfig().Msg() + } + if obj.prefixConfigHolder == nil { + obj.prefixConfigHolder = &prefixConfig{obj: obj.obj.PrefixConfig} + } + return obj.prefixConfigHolder +} + +// description is TBD +// PrefixConfig returns a PrefixConfig +func (obj *getConfigResponse) HasPrefixConfig() bool { + return obj.obj.PrefixConfig != nil +} + +// description is TBD +// SetPrefixConfig sets the PrefixConfig value in the GetConfigResponse object +func (obj *getConfigResponse) SetPrefixConfig(value PrefixConfig) GetConfigResponse { + + obj.prefixConfigHolder = nil + obj.obj.PrefixConfig = value.Msg() + + return obj +} + +func (obj *getConfigResponse) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.PrefixConfig != nil { + + obj.PrefixConfig().validateObj(vObj, set_default) + } + +} + +func (obj *getConfigResponse) setDefault() { + +} + +// ***** GetMetricsResponse ***** +type getMetricsResponse struct { + validation + obj *openapi.GetMetricsResponse + metricsHolder Metrics +} + +func NewGetMetricsResponse() GetMetricsResponse { + obj := getMetricsResponse{obj: &openapi.GetMetricsResponse{}} + obj.setDefault() + return &obj +} + +func (obj *getMetricsResponse) Msg() *openapi.GetMetricsResponse { + return obj.obj +} + +func (obj *getMetricsResponse) SetMsg(msg *openapi.GetMetricsResponse) GetMetricsResponse { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *getMetricsResponse) ToProto() (*openapi.GetMetricsResponse, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *getMetricsResponse) FromProto(msg *openapi.GetMetricsResponse) (GetMetricsResponse, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *getMetricsResponse) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *getMetricsResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *getMetricsResponse) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *getMetricsResponse) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *getMetricsResponse) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *getMetricsResponse) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *getMetricsResponse) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *getMetricsResponse) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *getMetricsResponse) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *getMetricsResponse) Clone() (GetMetricsResponse, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewGetMetricsResponse() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *getMetricsResponse) setNil() { + obj.metricsHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// GetMetricsResponse is description is TBD +type GetMetricsResponse interface { + Validation + // Msg marshals GetMetricsResponse to protobuf object *openapi.GetMetricsResponse + // and doesn't set defaults + Msg() *openapi.GetMetricsResponse + // SetMsg unmarshals GetMetricsResponse from protobuf object *openapi.GetMetricsResponse + // and doesn't set defaults + SetMsg(*openapi.GetMetricsResponse) GetMetricsResponse + // ToProto marshals GetMetricsResponse to protobuf object *openapi.GetMetricsResponse + ToProto() (*openapi.GetMetricsResponse, error) + // ToPbText marshals GetMetricsResponse to protobuf text + ToPbText() (string, error) + // ToYaml marshals GetMetricsResponse to YAML text + ToYaml() (string, error) + // ToJson marshals GetMetricsResponse to JSON text + ToJson() (string, error) + // FromProto unmarshals GetMetricsResponse from protobuf object *openapi.GetMetricsResponse + FromProto(msg *openapi.GetMetricsResponse) (GetMetricsResponse, error) + // FromPbText unmarshals GetMetricsResponse from protobuf text + FromPbText(value string) error + // FromYaml unmarshals GetMetricsResponse from YAML text + FromYaml(value string) error + // FromJson unmarshals GetMetricsResponse from JSON text + FromJson(value string) error + // Validate validates GetMetricsResponse + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (GetMetricsResponse, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Metrics returns Metrics, set in GetMetricsResponse. + // Metrics is description is TBD + Metrics() Metrics + // SetMetrics assigns Metrics provided by user to GetMetricsResponse. + // Metrics is description is TBD + SetMetrics(value Metrics) GetMetricsResponse + // HasMetrics checks if Metrics has been set in GetMetricsResponse + HasMetrics() bool + setNil() +} + +// description is TBD +// Metrics returns a Metrics +func (obj *getMetricsResponse) Metrics() Metrics { + if obj.obj.Metrics == nil { + obj.obj.Metrics = NewMetrics().Msg() + } + if obj.metricsHolder == nil { + obj.metricsHolder = &metrics{obj: obj.obj.Metrics} + } + return obj.metricsHolder +} + +// description is TBD +// Metrics returns a Metrics +func (obj *getMetricsResponse) HasMetrics() bool { + return obj.obj.Metrics != nil +} + +// description is TBD +// SetMetrics sets the Metrics value in the GetMetricsResponse object +func (obj *getMetricsResponse) SetMetrics(value Metrics) GetMetricsResponse { + + obj.metricsHolder = nil + obj.obj.Metrics = value.Msg() + + return obj +} + +func (obj *getMetricsResponse) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Metrics != nil { + + obj.Metrics().validateObj(vObj, set_default) + } + +} + +func (obj *getMetricsResponse) setDefault() { + +} + +// ***** GetWarningsResponse ***** +type getWarningsResponse struct { + validation + obj *openapi.GetWarningsResponse + warningDetailsHolder WarningDetails +} + +func NewGetWarningsResponse() GetWarningsResponse { + obj := getWarningsResponse{obj: &openapi.GetWarningsResponse{}} + obj.setDefault() + return &obj +} + +func (obj *getWarningsResponse) Msg() *openapi.GetWarningsResponse { + return obj.obj +} + +func (obj *getWarningsResponse) SetMsg(msg *openapi.GetWarningsResponse) GetWarningsResponse { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *getWarningsResponse) ToProto() (*openapi.GetWarningsResponse, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *getWarningsResponse) FromProto(msg *openapi.GetWarningsResponse) (GetWarningsResponse, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *getWarningsResponse) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *getWarningsResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *getWarningsResponse) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *getWarningsResponse) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *getWarningsResponse) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *getWarningsResponse) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *getWarningsResponse) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *getWarningsResponse) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *getWarningsResponse) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *getWarningsResponse) Clone() (GetWarningsResponse, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewGetWarningsResponse() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *getWarningsResponse) setNil() { + obj.warningDetailsHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// GetWarningsResponse is description is TBD +type GetWarningsResponse interface { + Validation + // Msg marshals GetWarningsResponse to protobuf object *openapi.GetWarningsResponse + // and doesn't set defaults + Msg() *openapi.GetWarningsResponse + // SetMsg unmarshals GetWarningsResponse from protobuf object *openapi.GetWarningsResponse + // and doesn't set defaults + SetMsg(*openapi.GetWarningsResponse) GetWarningsResponse + // ToProto marshals GetWarningsResponse to protobuf object *openapi.GetWarningsResponse + ToProto() (*openapi.GetWarningsResponse, error) + // ToPbText marshals GetWarningsResponse to protobuf text + ToPbText() (string, error) + // ToYaml marshals GetWarningsResponse to YAML text + ToYaml() (string, error) + // ToJson marshals GetWarningsResponse to JSON text + ToJson() (string, error) + // FromProto unmarshals GetWarningsResponse from protobuf object *openapi.GetWarningsResponse + FromProto(msg *openapi.GetWarningsResponse) (GetWarningsResponse, error) + // FromPbText unmarshals GetWarningsResponse from protobuf text + FromPbText(value string) error + // FromYaml unmarshals GetWarningsResponse from YAML text + FromYaml(value string) error + // FromJson unmarshals GetWarningsResponse from JSON text + FromJson(value string) error + // Validate validates GetWarningsResponse + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (GetWarningsResponse, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // WarningDetails returns WarningDetails, set in GetWarningsResponse. + // WarningDetails is description is TBD + WarningDetails() WarningDetails + // SetWarningDetails assigns WarningDetails provided by user to GetWarningsResponse. + // WarningDetails is description is TBD + SetWarningDetails(value WarningDetails) GetWarningsResponse + // HasWarningDetails checks if WarningDetails has been set in GetWarningsResponse + HasWarningDetails() bool + setNil() +} + +// description is TBD +// WarningDetails returns a WarningDetails +func (obj *getWarningsResponse) WarningDetails() WarningDetails { + if obj.obj.WarningDetails == nil { + obj.obj.WarningDetails = NewWarningDetails().Msg() + } + if obj.warningDetailsHolder == nil { + obj.warningDetailsHolder = &warningDetails{obj: obj.obj.WarningDetails} + } + return obj.warningDetailsHolder +} + +// description is TBD +// WarningDetails returns a WarningDetails +func (obj *getWarningsResponse) HasWarningDetails() bool { + return obj.obj.WarningDetails != nil +} + +// description is TBD +// SetWarningDetails sets the WarningDetails value in the GetWarningsResponse object +func (obj *getWarningsResponse) SetWarningDetails(value WarningDetails) GetWarningsResponse { + + obj.warningDetailsHolder = nil + obj.obj.WarningDetails = value.Msg() + + return obj +} + +func (obj *getWarningsResponse) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.WarningDetails != nil { + + obj.WarningDetails().validateObj(vObj, set_default) + } + +} + +func (obj *getWarningsResponse) setDefault() { + +} + +// ***** ClearWarningsResponse ***** +type clearWarningsResponse struct { + validation + obj *openapi.ClearWarningsResponse +} + +func NewClearWarningsResponse() ClearWarningsResponse { + obj := clearWarningsResponse{obj: &openapi.ClearWarningsResponse{}} + obj.setDefault() + return &obj +} + +func (obj *clearWarningsResponse) Msg() *openapi.ClearWarningsResponse { + return obj.obj +} + +func (obj *clearWarningsResponse) SetMsg(msg *openapi.ClearWarningsResponse) ClearWarningsResponse { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *clearWarningsResponse) ToProto() (*openapi.ClearWarningsResponse, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *clearWarningsResponse) FromProto(msg *openapi.ClearWarningsResponse) (ClearWarningsResponse, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *clearWarningsResponse) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *clearWarningsResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *clearWarningsResponse) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *clearWarningsResponse) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *clearWarningsResponse) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *clearWarningsResponse) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *clearWarningsResponse) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *clearWarningsResponse) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *clearWarningsResponse) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *clearWarningsResponse) Clone() (ClearWarningsResponse, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewClearWarningsResponse() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// ClearWarningsResponse is description is TBD +type ClearWarningsResponse interface { + Validation + // Msg marshals ClearWarningsResponse to protobuf object *openapi.ClearWarningsResponse + // and doesn't set defaults + Msg() *openapi.ClearWarningsResponse + // SetMsg unmarshals ClearWarningsResponse from protobuf object *openapi.ClearWarningsResponse + // and doesn't set defaults + SetMsg(*openapi.ClearWarningsResponse) ClearWarningsResponse + // ToProto marshals ClearWarningsResponse to protobuf object *openapi.ClearWarningsResponse + ToProto() (*openapi.ClearWarningsResponse, error) + // ToPbText marshals ClearWarningsResponse to protobuf text + ToPbText() (string, error) + // ToYaml marshals ClearWarningsResponse to YAML text + ToYaml() (string, error) + // ToJson marshals ClearWarningsResponse to JSON text + ToJson() (string, error) + // FromProto unmarshals ClearWarningsResponse from protobuf object *openapi.ClearWarningsResponse + FromProto(msg *openapi.ClearWarningsResponse) (ClearWarningsResponse, error) + // FromPbText unmarshals ClearWarningsResponse from protobuf text + FromPbText(value string) error + // FromYaml unmarshals ClearWarningsResponse from YAML text + FromYaml(value string) error + // FromJson unmarshals ClearWarningsResponse from JSON text + FromJson(value string) error + // Validate validates ClearWarningsResponse + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (ClearWarningsResponse, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // ResponseString returns string, set in ClearWarningsResponse. + ResponseString() string + // SetResponseString assigns string provided by user to ClearWarningsResponse + SetResponseString(value string) ClearWarningsResponse + // HasResponseString checks if ResponseString has been set in ClearWarningsResponse + HasResponseString() bool +} + +// description is TBD +// ResponseString returns a string +func (obj *clearWarningsResponse) ResponseString() string { + return obj.obj.String_ +} + +// description is TBD +// ResponseString returns a string +func (obj *clearWarningsResponse) HasResponseString() bool { + return obj.obj.String_ != "" +} + +// description is TBD +// SetResponseString sets the string value in the ClearWarningsResponse object +func (obj *clearWarningsResponse) SetResponseString(value string) ClearWarningsResponse { + obj.obj.String_ = value + return obj +} + +func (obj *clearWarningsResponse) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + +} + +func (obj *clearWarningsResponse) setDefault() { + +} + +// ***** GetRootResponseResponse ***** +type getRootResponseResponse struct { + validation + obj *openapi.GetRootResponseResponse + commonResponseSuccessHolder CommonResponseSuccess +} + +func NewGetRootResponseResponse() GetRootResponseResponse { + obj := getRootResponseResponse{obj: &openapi.GetRootResponseResponse{}} + obj.setDefault() + return &obj +} + +func (obj *getRootResponseResponse) Msg() *openapi.GetRootResponseResponse { + return obj.obj +} + +func (obj *getRootResponseResponse) SetMsg(msg *openapi.GetRootResponseResponse) GetRootResponseResponse { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *getRootResponseResponse) ToProto() (*openapi.GetRootResponseResponse, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *getRootResponseResponse) FromProto(msg *openapi.GetRootResponseResponse) (GetRootResponseResponse, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *getRootResponseResponse) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *getRootResponseResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *getRootResponseResponse) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *getRootResponseResponse) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *getRootResponseResponse) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *getRootResponseResponse) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *getRootResponseResponse) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *getRootResponseResponse) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *getRootResponseResponse) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *getRootResponseResponse) Clone() (GetRootResponseResponse, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewGetRootResponseResponse() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *getRootResponseResponse) setNil() { + obj.commonResponseSuccessHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// GetRootResponseResponse is description is TBD +type GetRootResponseResponse interface { + Validation + // Msg marshals GetRootResponseResponse to protobuf object *openapi.GetRootResponseResponse + // and doesn't set defaults + Msg() *openapi.GetRootResponseResponse + // SetMsg unmarshals GetRootResponseResponse from protobuf object *openapi.GetRootResponseResponse + // and doesn't set defaults + SetMsg(*openapi.GetRootResponseResponse) GetRootResponseResponse + // ToProto marshals GetRootResponseResponse to protobuf object *openapi.GetRootResponseResponse + ToProto() (*openapi.GetRootResponseResponse, error) + // ToPbText marshals GetRootResponseResponse to protobuf text + ToPbText() (string, error) + // ToYaml marshals GetRootResponseResponse to YAML text + ToYaml() (string, error) + // ToJson marshals GetRootResponseResponse to JSON text + ToJson() (string, error) + // FromProto unmarshals GetRootResponseResponse from protobuf object *openapi.GetRootResponseResponse + FromProto(msg *openapi.GetRootResponseResponse) (GetRootResponseResponse, error) + // FromPbText unmarshals GetRootResponseResponse from protobuf text + FromPbText(value string) error + // FromYaml unmarshals GetRootResponseResponse from YAML text + FromYaml(value string) error + // FromJson unmarshals GetRootResponseResponse from JSON text + FromJson(value string) error + // Validate validates GetRootResponseResponse + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (GetRootResponseResponse, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // CommonResponseSuccess returns CommonResponseSuccess, set in GetRootResponseResponse. + // CommonResponseSuccess is description is TBD + CommonResponseSuccess() CommonResponseSuccess + // SetCommonResponseSuccess assigns CommonResponseSuccess provided by user to GetRootResponseResponse. + // CommonResponseSuccess is description is TBD + SetCommonResponseSuccess(value CommonResponseSuccess) GetRootResponseResponse + // HasCommonResponseSuccess checks if CommonResponseSuccess has been set in GetRootResponseResponse + HasCommonResponseSuccess() bool + setNil() +} + +// description is TBD +// CommonResponseSuccess returns a CommonResponseSuccess +func (obj *getRootResponseResponse) CommonResponseSuccess() CommonResponseSuccess { + if obj.obj.CommonResponseSuccess == nil { + obj.obj.CommonResponseSuccess = NewCommonResponseSuccess().Msg() + } + if obj.commonResponseSuccessHolder == nil { + obj.commonResponseSuccessHolder = &commonResponseSuccess{obj: obj.obj.CommonResponseSuccess} + } + return obj.commonResponseSuccessHolder +} + +// description is TBD +// CommonResponseSuccess returns a CommonResponseSuccess +func (obj *getRootResponseResponse) HasCommonResponseSuccess() bool { + return obj.obj.CommonResponseSuccess != nil +} + +// description is TBD +// SetCommonResponseSuccess sets the CommonResponseSuccess value in the GetRootResponseResponse object +func (obj *getRootResponseResponse) SetCommonResponseSuccess(value CommonResponseSuccess) GetRootResponseResponse { + + obj.commonResponseSuccessHolder = nil + obj.obj.CommonResponseSuccess = value.Msg() + + return obj +} + +func (obj *getRootResponseResponse) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.CommonResponseSuccess != nil { + + obj.CommonResponseSuccess().validateObj(vObj, set_default) + } + +} + +func (obj *getRootResponseResponse) setDefault() { + +} + +// ***** DummyResponseTestResponse ***** +type dummyResponseTestResponse struct { + validation + obj *openapi.DummyResponseTestResponse +} + +func NewDummyResponseTestResponse() DummyResponseTestResponse { + obj := dummyResponseTestResponse{obj: &openapi.DummyResponseTestResponse{}} + obj.setDefault() + return &obj +} + +func (obj *dummyResponseTestResponse) Msg() *openapi.DummyResponseTestResponse { + return obj.obj +} + +func (obj *dummyResponseTestResponse) SetMsg(msg *openapi.DummyResponseTestResponse) DummyResponseTestResponse { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *dummyResponseTestResponse) ToProto() (*openapi.DummyResponseTestResponse, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *dummyResponseTestResponse) FromProto(msg *openapi.DummyResponseTestResponse) (DummyResponseTestResponse, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *dummyResponseTestResponse) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *dummyResponseTestResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *dummyResponseTestResponse) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *dummyResponseTestResponse) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *dummyResponseTestResponse) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *dummyResponseTestResponse) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *dummyResponseTestResponse) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *dummyResponseTestResponse) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *dummyResponseTestResponse) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *dummyResponseTestResponse) Clone() (DummyResponseTestResponse, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewDummyResponseTestResponse() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// DummyResponseTestResponse is description is TBD +type DummyResponseTestResponse interface { + Validation + // Msg marshals DummyResponseTestResponse to protobuf object *openapi.DummyResponseTestResponse + // and doesn't set defaults + Msg() *openapi.DummyResponseTestResponse + // SetMsg unmarshals DummyResponseTestResponse from protobuf object *openapi.DummyResponseTestResponse + // and doesn't set defaults + SetMsg(*openapi.DummyResponseTestResponse) DummyResponseTestResponse + // ToProto marshals DummyResponseTestResponse to protobuf object *openapi.DummyResponseTestResponse + ToProto() (*openapi.DummyResponseTestResponse, error) + // ToPbText marshals DummyResponseTestResponse to protobuf text + ToPbText() (string, error) + // ToYaml marshals DummyResponseTestResponse to YAML text + ToYaml() (string, error) + // ToJson marshals DummyResponseTestResponse to JSON text + ToJson() (string, error) + // FromProto unmarshals DummyResponseTestResponse from protobuf object *openapi.DummyResponseTestResponse + FromProto(msg *openapi.DummyResponseTestResponse) (DummyResponseTestResponse, error) + // FromPbText unmarshals DummyResponseTestResponse from protobuf text + FromPbText(value string) error + // FromYaml unmarshals DummyResponseTestResponse from YAML text + FromYaml(value string) error + // FromJson unmarshals DummyResponseTestResponse from JSON text + FromJson(value string) error + // Validate validates DummyResponseTestResponse + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (DummyResponseTestResponse, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // ResponseString returns string, set in DummyResponseTestResponse. + ResponseString() string + // SetResponseString assigns string provided by user to DummyResponseTestResponse + SetResponseString(value string) DummyResponseTestResponse + // HasResponseString checks if ResponseString has been set in DummyResponseTestResponse + HasResponseString() bool +} + +// description is TBD +// ResponseString returns a string +func (obj *dummyResponseTestResponse) ResponseString() string { + return obj.obj.String_ +} + +// description is TBD +// ResponseString returns a string +func (obj *dummyResponseTestResponse) HasResponseString() bool { + return obj.obj.String_ != "" +} + +// description is TBD +// SetResponseString sets the string value in the DummyResponseTestResponse object +func (obj *dummyResponseTestResponse) SetResponseString(value string) DummyResponseTestResponse { + obj.obj.String_ = value + return obj +} + +func (obj *dummyResponseTestResponse) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + +} + +func (obj *dummyResponseTestResponse) setDefault() { + +} + +// ***** PostRootResponseResponse ***** +type postRootResponseResponse struct { + validation + obj *openapi.PostRootResponseResponse + commonResponseSuccessHolder CommonResponseSuccess +} + +func NewPostRootResponseResponse() PostRootResponseResponse { + obj := postRootResponseResponse{obj: &openapi.PostRootResponseResponse{}} + obj.setDefault() + return &obj +} + +func (obj *postRootResponseResponse) Msg() *openapi.PostRootResponseResponse { + return obj.obj +} + +func (obj *postRootResponseResponse) SetMsg(msg *openapi.PostRootResponseResponse) PostRootResponseResponse { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *postRootResponseResponse) ToProto() (*openapi.PostRootResponseResponse, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *postRootResponseResponse) FromProto(msg *openapi.PostRootResponseResponse) (PostRootResponseResponse, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *postRootResponseResponse) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *postRootResponseResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *postRootResponseResponse) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *postRootResponseResponse) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *postRootResponseResponse) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *postRootResponseResponse) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *postRootResponseResponse) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *postRootResponseResponse) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *postRootResponseResponse) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *postRootResponseResponse) Clone() (PostRootResponseResponse, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewPostRootResponseResponse() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *postRootResponseResponse) setNil() { + obj.commonResponseSuccessHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// PostRootResponseResponse is description is TBD +type PostRootResponseResponse interface { + Validation + // Msg marshals PostRootResponseResponse to protobuf object *openapi.PostRootResponseResponse + // and doesn't set defaults + Msg() *openapi.PostRootResponseResponse + // SetMsg unmarshals PostRootResponseResponse from protobuf object *openapi.PostRootResponseResponse + // and doesn't set defaults + SetMsg(*openapi.PostRootResponseResponse) PostRootResponseResponse + // ToProto marshals PostRootResponseResponse to protobuf object *openapi.PostRootResponseResponse + ToProto() (*openapi.PostRootResponseResponse, error) + // ToPbText marshals PostRootResponseResponse to protobuf text + ToPbText() (string, error) + // ToYaml marshals PostRootResponseResponse to YAML text + ToYaml() (string, error) + // ToJson marshals PostRootResponseResponse to JSON text + ToJson() (string, error) + // FromProto unmarshals PostRootResponseResponse from protobuf object *openapi.PostRootResponseResponse + FromProto(msg *openapi.PostRootResponseResponse) (PostRootResponseResponse, error) + // FromPbText unmarshals PostRootResponseResponse from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PostRootResponseResponse from YAML text + FromYaml(value string) error + // FromJson unmarshals PostRootResponseResponse from JSON text + FromJson(value string) error + // Validate validates PostRootResponseResponse + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (PostRootResponseResponse, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // CommonResponseSuccess returns CommonResponseSuccess, set in PostRootResponseResponse. + // CommonResponseSuccess is description is TBD + CommonResponseSuccess() CommonResponseSuccess + // SetCommonResponseSuccess assigns CommonResponseSuccess provided by user to PostRootResponseResponse. + // CommonResponseSuccess is description is TBD + SetCommonResponseSuccess(value CommonResponseSuccess) PostRootResponseResponse + // HasCommonResponseSuccess checks if CommonResponseSuccess has been set in PostRootResponseResponse + HasCommonResponseSuccess() bool + setNil() +} + +// description is TBD +// CommonResponseSuccess returns a CommonResponseSuccess +func (obj *postRootResponseResponse) CommonResponseSuccess() CommonResponseSuccess { + if obj.obj.CommonResponseSuccess == nil { + obj.obj.CommonResponseSuccess = NewCommonResponseSuccess().Msg() + } + if obj.commonResponseSuccessHolder == nil { + obj.commonResponseSuccessHolder = &commonResponseSuccess{obj: obj.obj.CommonResponseSuccess} + } + return obj.commonResponseSuccessHolder +} + +// description is TBD +// CommonResponseSuccess returns a CommonResponseSuccess +func (obj *postRootResponseResponse) HasCommonResponseSuccess() bool { + return obj.obj.CommonResponseSuccess != nil +} + +// description is TBD +// SetCommonResponseSuccess sets the CommonResponseSuccess value in the PostRootResponseResponse object +func (obj *postRootResponseResponse) SetCommonResponseSuccess(value CommonResponseSuccess) PostRootResponseResponse { + + obj.commonResponseSuccessHolder = nil + obj.obj.CommonResponseSuccess = value.Msg() + + return obj +} + +func (obj *postRootResponseResponse) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.CommonResponseSuccess != nil { + + obj.CommonResponseSuccess().validateObj(vObj, set_default) + } + +} + +func (obj *postRootResponseResponse) setDefault() { + +} + +// ***** GetAllItemsResponse ***** +type getAllItemsResponse struct { + validation + obj *openapi.GetAllItemsResponse + serviceAbcItemListHolder ServiceAbcItemList +} + +func NewGetAllItemsResponse() GetAllItemsResponse { + obj := getAllItemsResponse{obj: &openapi.GetAllItemsResponse{}} + obj.setDefault() + return &obj +} + +func (obj *getAllItemsResponse) Msg() *openapi.GetAllItemsResponse { + return obj.obj +} + +func (obj *getAllItemsResponse) SetMsg(msg *openapi.GetAllItemsResponse) GetAllItemsResponse { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *getAllItemsResponse) ToProto() (*openapi.GetAllItemsResponse, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *getAllItemsResponse) FromProto(msg *openapi.GetAllItemsResponse) (GetAllItemsResponse, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *getAllItemsResponse) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *getAllItemsResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *getAllItemsResponse) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *getAllItemsResponse) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *getAllItemsResponse) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *getAllItemsResponse) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *getAllItemsResponse) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *getAllItemsResponse) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *getAllItemsResponse) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *getAllItemsResponse) Clone() (GetAllItemsResponse, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewGetAllItemsResponse() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *getAllItemsResponse) setNil() { + obj.serviceAbcItemListHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// GetAllItemsResponse is description is TBD +type GetAllItemsResponse interface { + Validation + // Msg marshals GetAllItemsResponse to protobuf object *openapi.GetAllItemsResponse + // and doesn't set defaults + Msg() *openapi.GetAllItemsResponse + // SetMsg unmarshals GetAllItemsResponse from protobuf object *openapi.GetAllItemsResponse + // and doesn't set defaults + SetMsg(*openapi.GetAllItemsResponse) GetAllItemsResponse + // ToProto marshals GetAllItemsResponse to protobuf object *openapi.GetAllItemsResponse + ToProto() (*openapi.GetAllItemsResponse, error) + // ToPbText marshals GetAllItemsResponse to protobuf text + ToPbText() (string, error) + // ToYaml marshals GetAllItemsResponse to YAML text + ToYaml() (string, error) + // ToJson marshals GetAllItemsResponse to JSON text + ToJson() (string, error) + // FromProto unmarshals GetAllItemsResponse from protobuf object *openapi.GetAllItemsResponse + FromProto(msg *openapi.GetAllItemsResponse) (GetAllItemsResponse, error) + // FromPbText unmarshals GetAllItemsResponse from protobuf text + FromPbText(value string) error + // FromYaml unmarshals GetAllItemsResponse from YAML text + FromYaml(value string) error + // FromJson unmarshals GetAllItemsResponse from JSON text + FromJson(value string) error + // Validate validates GetAllItemsResponse + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (GetAllItemsResponse, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // ServiceAbcItemList returns ServiceAbcItemList, set in GetAllItemsResponse. + // ServiceAbcItemList is description is TBD + ServiceAbcItemList() ServiceAbcItemList + // SetServiceAbcItemList assigns ServiceAbcItemList provided by user to GetAllItemsResponse. + // ServiceAbcItemList is description is TBD + SetServiceAbcItemList(value ServiceAbcItemList) GetAllItemsResponse + // HasServiceAbcItemList checks if ServiceAbcItemList has been set in GetAllItemsResponse + HasServiceAbcItemList() bool + setNil() +} + +// description is TBD +// ServiceAbcItemList returns a ServiceAbcItemList +func (obj *getAllItemsResponse) ServiceAbcItemList() ServiceAbcItemList { + if obj.obj.ServiceAbcItemList == nil { + obj.obj.ServiceAbcItemList = NewServiceAbcItemList().Msg() + } + if obj.serviceAbcItemListHolder == nil { + obj.serviceAbcItemListHolder = &serviceAbcItemList{obj: obj.obj.ServiceAbcItemList} + } + return obj.serviceAbcItemListHolder +} + +// description is TBD +// ServiceAbcItemList returns a ServiceAbcItemList +func (obj *getAllItemsResponse) HasServiceAbcItemList() bool { + return obj.obj.ServiceAbcItemList != nil +} + +// description is TBD +// SetServiceAbcItemList sets the ServiceAbcItemList value in the GetAllItemsResponse object +func (obj *getAllItemsResponse) SetServiceAbcItemList(value ServiceAbcItemList) GetAllItemsResponse { + + obj.serviceAbcItemListHolder = nil + obj.obj.ServiceAbcItemList = value.Msg() + + return obj +} + +func (obj *getAllItemsResponse) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.ServiceAbcItemList != nil { + + obj.ServiceAbcItemList().validateObj(vObj, set_default) + } + +} + +func (obj *getAllItemsResponse) setDefault() { + +} + +// ***** GetSingleItemResponse ***** +type getSingleItemResponse struct { + validation + obj *openapi.GetSingleItemResponse + serviceAbcItemHolder ServiceAbcItem +} + +func NewGetSingleItemResponse() GetSingleItemResponse { + obj := getSingleItemResponse{obj: &openapi.GetSingleItemResponse{}} + obj.setDefault() + return &obj +} + +func (obj *getSingleItemResponse) Msg() *openapi.GetSingleItemResponse { + return obj.obj +} + +func (obj *getSingleItemResponse) SetMsg(msg *openapi.GetSingleItemResponse) GetSingleItemResponse { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *getSingleItemResponse) ToProto() (*openapi.GetSingleItemResponse, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *getSingleItemResponse) FromProto(msg *openapi.GetSingleItemResponse) (GetSingleItemResponse, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *getSingleItemResponse) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *getSingleItemResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *getSingleItemResponse) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *getSingleItemResponse) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *getSingleItemResponse) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *getSingleItemResponse) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *getSingleItemResponse) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *getSingleItemResponse) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *getSingleItemResponse) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *getSingleItemResponse) Clone() (GetSingleItemResponse, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewGetSingleItemResponse() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *getSingleItemResponse) setNil() { + obj.serviceAbcItemHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// GetSingleItemResponse is description is TBD +type GetSingleItemResponse interface { + Validation + // Msg marshals GetSingleItemResponse to protobuf object *openapi.GetSingleItemResponse + // and doesn't set defaults + Msg() *openapi.GetSingleItemResponse + // SetMsg unmarshals GetSingleItemResponse from protobuf object *openapi.GetSingleItemResponse + // and doesn't set defaults + SetMsg(*openapi.GetSingleItemResponse) GetSingleItemResponse + // ToProto marshals GetSingleItemResponse to protobuf object *openapi.GetSingleItemResponse + ToProto() (*openapi.GetSingleItemResponse, error) + // ToPbText marshals GetSingleItemResponse to protobuf text + ToPbText() (string, error) + // ToYaml marshals GetSingleItemResponse to YAML text + ToYaml() (string, error) + // ToJson marshals GetSingleItemResponse to JSON text + ToJson() (string, error) + // FromProto unmarshals GetSingleItemResponse from protobuf object *openapi.GetSingleItemResponse + FromProto(msg *openapi.GetSingleItemResponse) (GetSingleItemResponse, error) + // FromPbText unmarshals GetSingleItemResponse from protobuf text + FromPbText(value string) error + // FromYaml unmarshals GetSingleItemResponse from YAML text + FromYaml(value string) error + // FromJson unmarshals GetSingleItemResponse from JSON text + FromJson(value string) error + // Validate validates GetSingleItemResponse + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (GetSingleItemResponse, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // ServiceAbcItem returns ServiceAbcItem, set in GetSingleItemResponse. + // ServiceAbcItem is description is TBD + ServiceAbcItem() ServiceAbcItem + // SetServiceAbcItem assigns ServiceAbcItem provided by user to GetSingleItemResponse. + // ServiceAbcItem is description is TBD + SetServiceAbcItem(value ServiceAbcItem) GetSingleItemResponse + // HasServiceAbcItem checks if ServiceAbcItem has been set in GetSingleItemResponse + HasServiceAbcItem() bool + setNil() +} + +// description is TBD +// ServiceAbcItem returns a ServiceAbcItem +func (obj *getSingleItemResponse) ServiceAbcItem() ServiceAbcItem { + if obj.obj.ServiceAbcItem == nil { + obj.obj.ServiceAbcItem = NewServiceAbcItem().Msg() + } + if obj.serviceAbcItemHolder == nil { + obj.serviceAbcItemHolder = &serviceAbcItem{obj: obj.obj.ServiceAbcItem} + } + return obj.serviceAbcItemHolder +} + +// description is TBD +// ServiceAbcItem returns a ServiceAbcItem +func (obj *getSingleItemResponse) HasServiceAbcItem() bool { + return obj.obj.ServiceAbcItem != nil +} + +// description is TBD +// SetServiceAbcItem sets the ServiceAbcItem value in the GetSingleItemResponse object +func (obj *getSingleItemResponse) SetServiceAbcItem(value ServiceAbcItem) GetSingleItemResponse { + + obj.serviceAbcItemHolder = nil + obj.obj.ServiceAbcItem = value.Msg() + + return obj +} + +func (obj *getSingleItemResponse) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.ServiceAbcItem != nil { + + obj.ServiceAbcItem().validateObj(vObj, set_default) + } + +} + +func (obj *getSingleItemResponse) setDefault() { + +} + +// ***** GetSingleItemLevel2Response ***** +type getSingleItemLevel2Response struct { + validation + obj *openapi.GetSingleItemLevel2Response + serviceAbcItemHolder ServiceAbcItem +} + +func NewGetSingleItemLevel2Response() GetSingleItemLevel2Response { + obj := getSingleItemLevel2Response{obj: &openapi.GetSingleItemLevel2Response{}} + obj.setDefault() + return &obj +} + +func (obj *getSingleItemLevel2Response) Msg() *openapi.GetSingleItemLevel2Response { + return obj.obj +} + +func (obj *getSingleItemLevel2Response) SetMsg(msg *openapi.GetSingleItemLevel2Response) GetSingleItemLevel2Response { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *getSingleItemLevel2Response) ToProto() (*openapi.GetSingleItemLevel2Response, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *getSingleItemLevel2Response) FromProto(msg *openapi.GetSingleItemLevel2Response) (GetSingleItemLevel2Response, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *getSingleItemLevel2Response) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *getSingleItemLevel2Response) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *getSingleItemLevel2Response) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *getSingleItemLevel2Response) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *getSingleItemLevel2Response) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *getSingleItemLevel2Response) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *getSingleItemLevel2Response) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *getSingleItemLevel2Response) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *getSingleItemLevel2Response) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *getSingleItemLevel2Response) Clone() (GetSingleItemLevel2Response, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewGetSingleItemLevel2Response() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *getSingleItemLevel2Response) setNil() { + obj.serviceAbcItemHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// GetSingleItemLevel2Response is description is TBD +type GetSingleItemLevel2Response interface { + Validation + // Msg marshals GetSingleItemLevel2Response to protobuf object *openapi.GetSingleItemLevel2Response + // and doesn't set defaults + Msg() *openapi.GetSingleItemLevel2Response + // SetMsg unmarshals GetSingleItemLevel2Response from protobuf object *openapi.GetSingleItemLevel2Response + // and doesn't set defaults + SetMsg(*openapi.GetSingleItemLevel2Response) GetSingleItemLevel2Response + // ToProto marshals GetSingleItemLevel2Response to protobuf object *openapi.GetSingleItemLevel2Response + ToProto() (*openapi.GetSingleItemLevel2Response, error) + // ToPbText marshals GetSingleItemLevel2Response to protobuf text + ToPbText() (string, error) + // ToYaml marshals GetSingleItemLevel2Response to YAML text + ToYaml() (string, error) + // ToJson marshals GetSingleItemLevel2Response to JSON text + ToJson() (string, error) + // FromProto unmarshals GetSingleItemLevel2Response from protobuf object *openapi.GetSingleItemLevel2Response + FromProto(msg *openapi.GetSingleItemLevel2Response) (GetSingleItemLevel2Response, error) + // FromPbText unmarshals GetSingleItemLevel2Response from protobuf text + FromPbText(value string) error + // FromYaml unmarshals GetSingleItemLevel2Response from YAML text + FromYaml(value string) error + // FromJson unmarshals GetSingleItemLevel2Response from JSON text + FromJson(value string) error + // Validate validates GetSingleItemLevel2Response + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (GetSingleItemLevel2Response, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // ServiceAbcItem returns ServiceAbcItem, set in GetSingleItemLevel2Response. + // ServiceAbcItem is description is TBD + ServiceAbcItem() ServiceAbcItem + // SetServiceAbcItem assigns ServiceAbcItem provided by user to GetSingleItemLevel2Response. + // ServiceAbcItem is description is TBD + SetServiceAbcItem(value ServiceAbcItem) GetSingleItemLevel2Response + // HasServiceAbcItem checks if ServiceAbcItem has been set in GetSingleItemLevel2Response + HasServiceAbcItem() bool + setNil() +} + +// description is TBD +// ServiceAbcItem returns a ServiceAbcItem +func (obj *getSingleItemLevel2Response) ServiceAbcItem() ServiceAbcItem { + if obj.obj.ServiceAbcItem == nil { + obj.obj.ServiceAbcItem = NewServiceAbcItem().Msg() + } + if obj.serviceAbcItemHolder == nil { + obj.serviceAbcItemHolder = &serviceAbcItem{obj: obj.obj.ServiceAbcItem} + } + return obj.serviceAbcItemHolder +} + +// description is TBD +// ServiceAbcItem returns a ServiceAbcItem +func (obj *getSingleItemLevel2Response) HasServiceAbcItem() bool { + return obj.obj.ServiceAbcItem != nil +} + +// description is TBD +// SetServiceAbcItem sets the ServiceAbcItem value in the GetSingleItemLevel2Response object +func (obj *getSingleItemLevel2Response) SetServiceAbcItem(value ServiceAbcItem) GetSingleItemLevel2Response { + + obj.serviceAbcItemHolder = nil + obj.obj.ServiceAbcItem = value.Msg() + + return obj +} + +func (obj *getSingleItemLevel2Response) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.ServiceAbcItem != nil { + + obj.ServiceAbcItem().validateObj(vObj, set_default) + } + +} + +func (obj *getSingleItemLevel2Response) setDefault() { + +} + +// ***** GetVersionResponse ***** +type getVersionResponse struct { + validation + obj *openapi.GetVersionResponse + versionHolder Version +} + +func NewGetVersionResponse() GetVersionResponse { + obj := getVersionResponse{obj: &openapi.GetVersionResponse{}} + obj.setDefault() + return &obj +} + +func (obj *getVersionResponse) Msg() *openapi.GetVersionResponse { + return obj.obj +} + +func (obj *getVersionResponse) SetMsg(msg *openapi.GetVersionResponse) GetVersionResponse { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *getVersionResponse) ToProto() (*openapi.GetVersionResponse, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *getVersionResponse) FromProto(msg *openapi.GetVersionResponse) (GetVersionResponse, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *getVersionResponse) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *getVersionResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *getVersionResponse) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *getVersionResponse) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *getVersionResponse) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *getVersionResponse) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *getVersionResponse) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *getVersionResponse) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *getVersionResponse) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *getVersionResponse) Clone() (GetVersionResponse, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewGetVersionResponse() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *getVersionResponse) setNil() { + obj.versionHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// GetVersionResponse is description is TBD +type GetVersionResponse interface { + Validation + // Msg marshals GetVersionResponse to protobuf object *openapi.GetVersionResponse + // and doesn't set defaults + Msg() *openapi.GetVersionResponse + // SetMsg unmarshals GetVersionResponse from protobuf object *openapi.GetVersionResponse + // and doesn't set defaults + SetMsg(*openapi.GetVersionResponse) GetVersionResponse + // ToProto marshals GetVersionResponse to protobuf object *openapi.GetVersionResponse + ToProto() (*openapi.GetVersionResponse, error) + // ToPbText marshals GetVersionResponse to protobuf text + ToPbText() (string, error) + // ToYaml marshals GetVersionResponse to YAML text + ToYaml() (string, error) + // ToJson marshals GetVersionResponse to JSON text + ToJson() (string, error) + // FromProto unmarshals GetVersionResponse from protobuf object *openapi.GetVersionResponse + FromProto(msg *openapi.GetVersionResponse) (GetVersionResponse, error) + // FromPbText unmarshals GetVersionResponse from protobuf text + FromPbText(value string) error + // FromYaml unmarshals GetVersionResponse from YAML text + FromYaml(value string) error + // FromJson unmarshals GetVersionResponse from JSON text + FromJson(value string) error + // Validate validates GetVersionResponse + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (GetVersionResponse, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Version returns Version, set in GetVersionResponse. + // Version is version details + Version() Version + // SetVersion assigns Version provided by user to GetVersionResponse. + // Version is version details + SetVersion(value Version) GetVersionResponse + // HasVersion checks if Version has been set in GetVersionResponse + HasVersion() bool + setNil() +} + +// description is TBD +// Version returns a Version +func (obj *getVersionResponse) Version() Version { + if obj.obj.Version == nil { + obj.obj.Version = NewVersion().Msg() + } + if obj.versionHolder == nil { + obj.versionHolder = &version{obj: obj.obj.Version} + } + return obj.versionHolder +} + +// description is TBD +// Version returns a Version +func (obj *getVersionResponse) HasVersion() bool { + return obj.obj.Version != nil +} + +// description is TBD +// SetVersion sets the Version value in the GetVersionResponse object +func (obj *getVersionResponse) SetVersion(value Version) GetVersionResponse { + + obj.versionHolder = nil + obj.obj.Version = value.Msg() + + return obj +} + +func (obj *getVersionResponse) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Version != nil { + + obj.Version().validateObj(vObj, set_default) + } + +} + +func (obj *getVersionResponse) setDefault() { + +} + +// ***** EObject ***** +type eObject struct { + validation + obj *openapi.EObject +} + +func NewEObject() EObject { + obj := eObject{obj: &openapi.EObject{}} + obj.setDefault() + return &obj +} + +func (obj *eObject) Msg() *openapi.EObject { + return obj.obj +} + +func (obj *eObject) SetMsg(msg *openapi.EObject) EObject { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *eObject) ToProto() (*openapi.EObject, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *eObject) FromProto(msg *openapi.EObject) (EObject, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *eObject) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *eObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *eObject) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *eObject) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *eObject) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *eObject) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *eObject) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *eObject) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *eObject) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *eObject) Clone() (EObject, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewEObject() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// EObject is description is TBD +type EObject interface { + Validation + // Msg marshals EObject to protobuf object *openapi.EObject + // and doesn't set defaults + Msg() *openapi.EObject + // SetMsg unmarshals EObject from protobuf object *openapi.EObject + // and doesn't set defaults + SetMsg(*openapi.EObject) EObject + // ToProto marshals EObject to protobuf object *openapi.EObject + ToProto() (*openapi.EObject, error) + // ToPbText marshals EObject to protobuf text + ToPbText() (string, error) + // ToYaml marshals EObject to YAML text + ToYaml() (string, error) + // ToJson marshals EObject to JSON text + ToJson() (string, error) + // FromProto unmarshals EObject from protobuf object *openapi.EObject + FromProto(msg *openapi.EObject) (EObject, error) + // FromPbText unmarshals EObject from protobuf text + FromPbText(value string) error + // FromYaml unmarshals EObject from YAML text + FromYaml(value string) error + // FromJson unmarshals EObject from JSON text + FromJson(value string) error + // Validate validates EObject + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (EObject, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // EA returns float32, set in EObject. + EA() float32 + // SetEA assigns float32 provided by user to EObject + SetEA(value float32) EObject + // EB returns float64, set in EObject. + EB() float64 + // SetEB assigns float64 provided by user to EObject + SetEB(value float64) EObject + // Name returns string, set in EObject. + Name() string + // SetName assigns string provided by user to EObject + SetName(value string) EObject + // HasName checks if Name has been set in EObject + HasName() bool + // MParam1 returns string, set in EObject. + MParam1() string + // SetMParam1 assigns string provided by user to EObject + SetMParam1(value string) EObject + // HasMParam1 checks if MParam1 has been set in EObject + HasMParam1() bool + // MParam2 returns string, set in EObject. + MParam2() string + // SetMParam2 assigns string provided by user to EObject + SetMParam2(value string) EObject + // HasMParam2 checks if MParam2 has been set in EObject + HasMParam2() bool +} + +// description is TBD +// EA returns a float32 +func (obj *eObject) EA() float32 { + + return obj.obj.EA +} + +// description is TBD +// SetEA sets the float32 value in the EObject object +func (obj *eObject) SetEA(value float32) EObject { + + obj.obj.EA = value + return obj +} + +// description is TBD +// EB returns a float64 +func (obj *eObject) EB() float64 { + + return obj.obj.EB +} + +// description is TBD +// SetEB sets the float64 value in the EObject object +func (obj *eObject) SetEB(value float64) EObject { + + obj.obj.EB = value + return obj +} + +// description is TBD +// Name returns a string +func (obj *eObject) Name() string { + + return *obj.obj.Name + +} + +// description is TBD +// Name returns a string +func (obj *eObject) HasName() bool { + return obj.obj.Name != nil +} + +// description is TBD +// SetName sets the string value in the EObject object +func (obj *eObject) SetName(value string) EObject { + + obj.obj.Name = &value + return obj +} + +// description is TBD +// MParam1 returns a string +func (obj *eObject) MParam1() string { + + return *obj.obj.MParam1 + +} + +// description is TBD +// MParam1 returns a string +func (obj *eObject) HasMParam1() bool { + return obj.obj.MParam1 != nil +} + +// description is TBD +// SetMParam1 sets the string value in the EObject object +func (obj *eObject) SetMParam1(value string) EObject { + + obj.obj.MParam1 = &value + return obj +} + +// description is TBD +// MParam2 returns a string +func (obj *eObject) MParam2() string { + + return *obj.obj.MParam2 + +} + +// description is TBD +// MParam2 returns a string +func (obj *eObject) HasMParam2() bool { + return obj.obj.MParam2 != nil +} + +// description is TBD +// SetMParam2 sets the string value in the EObject object +func (obj *eObject) SetMParam2(value string) EObject { + + obj.obj.MParam2 = &value + return obj +} + +func (obj *eObject) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + +} + +func (obj *eObject) setDefault() { + +} + +// ***** FObject ***** +type fObject struct { + validation + obj *openapi.FObject +} + +func NewFObject() FObject { + obj := fObject{obj: &openapi.FObject{}} + obj.setDefault() + return &obj +} + +func (obj *fObject) Msg() *openapi.FObject { + return obj.obj +} + +func (obj *fObject) SetMsg(msg *openapi.FObject) FObject { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *fObject) ToProto() (*openapi.FObject, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *fObject) FromProto(msg *openapi.FObject) (FObject, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *fObject) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *fObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *fObject) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *fObject) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *fObject) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *fObject) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *fObject) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *fObject) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *fObject) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *fObject) Clone() (FObject, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewFObject() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// FObject is description is TBD +type FObject interface { + Validation + // Msg marshals FObject to protobuf object *openapi.FObject + // and doesn't set defaults + Msg() *openapi.FObject + // SetMsg unmarshals FObject from protobuf object *openapi.FObject + // and doesn't set defaults + SetMsg(*openapi.FObject) FObject + // ToProto marshals FObject to protobuf object *openapi.FObject + ToProto() (*openapi.FObject, error) + // ToPbText marshals FObject to protobuf text + ToPbText() (string, error) + // ToYaml marshals FObject to YAML text + ToYaml() (string, error) + // ToJson marshals FObject to JSON text + ToJson() (string, error) + // FromProto unmarshals FObject from protobuf object *openapi.FObject + FromProto(msg *openapi.FObject) (FObject, error) + // FromPbText unmarshals FObject from protobuf text + FromPbText(value string) error + // FromYaml unmarshals FObject from YAML text + FromYaml(value string) error + // FromJson unmarshals FObject from JSON text + FromJson(value string) error + // Validate validates FObject + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (FObject, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Choice returns FObjectChoiceEnum, set in FObject + Choice() FObjectChoiceEnum + // SetChoice assigns FObjectChoiceEnum provided by user to FObject + SetChoice(value FObjectChoiceEnum) FObject + // HasChoice checks if Choice has been set in FObject + HasChoice() bool + // FA returns string, set in FObject. + FA() string + // SetFA assigns string provided by user to FObject + SetFA(value string) FObject + // HasFA checks if FA has been set in FObject + HasFA() bool + // FB returns float64, set in FObject. + FB() float64 + // SetFB assigns float64 provided by user to FObject + SetFB(value float64) FObject + // HasFB checks if FB has been set in FObject + HasFB() bool +} + +type FObjectChoiceEnum string + +// Enum of Choice on FObject +var FObjectChoice = struct { + F_A FObjectChoiceEnum + F_B FObjectChoiceEnum + F_C FObjectChoiceEnum +}{ + F_A: FObjectChoiceEnum("f_a"), + F_B: FObjectChoiceEnum("f_b"), + F_C: FObjectChoiceEnum("f_c"), +} + +func (obj *fObject) Choice() FObjectChoiceEnum { + return FObjectChoiceEnum(obj.obj.Choice.Enum().String()) +} + +// description is TBD +// Choice returns a string +func (obj *fObject) HasChoice() bool { + return obj.obj.Choice != nil +} + +func (obj *fObject) SetChoice(value FObjectChoiceEnum) FObject { + intValue, ok := openapi.FObject_Choice_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on FObjectChoiceEnum", string(value))) + return obj + } + enumValue := openapi.FObject_Choice_Enum(intValue) + obj.obj.Choice = &enumValue + obj.obj.FB = nil + obj.obj.FA = nil + + if value == FObjectChoice.F_A { + defaultValue := "some string" + obj.obj.FA = &defaultValue + } + + if value == FObjectChoice.F_B { + defaultValue := float64(3.0) + obj.obj.FB = &defaultValue + } + + return obj +} + +// description is TBD +// FA returns a string +func (obj *fObject) FA() string { + + if obj.obj.FA == nil { + obj.SetChoice(FObjectChoice.F_A) + } + + return *obj.obj.FA + +} + +// description is TBD +// FA returns a string +func (obj *fObject) HasFA() bool { + return obj.obj.FA != nil +} + +// description is TBD +// SetFA sets the string value in the FObject object +func (obj *fObject) SetFA(value string) FObject { + obj.SetChoice(FObjectChoice.F_A) + obj.obj.FA = &value + return obj +} + +// description is TBD +// FB returns a float64 +func (obj *fObject) FB() float64 { + + if obj.obj.FB == nil { + obj.SetChoice(FObjectChoice.F_B) + } + + return *obj.obj.FB + +} + +// description is TBD +// FB returns a float64 +func (obj *fObject) HasFB() bool { + return obj.obj.FB != nil +} + +// description is TBD +// SetFB sets the float64 value in the FObject object +func (obj *fObject) SetFB(value float64) FObject { + obj.SetChoice(FObjectChoice.F_B) + obj.obj.FB = &value + return obj +} + +func (obj *fObject) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + +} + +func (obj *fObject) setDefault() { + if obj.obj.Choice == nil { + obj.SetChoice(FObjectChoice.F_A) + + } + +} + +// ***** GObject ***** +type gObject struct { + validation + obj *openapi.GObject +} + +func NewGObject() GObject { + obj := gObject{obj: &openapi.GObject{}} + obj.setDefault() + return &obj +} + +func (obj *gObject) Msg() *openapi.GObject { + return obj.obj +} + +func (obj *gObject) SetMsg(msg *openapi.GObject) GObject { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *gObject) ToProto() (*openapi.GObject, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *gObject) FromProto(msg *openapi.GObject) (GObject, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *gObject) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *gObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *gObject) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *gObject) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *gObject) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *gObject) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *gObject) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *gObject) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *gObject) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *gObject) Clone() (GObject, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewGObject() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// GObject is deprecated: new schema Jobject to be used +// +// Description TBD +type GObject interface { + Validation + // Msg marshals GObject to protobuf object *openapi.GObject + // and doesn't set defaults + Msg() *openapi.GObject + // SetMsg unmarshals GObject from protobuf object *openapi.GObject + // and doesn't set defaults + SetMsg(*openapi.GObject) GObject + // ToProto marshals GObject to protobuf object *openapi.GObject + ToProto() (*openapi.GObject, error) + // ToPbText marshals GObject to protobuf text + ToPbText() (string, error) + // ToYaml marshals GObject to YAML text + ToYaml() (string, error) + // ToJson marshals GObject to JSON text + ToJson() (string, error) + // FromProto unmarshals GObject from protobuf object *openapi.GObject + FromProto(msg *openapi.GObject) (GObject, error) + // FromPbText unmarshals GObject from protobuf text + FromPbText(value string) error + // FromYaml unmarshals GObject from YAML text + FromYaml(value string) error + // FromJson unmarshals GObject from JSON text + FromJson(value string) error + // Validate validates GObject + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (GObject, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // GA returns string, set in GObject. + GA() string + // SetGA assigns string provided by user to GObject + SetGA(value string) GObject + // HasGA checks if GA has been set in GObject + HasGA() bool + // GB returns int32, set in GObject. + GB() int32 + // SetGB assigns int32 provided by user to GObject + SetGB(value int32) GObject + // HasGB checks if GB has been set in GObject + HasGB() bool + // GC returns float32, set in GObject. + GC() float32 + // SetGC assigns float32 provided by user to GObject + SetGC(value float32) GObject + // HasGC checks if GC has been set in GObject + HasGC() bool + // Choice returns GObjectChoiceEnum, set in GObject + Choice() GObjectChoiceEnum + // SetChoice assigns GObjectChoiceEnum provided by user to GObject + SetChoice(value GObjectChoiceEnum) GObject + // HasChoice checks if Choice has been set in GObject + HasChoice() bool + // GD returns string, set in GObject. + GD() string + // SetGD assigns string provided by user to GObject + SetGD(value string) GObject + // HasGD checks if GD has been set in GObject + HasGD() bool + // GE returns float64, set in GObject. + GE() float64 + // SetGE assigns float64 provided by user to GObject + SetGE(value float64) GObject + // HasGE checks if GE has been set in GObject + HasGE() bool + // GF returns GObjectGFEnum, set in GObject + GF() GObjectGFEnum + // SetGF assigns GObjectGFEnum provided by user to GObject + SetGF(value GObjectGFEnum) GObject + // HasGF checks if GF has been set in GObject + HasGF() bool + // Name returns string, set in GObject. + Name() string + // SetName assigns string provided by user to GObject + SetName(value string) GObject + // HasName checks if Name has been set in GObject + HasName() bool +} + +// description is TBD +// GA returns a string +func (obj *gObject) GA() string { + + return *obj.obj.GA + +} + +// description is TBD +// GA returns a string +func (obj *gObject) HasGA() bool { + return obj.obj.GA != nil +} + +// description is TBD +// SetGA sets the string value in the GObject object +func (obj *gObject) SetGA(value string) GObject { + + obj.obj.GA = &value + return obj +} + +// description is TBD +// GB returns a int32 +func (obj *gObject) GB() int32 { + + return *obj.obj.GB + +} + +// description is TBD +// GB returns a int32 +func (obj *gObject) HasGB() bool { + return obj.obj.GB != nil +} + +// description is TBD +// SetGB sets the int32 value in the GObject object +func (obj *gObject) SetGB(value int32) GObject { + + obj.obj.GB = &value + return obj +} + +// Deprecated: Information TBD +// +// Description TBD +// GC returns a float32 +func (obj *gObject) GC() float32 { + + return *obj.obj.GC + +} + +// Deprecated: Information TBD +// +// Description TBD +// GC returns a float32 +func (obj *gObject) HasGC() bool { + return obj.obj.GC != nil +} + +// Deprecated: Information TBD +// +// Description TBD +// SetGC sets the float32 value in the GObject object +func (obj *gObject) SetGC(value float32) GObject { + + obj.obj.GC = &value + return obj +} + +type GObjectChoiceEnum string + +// Enum of Choice on GObject +var GObjectChoice = struct { + G_D GObjectChoiceEnum + G_E GObjectChoiceEnum +}{ + G_D: GObjectChoiceEnum("g_d"), + G_E: GObjectChoiceEnum("g_e"), +} + +func (obj *gObject) Choice() GObjectChoiceEnum { + return GObjectChoiceEnum(obj.obj.Choice.Enum().String()) +} + +// description is TBD +// Choice returns a string +func (obj *gObject) HasChoice() bool { + return obj.obj.Choice != nil +} + +func (obj *gObject) SetChoice(value GObjectChoiceEnum) GObject { + intValue, ok := openapi.GObject_Choice_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on GObjectChoiceEnum", string(value))) + return obj + } + enumValue := openapi.GObject_Choice_Enum(intValue) + obj.obj.Choice = &enumValue + obj.obj.GE = nil + obj.obj.GD = nil + + if value == GObjectChoice.G_D { + defaultValue := "some string" + obj.obj.GD = &defaultValue + } + + if value == GObjectChoice.G_E { + defaultValue := float64(3.0) + obj.obj.GE = &defaultValue + } + + return obj +} + +// description is TBD +// GD returns a string +func (obj *gObject) GD() string { + + if obj.obj.GD == nil { + obj.SetChoice(GObjectChoice.G_D) + } + + return *obj.obj.GD + +} + +// description is TBD +// GD returns a string +func (obj *gObject) HasGD() bool { + return obj.obj.GD != nil +} + +// description is TBD +// SetGD sets the string value in the GObject object +func (obj *gObject) SetGD(value string) GObject { + obj.SetChoice(GObjectChoice.G_D) + obj.obj.GD = &value + return obj +} + +// description is TBD +// GE returns a float64 +func (obj *gObject) GE() float64 { + + if obj.obj.GE == nil { + obj.SetChoice(GObjectChoice.G_E) + } + + return *obj.obj.GE + +} + +// description is TBD +// GE returns a float64 +func (obj *gObject) HasGE() bool { + return obj.obj.GE != nil +} + +// description is TBD +// SetGE sets the float64 value in the GObject object +func (obj *gObject) SetGE(value float64) GObject { + obj.SetChoice(GObjectChoice.G_E) + obj.obj.GE = &value + return obj +} + +type GObjectGFEnum string + +// Enum of GF on GObject +var GObjectGF = struct { + A GObjectGFEnum + B GObjectGFEnum + C GObjectGFEnum +}{ + A: GObjectGFEnum("a"), + B: GObjectGFEnum("b"), + C: GObjectGFEnum("c"), +} + +func (obj *gObject) GF() GObjectGFEnum { + return GObjectGFEnum(obj.obj.GF.Enum().String()) +} + +// Another enum to test protbuf enum generation +// GF returns a string +func (obj *gObject) HasGF() bool { + return obj.obj.GF != nil +} + +func (obj *gObject) SetGF(value GObjectGFEnum) GObject { + intValue, ok := openapi.GObject_GF_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on GObjectGFEnum", string(value))) + return obj + } + enumValue := openapi.GObject_GF_Enum(intValue) + obj.obj.GF = &enumValue + + return obj +} + +// description is TBD +// Name returns a string +func (obj *gObject) Name() string { + + return *obj.obj.Name + +} + +// description is TBD +// Name returns a string +func (obj *gObject) HasName() bool { + return obj.obj.Name != nil +} + +// description is TBD +// SetName sets the string value in the GObject object +func (obj *gObject) SetName(value string) GObject { + + obj.obj.Name = &value + return obj +} + +func (obj *gObject) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + obj.addWarnings("GObject is deprecated, new schema Jobject to be used") + + // GC is deprecated + if obj.obj.GC != nil { + obj.addWarnings("GC property in schema GObject is deprecated, Information TBD") + } + +} + +func (obj *gObject) setDefault() { + if obj.obj.Choice == nil { + obj.SetChoice(GObjectChoice.G_D) + + } + if obj.obj.GA == nil { + obj.SetGA("asdf") + } + if obj.obj.GB == nil { + obj.SetGB(6) + } + if obj.obj.GC == nil { + obj.SetGC(77.7) + } + if obj.obj.GF == nil { + obj.SetGF(GObjectGF.A) + + } + +} + +// ***** JObject ***** +type jObject struct { + validation + obj *openapi.JObject + jAHolder EObject + jBHolder FObject +} + +func NewJObject() JObject { + obj := jObject{obj: &openapi.JObject{}} + obj.setDefault() + return &obj +} + +func (obj *jObject) Msg() *openapi.JObject { + return obj.obj +} + +func (obj *jObject) SetMsg(msg *openapi.JObject) JObject { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *jObject) ToProto() (*openapi.JObject, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *jObject) FromProto(msg *openapi.JObject) (JObject, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *jObject) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *jObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *jObject) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *jObject) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *jObject) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *jObject) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *jObject) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *jObject) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *jObject) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *jObject) Clone() (JObject, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewJObject() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *jObject) setNil() { + obj.jAHolder = nil + obj.jBHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// JObject is description is TBD +type JObject interface { + Validation + // Msg marshals JObject to protobuf object *openapi.JObject + // and doesn't set defaults + Msg() *openapi.JObject + // SetMsg unmarshals JObject from protobuf object *openapi.JObject + // and doesn't set defaults + SetMsg(*openapi.JObject) JObject + // ToProto marshals JObject to protobuf object *openapi.JObject + ToProto() (*openapi.JObject, error) + // ToPbText marshals JObject to protobuf text + ToPbText() (string, error) + // ToYaml marshals JObject to YAML text + ToYaml() (string, error) + // ToJson marshals JObject to JSON text + ToJson() (string, error) + // FromProto unmarshals JObject from protobuf object *openapi.JObject + FromProto(msg *openapi.JObject) (JObject, error) + // FromPbText unmarshals JObject from protobuf text + FromPbText(value string) error + // FromYaml unmarshals JObject from YAML text + FromYaml(value string) error + // FromJson unmarshals JObject from JSON text + FromJson(value string) error + // Validate validates JObject + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (JObject, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Choice returns JObjectChoiceEnum, set in JObject + Choice() JObjectChoiceEnum + // SetChoice assigns JObjectChoiceEnum provided by user to JObject + SetChoice(value JObjectChoiceEnum) JObject + // HasChoice checks if Choice has been set in JObject + HasChoice() bool + // JA returns EObject, set in JObject. + // EObject is description is TBD + JA() EObject + // SetJA assigns EObject provided by user to JObject. + // EObject is description is TBD + SetJA(value EObject) JObject + // HasJA checks if JA has been set in JObject + HasJA() bool + // JB returns FObject, set in JObject. + // FObject is description is TBD + JB() FObject + // SetJB assigns FObject provided by user to JObject. + // FObject is description is TBD + SetJB(value FObject) JObject + // HasJB checks if JB has been set in JObject + HasJB() bool + setNil() +} + +type JObjectChoiceEnum string + +// Enum of Choice on JObject +var JObjectChoice = struct { + J_A JObjectChoiceEnum + J_B JObjectChoiceEnum +}{ + J_A: JObjectChoiceEnum("j_a"), + J_B: JObjectChoiceEnum("j_b"), +} + +func (obj *jObject) Choice() JObjectChoiceEnum { + return JObjectChoiceEnum(obj.obj.Choice.Enum().String()) +} + +// description is TBD +// Choice returns a string +func (obj *jObject) HasChoice() bool { + return obj.obj.Choice != nil +} + +func (obj *jObject) SetChoice(value JObjectChoiceEnum) JObject { + intValue, ok := openapi.JObject_Choice_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on JObjectChoiceEnum", string(value))) + return obj + } + enumValue := openapi.JObject_Choice_Enum(intValue) + obj.obj.Choice = &enumValue + obj.obj.JB = nil + obj.jBHolder = nil + obj.obj.JA = nil + obj.jAHolder = nil + + if value == JObjectChoice.J_A { + obj.obj.JA = NewEObject().Msg() + } + + if value == JObjectChoice.J_B { + obj.obj.JB = NewFObject().Msg() + } + + return obj +} + +// description is TBD +// JA returns a EObject +func (obj *jObject) JA() EObject { + if obj.obj.JA == nil { + obj.SetChoice(JObjectChoice.J_A) + } + if obj.jAHolder == nil { + obj.jAHolder = &eObject{obj: obj.obj.JA} + } + return obj.jAHolder +} + +// description is TBD +// JA returns a EObject +func (obj *jObject) HasJA() bool { + return obj.obj.JA != nil +} + +// description is TBD +// SetJA sets the EObject value in the JObject object +func (obj *jObject) SetJA(value EObject) JObject { + obj.SetChoice(JObjectChoice.J_A) + obj.jAHolder = nil + obj.obj.JA = value.Msg() + + return obj +} + +// description is TBD +// JB returns a FObject +func (obj *jObject) JB() FObject { + if obj.obj.JB == nil { + obj.SetChoice(JObjectChoice.J_B) + } + if obj.jBHolder == nil { + obj.jBHolder = &fObject{obj: obj.obj.JB} + } + return obj.jBHolder +} + +// description is TBD +// JB returns a FObject +func (obj *jObject) HasJB() bool { + return obj.obj.JB != nil +} + +// description is TBD +// SetJB sets the FObject value in the JObject object +func (obj *jObject) SetJB(value FObject) JObject { + obj.SetChoice(JObjectChoice.J_B) + obj.jBHolder = nil + obj.obj.JB = value.Msg() + + return obj +} + +func (obj *jObject) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Choice.Number() == 2 { + obj.addWarnings("J_B enum in property Choice is deprecated, use j_a instead") + } + + if obj.obj.JA != nil { + + obj.JA().validateObj(vObj, set_default) + } + + if obj.obj.JB != nil { + + obj.JB().validateObj(vObj, set_default) + } + +} + +func (obj *jObject) setDefault() { + if obj.obj.Choice == nil { + obj.SetChoice(JObjectChoice.J_A) + + } + +} + +// ***** KObject ***** +type kObject struct { + validation + obj *openapi.KObject + eObjectHolder EObject + fObjectHolder FObject +} + +func NewKObject() KObject { + obj := kObject{obj: &openapi.KObject{}} + obj.setDefault() + return &obj +} + +func (obj *kObject) Msg() *openapi.KObject { + return obj.obj +} + +func (obj *kObject) SetMsg(msg *openapi.KObject) KObject { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *kObject) ToProto() (*openapi.KObject, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *kObject) FromProto(msg *openapi.KObject) (KObject, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *kObject) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *kObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *kObject) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *kObject) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *kObject) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *kObject) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *kObject) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *kObject) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *kObject) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *kObject) Clone() (KObject, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewKObject() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *kObject) setNil() { + obj.eObjectHolder = nil + obj.fObjectHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// KObject is description is TBD +type KObject interface { + Validation + // Msg marshals KObject to protobuf object *openapi.KObject + // and doesn't set defaults + Msg() *openapi.KObject + // SetMsg unmarshals KObject from protobuf object *openapi.KObject + // and doesn't set defaults + SetMsg(*openapi.KObject) KObject + // ToProto marshals KObject to protobuf object *openapi.KObject + ToProto() (*openapi.KObject, error) + // ToPbText marshals KObject to protobuf text + ToPbText() (string, error) + // ToYaml marshals KObject to YAML text + ToYaml() (string, error) + // ToJson marshals KObject to JSON text + ToJson() (string, error) + // FromProto unmarshals KObject from protobuf object *openapi.KObject + FromProto(msg *openapi.KObject) (KObject, error) + // FromPbText unmarshals KObject from protobuf text + FromPbText(value string) error + // FromYaml unmarshals KObject from YAML text + FromYaml(value string) error + // FromJson unmarshals KObject from JSON text + FromJson(value string) error + // Validate validates KObject + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (KObject, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // EObject returns EObject, set in KObject. + // EObject is description is TBD + EObject() EObject + // SetEObject assigns EObject provided by user to KObject. + // EObject is description is TBD + SetEObject(value EObject) KObject + // HasEObject checks if EObject has been set in KObject + HasEObject() bool + // FObject returns FObject, set in KObject. + // FObject is description is TBD + FObject() FObject + // SetFObject assigns FObject provided by user to KObject. + // FObject is description is TBD + SetFObject(value FObject) KObject + // HasFObject checks if FObject has been set in KObject + HasFObject() bool + setNil() +} + +// description is TBD +// EObject returns a EObject +func (obj *kObject) EObject() EObject { + if obj.obj.EObject == nil { + obj.obj.EObject = NewEObject().Msg() + } + if obj.eObjectHolder == nil { + obj.eObjectHolder = &eObject{obj: obj.obj.EObject} + } + return obj.eObjectHolder +} + +// description is TBD +// EObject returns a EObject +func (obj *kObject) HasEObject() bool { + return obj.obj.EObject != nil +} + +// description is TBD +// SetEObject sets the EObject value in the KObject object +func (obj *kObject) SetEObject(value EObject) KObject { + + obj.eObjectHolder = nil + obj.obj.EObject = value.Msg() + + return obj +} + +// description is TBD +// FObject returns a FObject +func (obj *kObject) FObject() FObject { + if obj.obj.FObject == nil { + obj.obj.FObject = NewFObject().Msg() + } + if obj.fObjectHolder == nil { + obj.fObjectHolder = &fObject{obj: obj.obj.FObject} + } + return obj.fObjectHolder +} + +// description is TBD +// FObject returns a FObject +func (obj *kObject) HasFObject() bool { + return obj.obj.FObject != nil +} + +// description is TBD +// SetFObject sets the FObject value in the KObject object +func (obj *kObject) SetFObject(value FObject) KObject { + + obj.fObjectHolder = nil + obj.obj.FObject = value.Msg() + + return obj +} + +func (obj *kObject) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.EObject != nil { + + obj.EObject().validateObj(vObj, set_default) + } + + if obj.obj.FObject != nil { + + obj.FObject().validateObj(vObj, set_default) + } + +} + +func (obj *kObject) setDefault() { + +} + +// ***** LObject ***** +type lObject struct { + validation + obj *openapi.LObject +} + +func NewLObject() LObject { + obj := lObject{obj: &openapi.LObject{}} + obj.setDefault() + return &obj +} + +func (obj *lObject) Msg() *openapi.LObject { + return obj.obj +} + +func (obj *lObject) SetMsg(msg *openapi.LObject) LObject { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *lObject) ToProto() (*openapi.LObject, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *lObject) FromProto(msg *openapi.LObject) (LObject, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *lObject) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *lObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *lObject) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *lObject) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *lObject) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *lObject) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *lObject) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *lObject) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *lObject) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *lObject) Clone() (LObject, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewLObject() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// LObject is format validation object +type LObject interface { + Validation + // Msg marshals LObject to protobuf object *openapi.LObject + // and doesn't set defaults + Msg() *openapi.LObject + // SetMsg unmarshals LObject from protobuf object *openapi.LObject + // and doesn't set defaults + SetMsg(*openapi.LObject) LObject + // ToProto marshals LObject to protobuf object *openapi.LObject + ToProto() (*openapi.LObject, error) + // ToPbText marshals LObject to protobuf text + ToPbText() (string, error) + // ToYaml marshals LObject to YAML text + ToYaml() (string, error) + // ToJson marshals LObject to JSON text + ToJson() (string, error) + // FromProto unmarshals LObject from protobuf object *openapi.LObject + FromProto(msg *openapi.LObject) (LObject, error) + // FromPbText unmarshals LObject from protobuf text + FromPbText(value string) error + // FromYaml unmarshals LObject from YAML text + FromYaml(value string) error + // FromJson unmarshals LObject from JSON text + FromJson(value string) error + // Validate validates LObject + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (LObject, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // StringParam returns string, set in LObject. + StringParam() string + // SetStringParam assigns string provided by user to LObject + SetStringParam(value string) LObject + // HasStringParam checks if StringParam has been set in LObject + HasStringParam() bool + // Integer returns int32, set in LObject. + Integer() int32 + // SetInteger assigns int32 provided by user to LObject + SetInteger(value int32) LObject + // HasInteger checks if Integer has been set in LObject + HasInteger() bool + // Float returns float32, set in LObject. + Float() float32 + // SetFloat assigns float32 provided by user to LObject + SetFloat(value float32) LObject + // HasFloat checks if Float has been set in LObject + HasFloat() bool + // Double returns float64, set in LObject. + Double() float64 + // SetDouble assigns float64 provided by user to LObject + SetDouble(value float64) LObject + // HasDouble checks if Double has been set in LObject + HasDouble() bool + // Mac returns string, set in LObject. + Mac() string + // SetMac assigns string provided by user to LObject + SetMac(value string) LObject + // HasMac checks if Mac has been set in LObject + HasMac() bool + // Ipv4 returns string, set in LObject. + Ipv4() string + // SetIpv4 assigns string provided by user to LObject + SetIpv4(value string) LObject + // HasIpv4 checks if Ipv4 has been set in LObject + HasIpv4() bool + // Ipv6 returns string, set in LObject. + Ipv6() string + // SetIpv6 assigns string provided by user to LObject + SetIpv6(value string) LObject + // HasIpv6 checks if Ipv6 has been set in LObject + HasIpv6() bool + // Hex returns string, set in LObject. + Hex() string + // SetHex assigns string provided by user to LObject + SetHex(value string) LObject + // HasHex checks if Hex has been set in LObject + HasHex() bool +} + +// description is TBD +// StringParam returns a string +func (obj *lObject) StringParam() string { + + return *obj.obj.StringParam + +} + +// description is TBD +// StringParam returns a string +func (obj *lObject) HasStringParam() bool { + return obj.obj.StringParam != nil +} + +// description is TBD +// SetStringParam sets the string value in the LObject object +func (obj *lObject) SetStringParam(value string) LObject { + + obj.obj.StringParam = &value + return obj +} + +// description is TBD +// Integer returns a int32 +func (obj *lObject) Integer() int32 { + + return *obj.obj.Integer + +} + +// description is TBD +// Integer returns a int32 +func (obj *lObject) HasInteger() bool { + return obj.obj.Integer != nil +} + +// description is TBD +// SetInteger sets the int32 value in the LObject object +func (obj *lObject) SetInteger(value int32) LObject { + + obj.obj.Integer = &value + return obj +} + +// description is TBD +// Float returns a float32 +func (obj *lObject) Float() float32 { + + return *obj.obj.Float + +} + +// description is TBD +// Float returns a float32 +func (obj *lObject) HasFloat() bool { + return obj.obj.Float != nil +} + +// description is TBD +// SetFloat sets the float32 value in the LObject object +func (obj *lObject) SetFloat(value float32) LObject { + + obj.obj.Float = &value + return obj +} + +// description is TBD +// Double returns a float64 +func (obj *lObject) Double() float64 { + + return *obj.obj.Double + +} + +// description is TBD +// Double returns a float64 +func (obj *lObject) HasDouble() bool { + return obj.obj.Double != nil +} + +// description is TBD +// SetDouble sets the float64 value in the LObject object +func (obj *lObject) SetDouble(value float64) LObject { + + obj.obj.Double = &value + return obj +} + +// description is TBD +// Mac returns a string +func (obj *lObject) Mac() string { + + return *obj.obj.Mac + +} + +// description is TBD +// Mac returns a string +func (obj *lObject) HasMac() bool { + return obj.obj.Mac != nil +} + +// description is TBD +// SetMac sets the string value in the LObject object +func (obj *lObject) SetMac(value string) LObject { + + obj.obj.Mac = &value + return obj +} + +// description is TBD +// Ipv4 returns a string +func (obj *lObject) Ipv4() string { + + return *obj.obj.Ipv4 + +} + +// description is TBD +// Ipv4 returns a string +func (obj *lObject) HasIpv4() bool { + return obj.obj.Ipv4 != nil +} + +// description is TBD +// SetIpv4 sets the string value in the LObject object +func (obj *lObject) SetIpv4(value string) LObject { + + obj.obj.Ipv4 = &value + return obj +} + +// description is TBD +// Ipv6 returns a string +func (obj *lObject) Ipv6() string { + + return *obj.obj.Ipv6 + +} + +// description is TBD +// Ipv6 returns a string +func (obj *lObject) HasIpv6() bool { + return obj.obj.Ipv6 != nil +} + +// description is TBD +// SetIpv6 sets the string value in the LObject object +func (obj *lObject) SetIpv6(value string) LObject { + + obj.obj.Ipv6 = &value + return obj +} + +// description is TBD +// Hex returns a string +func (obj *lObject) Hex() string { + + return *obj.obj.Hex + +} + +// description is TBD +// Hex returns a string +func (obj *lObject) HasHex() bool { + return obj.obj.Hex != nil +} + +// description is TBD +// SetHex sets the string value in the LObject object +func (obj *lObject) SetHex(value string) LObject { + + obj.obj.Hex = &value + return obj +} + +func (obj *lObject) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Integer != nil { + + if *obj.obj.Integer < -10 || *obj.obj.Integer > 90 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("-10 <= LObject.Integer <= 90 but Got %d", *obj.obj.Integer)) + } + + } + + if obj.obj.Mac != nil { + + err := obj.validateMac(obj.Mac()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on LObject.Mac")) + } + + } + + if obj.obj.Ipv4 != nil { + + err := obj.validateIpv4(obj.Ipv4()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on LObject.Ipv4")) + } + + } + + if obj.obj.Ipv6 != nil { + + err := obj.validateIpv6(obj.Ipv6()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on LObject.Ipv6")) + } + + } + + if obj.obj.Hex != nil { + + err := obj.validateHex(obj.Hex()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on LObject.Hex")) + } + + } + +} + +func (obj *lObject) setDefault() { + +} + +// ***** LevelOne ***** +type levelOne struct { + validation + obj *openapi.LevelOne + l1P1Holder LevelTwo + l1P2Holder LevelFour +} + +func NewLevelOne() LevelOne { + obj := levelOne{obj: &openapi.LevelOne{}} + obj.setDefault() + return &obj +} + +func (obj *levelOne) Msg() *openapi.LevelOne { + return obj.obj +} + +func (obj *levelOne) SetMsg(msg *openapi.LevelOne) LevelOne { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *levelOne) ToProto() (*openapi.LevelOne, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *levelOne) FromProto(msg *openapi.LevelOne) (LevelOne, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *levelOne) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *levelOne) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *levelOne) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *levelOne) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *levelOne) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *levelOne) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *levelOne) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *levelOne) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *levelOne) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *levelOne) Clone() (LevelOne, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewLevelOne() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *levelOne) setNil() { + obj.l1P1Holder = nil + obj.l1P2Holder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// LevelOne is to Test Multi level non-primitive types +type LevelOne interface { + Validation + // Msg marshals LevelOne to protobuf object *openapi.LevelOne + // and doesn't set defaults + Msg() *openapi.LevelOne + // SetMsg unmarshals LevelOne from protobuf object *openapi.LevelOne + // and doesn't set defaults + SetMsg(*openapi.LevelOne) LevelOne + // ToProto marshals LevelOne to protobuf object *openapi.LevelOne + ToProto() (*openapi.LevelOne, error) + // ToPbText marshals LevelOne to protobuf text + ToPbText() (string, error) + // ToYaml marshals LevelOne to YAML text + ToYaml() (string, error) + // ToJson marshals LevelOne to JSON text + ToJson() (string, error) + // FromProto unmarshals LevelOne from protobuf object *openapi.LevelOne + FromProto(msg *openapi.LevelOne) (LevelOne, error) + // FromPbText unmarshals LevelOne from protobuf text + FromPbText(value string) error + // FromYaml unmarshals LevelOne from YAML text + FromYaml(value string) error + // FromJson unmarshals LevelOne from JSON text + FromJson(value string) error + // Validate validates LevelOne + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (LevelOne, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // L1P1 returns LevelTwo, set in LevelOne. + // LevelTwo is test Level 2 + L1P1() LevelTwo + // SetL1P1 assigns LevelTwo provided by user to LevelOne. + // LevelTwo is test Level 2 + SetL1P1(value LevelTwo) LevelOne + // HasL1P1 checks if L1P1 has been set in LevelOne + HasL1P1() bool + // L1P2 returns LevelFour, set in LevelOne. + // LevelFour is test level4 redundant junk testing + L1P2() LevelFour + // SetL1P2 assigns LevelFour provided by user to LevelOne. + // LevelFour is test level4 redundant junk testing + SetL1P2(value LevelFour) LevelOne + // HasL1P2 checks if L1P2 has been set in LevelOne + HasL1P2() bool + setNil() +} + +// Level one +// L1P1 returns a LevelTwo +func (obj *levelOne) L1P1() LevelTwo { + if obj.obj.L1P1 == nil { + obj.obj.L1P1 = NewLevelTwo().Msg() + } + if obj.l1P1Holder == nil { + obj.l1P1Holder = &levelTwo{obj: obj.obj.L1P1} + } + return obj.l1P1Holder +} + +// Level one +// L1P1 returns a LevelTwo +func (obj *levelOne) HasL1P1() bool { + return obj.obj.L1P1 != nil +} + +// Level one +// SetL1P1 sets the LevelTwo value in the LevelOne object +func (obj *levelOne) SetL1P1(value LevelTwo) LevelOne { + + obj.l1P1Holder = nil + obj.obj.L1P1 = value.Msg() + + return obj +} + +// Level one to four +// L1P2 returns a LevelFour +func (obj *levelOne) L1P2() LevelFour { + if obj.obj.L1P2 == nil { + obj.obj.L1P2 = NewLevelFour().Msg() + } + if obj.l1P2Holder == nil { + obj.l1P2Holder = &levelFour{obj: obj.obj.L1P2} + } + return obj.l1P2Holder +} + +// Level one to four +// L1P2 returns a LevelFour +func (obj *levelOne) HasL1P2() bool { + return obj.obj.L1P2 != nil +} + +// Level one to four +// SetL1P2 sets the LevelFour value in the LevelOne object +func (obj *levelOne) SetL1P2(value LevelFour) LevelOne { + + obj.l1P2Holder = nil + obj.obj.L1P2 = value.Msg() + + return obj +} + +func (obj *levelOne) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.L1P1 != nil { + + obj.L1P1().validateObj(vObj, set_default) + } + + if obj.obj.L1P2 != nil { + + obj.L1P2().validateObj(vObj, set_default) + } + +} + +func (obj *levelOne) setDefault() { + +} + +// ***** Mandate ***** +type mandate struct { + validation + obj *openapi.Mandate +} + +func NewMandate() Mandate { + obj := mandate{obj: &openapi.Mandate{}} + obj.setDefault() + return &obj +} + +func (obj *mandate) Msg() *openapi.Mandate { + return obj.obj +} + +func (obj *mandate) SetMsg(msg *openapi.Mandate) Mandate { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *mandate) ToProto() (*openapi.Mandate, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *mandate) FromProto(msg *openapi.Mandate) (Mandate, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *mandate) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *mandate) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *mandate) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *mandate) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *mandate) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *mandate) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *mandate) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *mandate) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *mandate) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *mandate) Clone() (Mandate, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewMandate() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// Mandate is object to Test required Parameter +type Mandate interface { + Validation + // Msg marshals Mandate to protobuf object *openapi.Mandate + // and doesn't set defaults + Msg() *openapi.Mandate + // SetMsg unmarshals Mandate from protobuf object *openapi.Mandate + // and doesn't set defaults + SetMsg(*openapi.Mandate) Mandate + // ToProto marshals Mandate to protobuf object *openapi.Mandate + ToProto() (*openapi.Mandate, error) + // ToPbText marshals Mandate to protobuf text + ToPbText() (string, error) + // ToYaml marshals Mandate to YAML text + ToYaml() (string, error) + // ToJson marshals Mandate to JSON text + ToJson() (string, error) + // FromProto unmarshals Mandate from protobuf object *openapi.Mandate + FromProto(msg *openapi.Mandate) (Mandate, error) + // FromPbText unmarshals Mandate from protobuf text + FromPbText(value string) error + // FromYaml unmarshals Mandate from YAML text + FromYaml(value string) error + // FromJson unmarshals Mandate from JSON text + FromJson(value string) error + // Validate validates Mandate + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (Mandate, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // RequiredParam returns string, set in Mandate. + RequiredParam() string + // SetRequiredParam assigns string provided by user to Mandate + SetRequiredParam(value string) Mandate +} + +// description is TBD +// RequiredParam returns a string +func (obj *mandate) RequiredParam() string { + + return obj.obj.RequiredParam +} + +// description is TBD +// SetRequiredParam sets the string value in the Mandate object +func (obj *mandate) SetRequiredParam(value string) Mandate { + + obj.obj.RequiredParam = value + return obj +} + +func (obj *mandate) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + // RequiredParam is required + if obj.obj.RequiredParam == "" { + vObj.validationErrors = append(vObj.validationErrors, "RequiredParam is required field on interface Mandate") + } +} + +func (obj *mandate) setDefault() { + +} + +// ***** Ipv4Pattern ***** +type ipv4Pattern struct { + validation + obj *openapi.Ipv4Pattern + ipv4Holder PatternIpv4PatternIpv4 +} + +func NewIpv4Pattern() Ipv4Pattern { + obj := ipv4Pattern{obj: &openapi.Ipv4Pattern{}} + obj.setDefault() + return &obj +} + +func (obj *ipv4Pattern) Msg() *openapi.Ipv4Pattern { + return obj.obj +} + +func (obj *ipv4Pattern) SetMsg(msg *openapi.Ipv4Pattern) Ipv4Pattern { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *ipv4Pattern) ToProto() (*openapi.Ipv4Pattern, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *ipv4Pattern) FromProto(msg *openapi.Ipv4Pattern) (Ipv4Pattern, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *ipv4Pattern) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *ipv4Pattern) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *ipv4Pattern) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *ipv4Pattern) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *ipv4Pattern) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *ipv4Pattern) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *ipv4Pattern) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *ipv4Pattern) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *ipv4Pattern) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *ipv4Pattern) Clone() (Ipv4Pattern, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewIpv4Pattern() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *ipv4Pattern) setNil() { + obj.ipv4Holder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// Ipv4Pattern is test ipv4 pattern +type Ipv4Pattern interface { + Validation + // Msg marshals Ipv4Pattern to protobuf object *openapi.Ipv4Pattern + // and doesn't set defaults + Msg() *openapi.Ipv4Pattern + // SetMsg unmarshals Ipv4Pattern from protobuf object *openapi.Ipv4Pattern + // and doesn't set defaults + SetMsg(*openapi.Ipv4Pattern) Ipv4Pattern + // ToProto marshals Ipv4Pattern to protobuf object *openapi.Ipv4Pattern + ToProto() (*openapi.Ipv4Pattern, error) + // ToPbText marshals Ipv4Pattern to protobuf text + ToPbText() (string, error) + // ToYaml marshals Ipv4Pattern to YAML text + ToYaml() (string, error) + // ToJson marshals Ipv4Pattern to JSON text + ToJson() (string, error) + // FromProto unmarshals Ipv4Pattern from protobuf object *openapi.Ipv4Pattern + FromProto(msg *openapi.Ipv4Pattern) (Ipv4Pattern, error) + // FromPbText unmarshals Ipv4Pattern from protobuf text + FromPbText(value string) error + // FromYaml unmarshals Ipv4Pattern from YAML text + FromYaml(value string) error + // FromJson unmarshals Ipv4Pattern from JSON text + FromJson(value string) error + // Validate validates Ipv4Pattern + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (Ipv4Pattern, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Ipv4 returns PatternIpv4PatternIpv4, set in Ipv4Pattern. + // PatternIpv4PatternIpv4 is tBD + Ipv4() PatternIpv4PatternIpv4 + // SetIpv4 assigns PatternIpv4PatternIpv4 provided by user to Ipv4Pattern. + // PatternIpv4PatternIpv4 is tBD + SetIpv4(value PatternIpv4PatternIpv4) Ipv4Pattern + // HasIpv4 checks if Ipv4 has been set in Ipv4Pattern + HasIpv4() bool + setNil() +} + +// description is TBD +// Ipv4 returns a PatternIpv4PatternIpv4 +func (obj *ipv4Pattern) Ipv4() PatternIpv4PatternIpv4 { + if obj.obj.Ipv4 == nil { + obj.obj.Ipv4 = NewPatternIpv4PatternIpv4().Msg() + } + if obj.ipv4Holder == nil { + obj.ipv4Holder = &patternIpv4PatternIpv4{obj: obj.obj.Ipv4} + } + return obj.ipv4Holder +} + +// description is TBD +// Ipv4 returns a PatternIpv4PatternIpv4 +func (obj *ipv4Pattern) HasIpv4() bool { + return obj.obj.Ipv4 != nil +} + +// description is TBD +// SetIpv4 sets the PatternIpv4PatternIpv4 value in the Ipv4Pattern object +func (obj *ipv4Pattern) SetIpv4(value PatternIpv4PatternIpv4) Ipv4Pattern { + + obj.ipv4Holder = nil + obj.obj.Ipv4 = value.Msg() + + return obj +} + +func (obj *ipv4Pattern) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Ipv4 != nil { + + obj.Ipv4().validateObj(vObj, set_default) + } + +} + +func (obj *ipv4Pattern) setDefault() { + +} + +// ***** Ipv6Pattern ***** +type ipv6Pattern struct { + validation + obj *openapi.Ipv6Pattern + ipv6Holder PatternIpv6PatternIpv6 +} + +func NewIpv6Pattern() Ipv6Pattern { + obj := ipv6Pattern{obj: &openapi.Ipv6Pattern{}} + obj.setDefault() + return &obj +} + +func (obj *ipv6Pattern) Msg() *openapi.Ipv6Pattern { + return obj.obj +} + +func (obj *ipv6Pattern) SetMsg(msg *openapi.Ipv6Pattern) Ipv6Pattern { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *ipv6Pattern) ToProto() (*openapi.Ipv6Pattern, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *ipv6Pattern) FromProto(msg *openapi.Ipv6Pattern) (Ipv6Pattern, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *ipv6Pattern) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *ipv6Pattern) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *ipv6Pattern) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *ipv6Pattern) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *ipv6Pattern) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *ipv6Pattern) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *ipv6Pattern) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *ipv6Pattern) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *ipv6Pattern) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *ipv6Pattern) Clone() (Ipv6Pattern, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewIpv6Pattern() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *ipv6Pattern) setNil() { + obj.ipv6Holder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// Ipv6Pattern is test ipv6 pattern +type Ipv6Pattern interface { + Validation + // Msg marshals Ipv6Pattern to protobuf object *openapi.Ipv6Pattern + // and doesn't set defaults + Msg() *openapi.Ipv6Pattern + // SetMsg unmarshals Ipv6Pattern from protobuf object *openapi.Ipv6Pattern + // and doesn't set defaults + SetMsg(*openapi.Ipv6Pattern) Ipv6Pattern + // ToProto marshals Ipv6Pattern to protobuf object *openapi.Ipv6Pattern + ToProto() (*openapi.Ipv6Pattern, error) + // ToPbText marshals Ipv6Pattern to protobuf text + ToPbText() (string, error) + // ToYaml marshals Ipv6Pattern to YAML text + ToYaml() (string, error) + // ToJson marshals Ipv6Pattern to JSON text + ToJson() (string, error) + // FromProto unmarshals Ipv6Pattern from protobuf object *openapi.Ipv6Pattern + FromProto(msg *openapi.Ipv6Pattern) (Ipv6Pattern, error) + // FromPbText unmarshals Ipv6Pattern from protobuf text + FromPbText(value string) error + // FromYaml unmarshals Ipv6Pattern from YAML text + FromYaml(value string) error + // FromJson unmarshals Ipv6Pattern from JSON text + FromJson(value string) error + // Validate validates Ipv6Pattern + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (Ipv6Pattern, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Ipv6 returns PatternIpv6PatternIpv6, set in Ipv6Pattern. + // PatternIpv6PatternIpv6 is tBD + Ipv6() PatternIpv6PatternIpv6 + // SetIpv6 assigns PatternIpv6PatternIpv6 provided by user to Ipv6Pattern. + // PatternIpv6PatternIpv6 is tBD + SetIpv6(value PatternIpv6PatternIpv6) Ipv6Pattern + // HasIpv6 checks if Ipv6 has been set in Ipv6Pattern + HasIpv6() bool + setNil() +} + +// description is TBD +// Ipv6 returns a PatternIpv6PatternIpv6 +func (obj *ipv6Pattern) Ipv6() PatternIpv6PatternIpv6 { + if obj.obj.Ipv6 == nil { + obj.obj.Ipv6 = NewPatternIpv6PatternIpv6().Msg() + } + if obj.ipv6Holder == nil { + obj.ipv6Holder = &patternIpv6PatternIpv6{obj: obj.obj.Ipv6} + } + return obj.ipv6Holder +} + +// description is TBD +// Ipv6 returns a PatternIpv6PatternIpv6 +func (obj *ipv6Pattern) HasIpv6() bool { + return obj.obj.Ipv6 != nil +} + +// description is TBD +// SetIpv6 sets the PatternIpv6PatternIpv6 value in the Ipv6Pattern object +func (obj *ipv6Pattern) SetIpv6(value PatternIpv6PatternIpv6) Ipv6Pattern { + + obj.ipv6Holder = nil + obj.obj.Ipv6 = value.Msg() + + return obj +} + +func (obj *ipv6Pattern) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Ipv6 != nil { + + obj.Ipv6().validateObj(vObj, set_default) + } + +} + +func (obj *ipv6Pattern) setDefault() { + +} + +// ***** MacPattern ***** +type macPattern struct { + validation + obj *openapi.MacPattern + macHolder PatternMacPatternMac +} + +func NewMacPattern() MacPattern { + obj := macPattern{obj: &openapi.MacPattern{}} + obj.setDefault() + return &obj +} + +func (obj *macPattern) Msg() *openapi.MacPattern { + return obj.obj +} + +func (obj *macPattern) SetMsg(msg *openapi.MacPattern) MacPattern { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *macPattern) ToProto() (*openapi.MacPattern, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *macPattern) FromProto(msg *openapi.MacPattern) (MacPattern, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *macPattern) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *macPattern) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *macPattern) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *macPattern) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *macPattern) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *macPattern) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *macPattern) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *macPattern) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *macPattern) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *macPattern) Clone() (MacPattern, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewMacPattern() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *macPattern) setNil() { + obj.macHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// MacPattern is test mac pattern +type MacPattern interface { + Validation + // Msg marshals MacPattern to protobuf object *openapi.MacPattern + // and doesn't set defaults + Msg() *openapi.MacPattern + // SetMsg unmarshals MacPattern from protobuf object *openapi.MacPattern + // and doesn't set defaults + SetMsg(*openapi.MacPattern) MacPattern + // ToProto marshals MacPattern to protobuf object *openapi.MacPattern + ToProto() (*openapi.MacPattern, error) + // ToPbText marshals MacPattern to protobuf text + ToPbText() (string, error) + // ToYaml marshals MacPattern to YAML text + ToYaml() (string, error) + // ToJson marshals MacPattern to JSON text + ToJson() (string, error) + // FromProto unmarshals MacPattern from protobuf object *openapi.MacPattern + FromProto(msg *openapi.MacPattern) (MacPattern, error) + // FromPbText unmarshals MacPattern from protobuf text + FromPbText(value string) error + // FromYaml unmarshals MacPattern from YAML text + FromYaml(value string) error + // FromJson unmarshals MacPattern from JSON text + FromJson(value string) error + // Validate validates MacPattern + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (MacPattern, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Mac returns PatternMacPatternMac, set in MacPattern. + // PatternMacPatternMac is tBD + Mac() PatternMacPatternMac + // SetMac assigns PatternMacPatternMac provided by user to MacPattern. + // PatternMacPatternMac is tBD + SetMac(value PatternMacPatternMac) MacPattern + // HasMac checks if Mac has been set in MacPattern + HasMac() bool + setNil() +} + +// description is TBD +// Mac returns a PatternMacPatternMac +func (obj *macPattern) Mac() PatternMacPatternMac { + if obj.obj.Mac == nil { + obj.obj.Mac = NewPatternMacPatternMac().Msg() + } + if obj.macHolder == nil { + obj.macHolder = &patternMacPatternMac{obj: obj.obj.Mac} + } + return obj.macHolder +} + +// description is TBD +// Mac returns a PatternMacPatternMac +func (obj *macPattern) HasMac() bool { + return obj.obj.Mac != nil +} + +// description is TBD +// SetMac sets the PatternMacPatternMac value in the MacPattern object +func (obj *macPattern) SetMac(value PatternMacPatternMac) MacPattern { + + obj.macHolder = nil + obj.obj.Mac = value.Msg() + + return obj +} + +func (obj *macPattern) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Mac != nil { + + obj.Mac().validateObj(vObj, set_default) + } + +} + +func (obj *macPattern) setDefault() { + +} + +// ***** IntegerPattern ***** +type integerPattern struct { + validation + obj *openapi.IntegerPattern + integerHolder PatternIntegerPatternInteger +} + +func NewIntegerPattern() IntegerPattern { + obj := integerPattern{obj: &openapi.IntegerPattern{}} + obj.setDefault() + return &obj +} + +func (obj *integerPattern) Msg() *openapi.IntegerPattern { + return obj.obj +} + +func (obj *integerPattern) SetMsg(msg *openapi.IntegerPattern) IntegerPattern { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *integerPattern) ToProto() (*openapi.IntegerPattern, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *integerPattern) FromProto(msg *openapi.IntegerPattern) (IntegerPattern, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *integerPattern) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *integerPattern) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *integerPattern) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *integerPattern) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *integerPattern) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *integerPattern) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *integerPattern) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *integerPattern) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *integerPattern) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *integerPattern) Clone() (IntegerPattern, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewIntegerPattern() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *integerPattern) setNil() { + obj.integerHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// IntegerPattern is test integer pattern +type IntegerPattern interface { + Validation + // Msg marshals IntegerPattern to protobuf object *openapi.IntegerPattern + // and doesn't set defaults + Msg() *openapi.IntegerPattern + // SetMsg unmarshals IntegerPattern from protobuf object *openapi.IntegerPattern + // and doesn't set defaults + SetMsg(*openapi.IntegerPattern) IntegerPattern + // ToProto marshals IntegerPattern to protobuf object *openapi.IntegerPattern + ToProto() (*openapi.IntegerPattern, error) + // ToPbText marshals IntegerPattern to protobuf text + ToPbText() (string, error) + // ToYaml marshals IntegerPattern to YAML text + ToYaml() (string, error) + // ToJson marshals IntegerPattern to JSON text + ToJson() (string, error) + // FromProto unmarshals IntegerPattern from protobuf object *openapi.IntegerPattern + FromProto(msg *openapi.IntegerPattern) (IntegerPattern, error) + // FromPbText unmarshals IntegerPattern from protobuf text + FromPbText(value string) error + // FromYaml unmarshals IntegerPattern from YAML text + FromYaml(value string) error + // FromJson unmarshals IntegerPattern from JSON text + FromJson(value string) error + // Validate validates IntegerPattern + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (IntegerPattern, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Integer returns PatternIntegerPatternInteger, set in IntegerPattern. + // PatternIntegerPatternInteger is tBD + Integer() PatternIntegerPatternInteger + // SetInteger assigns PatternIntegerPatternInteger provided by user to IntegerPattern. + // PatternIntegerPatternInteger is tBD + SetInteger(value PatternIntegerPatternInteger) IntegerPattern + // HasInteger checks if Integer has been set in IntegerPattern + HasInteger() bool + setNil() +} + +// description is TBD +// Integer returns a PatternIntegerPatternInteger +func (obj *integerPattern) Integer() PatternIntegerPatternInteger { + if obj.obj.Integer == nil { + obj.obj.Integer = NewPatternIntegerPatternInteger().Msg() + } + if obj.integerHolder == nil { + obj.integerHolder = &patternIntegerPatternInteger{obj: obj.obj.Integer} + } + return obj.integerHolder +} + +// description is TBD +// Integer returns a PatternIntegerPatternInteger +func (obj *integerPattern) HasInteger() bool { + return obj.obj.Integer != nil +} + +// description is TBD +// SetInteger sets the PatternIntegerPatternInteger value in the IntegerPattern object +func (obj *integerPattern) SetInteger(value PatternIntegerPatternInteger) IntegerPattern { + + obj.integerHolder = nil + obj.obj.Integer = value.Msg() + + return obj +} + +func (obj *integerPattern) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Integer != nil { + + obj.Integer().validateObj(vObj, set_default) + } + +} + +func (obj *integerPattern) setDefault() { + +} + +// ***** ChecksumPattern ***** +type checksumPattern struct { + validation + obj *openapi.ChecksumPattern + checksumHolder PatternChecksumPatternChecksum +} + +func NewChecksumPattern() ChecksumPattern { + obj := checksumPattern{obj: &openapi.ChecksumPattern{}} + obj.setDefault() + return &obj +} + +func (obj *checksumPattern) Msg() *openapi.ChecksumPattern { + return obj.obj +} + +func (obj *checksumPattern) SetMsg(msg *openapi.ChecksumPattern) ChecksumPattern { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *checksumPattern) ToProto() (*openapi.ChecksumPattern, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *checksumPattern) FromProto(msg *openapi.ChecksumPattern) (ChecksumPattern, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *checksumPattern) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *checksumPattern) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *checksumPattern) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *checksumPattern) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *checksumPattern) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *checksumPattern) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *checksumPattern) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *checksumPattern) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *checksumPattern) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *checksumPattern) Clone() (ChecksumPattern, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewChecksumPattern() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *checksumPattern) setNil() { + obj.checksumHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// ChecksumPattern is test checksum pattern +type ChecksumPattern interface { + Validation + // Msg marshals ChecksumPattern to protobuf object *openapi.ChecksumPattern + // and doesn't set defaults + Msg() *openapi.ChecksumPattern + // SetMsg unmarshals ChecksumPattern from protobuf object *openapi.ChecksumPattern + // and doesn't set defaults + SetMsg(*openapi.ChecksumPattern) ChecksumPattern + // ToProto marshals ChecksumPattern to protobuf object *openapi.ChecksumPattern + ToProto() (*openapi.ChecksumPattern, error) + // ToPbText marshals ChecksumPattern to protobuf text + ToPbText() (string, error) + // ToYaml marshals ChecksumPattern to YAML text + ToYaml() (string, error) + // ToJson marshals ChecksumPattern to JSON text + ToJson() (string, error) + // FromProto unmarshals ChecksumPattern from protobuf object *openapi.ChecksumPattern + FromProto(msg *openapi.ChecksumPattern) (ChecksumPattern, error) + // FromPbText unmarshals ChecksumPattern from protobuf text + FromPbText(value string) error + // FromYaml unmarshals ChecksumPattern from YAML text + FromYaml(value string) error + // FromJson unmarshals ChecksumPattern from JSON text + FromJson(value string) error + // Validate validates ChecksumPattern + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (ChecksumPattern, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Checksum returns PatternChecksumPatternChecksum, set in ChecksumPattern. + // PatternChecksumPatternChecksum is tBD + Checksum() PatternChecksumPatternChecksum + // SetChecksum assigns PatternChecksumPatternChecksum provided by user to ChecksumPattern. + // PatternChecksumPatternChecksum is tBD + SetChecksum(value PatternChecksumPatternChecksum) ChecksumPattern + // HasChecksum checks if Checksum has been set in ChecksumPattern + HasChecksum() bool + setNil() +} + +// description is TBD +// Checksum returns a PatternChecksumPatternChecksum +func (obj *checksumPattern) Checksum() PatternChecksumPatternChecksum { + if obj.obj.Checksum == nil { + obj.obj.Checksum = NewPatternChecksumPatternChecksum().Msg() + } + if obj.checksumHolder == nil { + obj.checksumHolder = &patternChecksumPatternChecksum{obj: obj.obj.Checksum} + } + return obj.checksumHolder +} + +// description is TBD +// Checksum returns a PatternChecksumPatternChecksum +func (obj *checksumPattern) HasChecksum() bool { + return obj.obj.Checksum != nil +} + +// description is TBD +// SetChecksum sets the PatternChecksumPatternChecksum value in the ChecksumPattern object +func (obj *checksumPattern) SetChecksum(value PatternChecksumPatternChecksum) ChecksumPattern { + + obj.checksumHolder = nil + obj.obj.Checksum = value.Msg() + + return obj +} + +func (obj *checksumPattern) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Checksum != nil { + + obj.Checksum().validateObj(vObj, set_default) + } + +} + +func (obj *checksumPattern) setDefault() { + +} + +// ***** Layer1Ieee802X ***** +type layer1Ieee802X struct { + validation + obj *openapi.Layer1Ieee802X +} + +func NewLayer1Ieee802X() Layer1Ieee802X { + obj := layer1Ieee802X{obj: &openapi.Layer1Ieee802X{}} + obj.setDefault() + return &obj +} + +func (obj *layer1Ieee802X) Msg() *openapi.Layer1Ieee802X { + return obj.obj +} + +func (obj *layer1Ieee802X) SetMsg(msg *openapi.Layer1Ieee802X) Layer1Ieee802X { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *layer1Ieee802X) ToProto() (*openapi.Layer1Ieee802X, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *layer1Ieee802X) FromProto(msg *openapi.Layer1Ieee802X) (Layer1Ieee802X, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *layer1Ieee802X) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *layer1Ieee802X) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *layer1Ieee802X) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *layer1Ieee802X) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *layer1Ieee802X) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *layer1Ieee802X) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *layer1Ieee802X) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *layer1Ieee802X) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *layer1Ieee802X) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *layer1Ieee802X) Clone() (Layer1Ieee802X, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewLayer1Ieee802X() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// Layer1Ieee802X is description is TBD +type Layer1Ieee802X interface { + Validation + // Msg marshals Layer1Ieee802X to protobuf object *openapi.Layer1Ieee802X + // and doesn't set defaults + Msg() *openapi.Layer1Ieee802X + // SetMsg unmarshals Layer1Ieee802X from protobuf object *openapi.Layer1Ieee802X + // and doesn't set defaults + SetMsg(*openapi.Layer1Ieee802X) Layer1Ieee802X + // ToProto marshals Layer1Ieee802X to protobuf object *openapi.Layer1Ieee802X + ToProto() (*openapi.Layer1Ieee802X, error) + // ToPbText marshals Layer1Ieee802X to protobuf text + ToPbText() (string, error) + // ToYaml marshals Layer1Ieee802X to YAML text + ToYaml() (string, error) + // ToJson marshals Layer1Ieee802X to JSON text + ToJson() (string, error) + // FromProto unmarshals Layer1Ieee802X from protobuf object *openapi.Layer1Ieee802X + FromProto(msg *openapi.Layer1Ieee802X) (Layer1Ieee802X, error) + // FromPbText unmarshals Layer1Ieee802X from protobuf text + FromPbText(value string) error + // FromYaml unmarshals Layer1Ieee802X from YAML text + FromYaml(value string) error + // FromJson unmarshals Layer1Ieee802X from JSON text + FromJson(value string) error + // Validate validates Layer1Ieee802X + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (Layer1Ieee802X, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // FlowControl returns bool, set in Layer1Ieee802X. + FlowControl() bool + // SetFlowControl assigns bool provided by user to Layer1Ieee802X + SetFlowControl(value bool) Layer1Ieee802X + // HasFlowControl checks if FlowControl has been set in Layer1Ieee802X + HasFlowControl() bool +} + +// description is TBD +// FlowControl returns a bool +func (obj *layer1Ieee802X) FlowControl() bool { + + return *obj.obj.FlowControl + +} + +// description is TBD +// FlowControl returns a bool +func (obj *layer1Ieee802X) HasFlowControl() bool { + return obj.obj.FlowControl != nil +} + +// description is TBD +// SetFlowControl sets the bool value in the Layer1Ieee802X object +func (obj *layer1Ieee802X) SetFlowControl(value bool) Layer1Ieee802X { + + obj.obj.FlowControl = &value + return obj +} + +func (obj *layer1Ieee802X) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + +} + +func (obj *layer1Ieee802X) setDefault() { + +} + +// ***** MObject ***** +type mObject struct { + validation + obj *openapi.MObject +} + +func NewMObject() MObject { + obj := mObject{obj: &openapi.MObject{}} + obj.setDefault() + return &obj +} + +func (obj *mObject) Msg() *openapi.MObject { + return obj.obj +} + +func (obj *mObject) SetMsg(msg *openapi.MObject) MObject { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *mObject) ToProto() (*openapi.MObject, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *mObject) FromProto(msg *openapi.MObject) (MObject, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *mObject) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *mObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *mObject) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *mObject) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *mObject) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *mObject) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *mObject) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *mObject) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *mObject) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *mObject) Clone() (MObject, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewMObject() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// MObject is required format validation object +type MObject interface { + Validation + // Msg marshals MObject to protobuf object *openapi.MObject + // and doesn't set defaults + Msg() *openapi.MObject + // SetMsg unmarshals MObject from protobuf object *openapi.MObject + // and doesn't set defaults + SetMsg(*openapi.MObject) MObject + // ToProto marshals MObject to protobuf object *openapi.MObject + ToProto() (*openapi.MObject, error) + // ToPbText marshals MObject to protobuf text + ToPbText() (string, error) + // ToYaml marshals MObject to YAML text + ToYaml() (string, error) + // ToJson marshals MObject to JSON text + ToJson() (string, error) + // FromProto unmarshals MObject from protobuf object *openapi.MObject + FromProto(msg *openapi.MObject) (MObject, error) + // FromPbText unmarshals MObject from protobuf text + FromPbText(value string) error + // FromYaml unmarshals MObject from YAML text + FromYaml(value string) error + // FromJson unmarshals MObject from JSON text + FromJson(value string) error + // Validate validates MObject + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (MObject, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // StringParam returns string, set in MObject. + StringParam() string + // SetStringParam assigns string provided by user to MObject + SetStringParam(value string) MObject + // Integer returns int32, set in MObject. + Integer() int32 + // SetInteger assigns int32 provided by user to MObject + SetInteger(value int32) MObject + // Float returns float32, set in MObject. + Float() float32 + // SetFloat assigns float32 provided by user to MObject + SetFloat(value float32) MObject + // Double returns float64, set in MObject. + Double() float64 + // SetDouble assigns float64 provided by user to MObject + SetDouble(value float64) MObject + // Mac returns string, set in MObject. + Mac() string + // SetMac assigns string provided by user to MObject + SetMac(value string) MObject + // Ipv4 returns string, set in MObject. + Ipv4() string + // SetIpv4 assigns string provided by user to MObject + SetIpv4(value string) MObject + // Ipv6 returns string, set in MObject. + Ipv6() string + // SetIpv6 assigns string provided by user to MObject + SetIpv6(value string) MObject + // Hex returns string, set in MObject. + Hex() string + // SetHex assigns string provided by user to MObject + SetHex(value string) MObject +} + +// description is TBD +// StringParam returns a string +func (obj *mObject) StringParam() string { + + return obj.obj.StringParam +} + +// description is TBD +// SetStringParam sets the string value in the MObject object +func (obj *mObject) SetStringParam(value string) MObject { + + obj.obj.StringParam = value + return obj +} + +// description is TBD +// Integer returns a int32 +func (obj *mObject) Integer() int32 { + + return obj.obj.Integer +} + +// description is TBD +// SetInteger sets the int32 value in the MObject object +func (obj *mObject) SetInteger(value int32) MObject { + + obj.obj.Integer = value + return obj +} + +// description is TBD +// Float returns a float32 +func (obj *mObject) Float() float32 { + + return obj.obj.Float +} + +// description is TBD +// SetFloat sets the float32 value in the MObject object +func (obj *mObject) SetFloat(value float32) MObject { + + obj.obj.Float = value + return obj +} + +// description is TBD +// Double returns a float64 +func (obj *mObject) Double() float64 { + + return obj.obj.Double +} + +// description is TBD +// SetDouble sets the float64 value in the MObject object +func (obj *mObject) SetDouble(value float64) MObject { + + obj.obj.Double = value + return obj +} + +// description is TBD +// Mac returns a string +func (obj *mObject) Mac() string { + + return obj.obj.Mac +} + +// description is TBD +// SetMac sets the string value in the MObject object +func (obj *mObject) SetMac(value string) MObject { + + obj.obj.Mac = value + return obj +} + +// description is TBD +// Ipv4 returns a string +func (obj *mObject) Ipv4() string { + + return obj.obj.Ipv4 +} + +// description is TBD +// SetIpv4 sets the string value in the MObject object +func (obj *mObject) SetIpv4(value string) MObject { + + obj.obj.Ipv4 = value + return obj +} + +// description is TBD +// Ipv6 returns a string +func (obj *mObject) Ipv6() string { + + return obj.obj.Ipv6 +} + +// description is TBD +// SetIpv6 sets the string value in the MObject object +func (obj *mObject) SetIpv6(value string) MObject { + + obj.obj.Ipv6 = value + return obj +} + +// description is TBD +// Hex returns a string +func (obj *mObject) Hex() string { + + return obj.obj.Hex +} + +// description is TBD +// SetHex sets the string value in the MObject object +func (obj *mObject) SetHex(value string) MObject { + + obj.obj.Hex = value + return obj +} + +func (obj *mObject) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + // StringParam is required + if obj.obj.StringParam == "" { + vObj.validationErrors = append(vObj.validationErrors, "StringParam is required field on interface MObject") + } + + if obj.obj.Integer != 0 { + + if obj.obj.Integer < -10 || obj.obj.Integer > 90 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("-10 <= MObject.Integer <= 90 but Got %d", obj.obj.Integer)) + } + + } + + // Mac is required + if obj.obj.Mac == "" { + vObj.validationErrors = append(vObj.validationErrors, "Mac is required field on interface MObject") + } + if obj.obj.Mac != "" { + + err := obj.validateMac(obj.Mac()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on MObject.Mac")) + } + + } + + // Ipv4 is required + if obj.obj.Ipv4 == "" { + vObj.validationErrors = append(vObj.validationErrors, "Ipv4 is required field on interface MObject") + } + if obj.obj.Ipv4 != "" { + + err := obj.validateIpv4(obj.Ipv4()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on MObject.Ipv4")) + } + + } + + // Ipv6 is required + if obj.obj.Ipv6 == "" { + vObj.validationErrors = append(vObj.validationErrors, "Ipv6 is required field on interface MObject") + } + if obj.obj.Ipv6 != "" { + + err := obj.validateIpv6(obj.Ipv6()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on MObject.Ipv6")) + } + + } + + // Hex is required + if obj.obj.Hex == "" { + vObj.validationErrors = append(vObj.validationErrors, "Hex is required field on interface MObject") + } + if obj.obj.Hex != "" { + + err := obj.validateHex(obj.Hex()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on MObject.Hex")) + } + + } + +} + +func (obj *mObject) setDefault() { + +} + +// ***** PatternPrefixConfigHeaderChecksum ***** +type patternPrefixConfigHeaderChecksum struct { + validation + obj *openapi.PatternPrefixConfigHeaderChecksum +} + +func NewPatternPrefixConfigHeaderChecksum() PatternPrefixConfigHeaderChecksum { + obj := patternPrefixConfigHeaderChecksum{obj: &openapi.PatternPrefixConfigHeaderChecksum{}} + obj.setDefault() + return &obj +} + +func (obj *patternPrefixConfigHeaderChecksum) Msg() *openapi.PatternPrefixConfigHeaderChecksum { + return obj.obj +} + +func (obj *patternPrefixConfigHeaderChecksum) SetMsg(msg *openapi.PatternPrefixConfigHeaderChecksum) PatternPrefixConfigHeaderChecksum { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *patternPrefixConfigHeaderChecksum) ToProto() (*openapi.PatternPrefixConfigHeaderChecksum, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *patternPrefixConfigHeaderChecksum) FromProto(msg *openapi.PatternPrefixConfigHeaderChecksum) (PatternPrefixConfigHeaderChecksum, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *patternPrefixConfigHeaderChecksum) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *patternPrefixConfigHeaderChecksum) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *patternPrefixConfigHeaderChecksum) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternPrefixConfigHeaderChecksum) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *patternPrefixConfigHeaderChecksum) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternPrefixConfigHeaderChecksum) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *patternPrefixConfigHeaderChecksum) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *patternPrefixConfigHeaderChecksum) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *patternPrefixConfigHeaderChecksum) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *patternPrefixConfigHeaderChecksum) Clone() (PatternPrefixConfigHeaderChecksum, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewPatternPrefixConfigHeaderChecksum() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// PatternPrefixConfigHeaderChecksum is header checksum +type PatternPrefixConfigHeaderChecksum interface { + Validation + // Msg marshals PatternPrefixConfigHeaderChecksum to protobuf object *openapi.PatternPrefixConfigHeaderChecksum + // and doesn't set defaults + Msg() *openapi.PatternPrefixConfigHeaderChecksum + // SetMsg unmarshals PatternPrefixConfigHeaderChecksum from protobuf object *openapi.PatternPrefixConfigHeaderChecksum + // and doesn't set defaults + SetMsg(*openapi.PatternPrefixConfigHeaderChecksum) PatternPrefixConfigHeaderChecksum + // ToProto marshals PatternPrefixConfigHeaderChecksum to protobuf object *openapi.PatternPrefixConfigHeaderChecksum + ToProto() (*openapi.PatternPrefixConfigHeaderChecksum, error) + // ToPbText marshals PatternPrefixConfigHeaderChecksum to protobuf text + ToPbText() (string, error) + // ToYaml marshals PatternPrefixConfigHeaderChecksum to YAML text + ToYaml() (string, error) + // ToJson marshals PatternPrefixConfigHeaderChecksum to JSON text + ToJson() (string, error) + // FromProto unmarshals PatternPrefixConfigHeaderChecksum from protobuf object *openapi.PatternPrefixConfigHeaderChecksum + FromProto(msg *openapi.PatternPrefixConfigHeaderChecksum) (PatternPrefixConfigHeaderChecksum, error) + // FromPbText unmarshals PatternPrefixConfigHeaderChecksum from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PatternPrefixConfigHeaderChecksum from YAML text + FromYaml(value string) error + // FromJson unmarshals PatternPrefixConfigHeaderChecksum from JSON text + FromJson(value string) error + // Validate validates PatternPrefixConfigHeaderChecksum + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (PatternPrefixConfigHeaderChecksum, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Choice returns PatternPrefixConfigHeaderChecksumChoiceEnum, set in PatternPrefixConfigHeaderChecksum + Choice() PatternPrefixConfigHeaderChecksumChoiceEnum + // SetChoice assigns PatternPrefixConfigHeaderChecksumChoiceEnum provided by user to PatternPrefixConfigHeaderChecksum + SetChoice(value PatternPrefixConfigHeaderChecksumChoiceEnum) PatternPrefixConfigHeaderChecksum + // HasChoice checks if Choice has been set in PatternPrefixConfigHeaderChecksum + HasChoice() bool + // Generated returns PatternPrefixConfigHeaderChecksumGeneratedEnum, set in PatternPrefixConfigHeaderChecksum + Generated() PatternPrefixConfigHeaderChecksumGeneratedEnum + // SetGenerated assigns PatternPrefixConfigHeaderChecksumGeneratedEnum provided by user to PatternPrefixConfigHeaderChecksum + SetGenerated(value PatternPrefixConfigHeaderChecksumGeneratedEnum) PatternPrefixConfigHeaderChecksum + // HasGenerated checks if Generated has been set in PatternPrefixConfigHeaderChecksum + HasGenerated() bool + // Custom returns uint32, set in PatternPrefixConfigHeaderChecksum. + Custom() uint32 + // SetCustom assigns uint32 provided by user to PatternPrefixConfigHeaderChecksum + SetCustom(value uint32) PatternPrefixConfigHeaderChecksum + // HasCustom checks if Custom has been set in PatternPrefixConfigHeaderChecksum + HasCustom() bool +} + +type PatternPrefixConfigHeaderChecksumChoiceEnum string + +// Enum of Choice on PatternPrefixConfigHeaderChecksum +var PatternPrefixConfigHeaderChecksumChoice = struct { + GENERATED PatternPrefixConfigHeaderChecksumChoiceEnum + CUSTOM PatternPrefixConfigHeaderChecksumChoiceEnum +}{ + GENERATED: PatternPrefixConfigHeaderChecksumChoiceEnum("generated"), + CUSTOM: PatternPrefixConfigHeaderChecksumChoiceEnum("custom"), +} + +func (obj *patternPrefixConfigHeaderChecksum) Choice() PatternPrefixConfigHeaderChecksumChoiceEnum { + return PatternPrefixConfigHeaderChecksumChoiceEnum(obj.obj.Choice.Enum().String()) +} + +// The type of checksum +// Choice returns a string +func (obj *patternPrefixConfigHeaderChecksum) HasChoice() bool { + return obj.obj.Choice != nil +} + +func (obj *patternPrefixConfigHeaderChecksum) SetChoice(value PatternPrefixConfigHeaderChecksumChoiceEnum) PatternPrefixConfigHeaderChecksum { + intValue, ok := openapi.PatternPrefixConfigHeaderChecksum_Choice_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on PatternPrefixConfigHeaderChecksumChoiceEnum", string(value))) + return obj + } + enumValue := openapi.PatternPrefixConfigHeaderChecksum_Choice_Enum(intValue) + obj.obj.Choice = &enumValue + obj.obj.Custom = nil + obj.obj.Generated = openapi.PatternPrefixConfigHeaderChecksum_Generated_unspecified.Enum() + return obj +} + +type PatternPrefixConfigHeaderChecksumGeneratedEnum string + +// Enum of Generated on PatternPrefixConfigHeaderChecksum +var PatternPrefixConfigHeaderChecksumGenerated = struct { + GOOD PatternPrefixConfigHeaderChecksumGeneratedEnum + BAD PatternPrefixConfigHeaderChecksumGeneratedEnum +}{ + GOOD: PatternPrefixConfigHeaderChecksumGeneratedEnum("good"), + BAD: PatternPrefixConfigHeaderChecksumGeneratedEnum("bad"), +} + +func (obj *patternPrefixConfigHeaderChecksum) Generated() PatternPrefixConfigHeaderChecksumGeneratedEnum { + return PatternPrefixConfigHeaderChecksumGeneratedEnum(obj.obj.Generated.Enum().String()) +} + +// A system generated checksum value +// Generated returns a string +func (obj *patternPrefixConfigHeaderChecksum) HasGenerated() bool { + return obj.obj.Generated != nil +} + +func (obj *patternPrefixConfigHeaderChecksum) SetGenerated(value PatternPrefixConfigHeaderChecksumGeneratedEnum) PatternPrefixConfigHeaderChecksum { + intValue, ok := openapi.PatternPrefixConfigHeaderChecksum_Generated_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on PatternPrefixConfigHeaderChecksumGeneratedEnum", string(value))) + return obj + } + enumValue := openapi.PatternPrefixConfigHeaderChecksum_Generated_Enum(intValue) + obj.obj.Generated = &enumValue + + return obj +} + +// A custom checksum value +// Custom returns a uint32 +func (obj *patternPrefixConfigHeaderChecksum) Custom() uint32 { + + if obj.obj.Custom == nil { + obj.SetChoice(PatternPrefixConfigHeaderChecksumChoice.CUSTOM) + } + + return *obj.obj.Custom + +} + +// A custom checksum value +// Custom returns a uint32 +func (obj *patternPrefixConfigHeaderChecksum) HasCustom() bool { + return obj.obj.Custom != nil +} + +// A custom checksum value +// SetCustom sets the uint32 value in the PatternPrefixConfigHeaderChecksum object +func (obj *patternPrefixConfigHeaderChecksum) SetCustom(value uint32) PatternPrefixConfigHeaderChecksum { + obj.SetChoice(PatternPrefixConfigHeaderChecksumChoice.CUSTOM) + obj.obj.Custom = &value + return obj +} + +func (obj *patternPrefixConfigHeaderChecksum) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Custom != nil { + + if *obj.obj.Custom > 65535 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("0 <= PatternPrefixConfigHeaderChecksum.Custom <= 65535 but Got %d", *obj.obj.Custom)) + } + + } + +} + +func (obj *patternPrefixConfigHeaderChecksum) setDefault() { + if obj.obj.Choice == nil { + obj.SetChoice(PatternPrefixConfigHeaderChecksumChoice.GENERATED) + if obj.obj.Generated.Number() == 0 { + obj.SetGenerated(PatternPrefixConfigHeaderChecksumGenerated.GOOD) + + } + + } + +} + +// ***** PatternPrefixConfigAutoFieldTest ***** +type patternPrefixConfigAutoFieldTest struct { + validation + obj *openapi.PatternPrefixConfigAutoFieldTest + incrementHolder PatternPrefixConfigAutoFieldTestCounter + decrementHolder PatternPrefixConfigAutoFieldTestCounter +} + +func NewPatternPrefixConfigAutoFieldTest() PatternPrefixConfigAutoFieldTest { + obj := patternPrefixConfigAutoFieldTest{obj: &openapi.PatternPrefixConfigAutoFieldTest{}} + obj.setDefault() + return &obj +} + +func (obj *patternPrefixConfigAutoFieldTest) Msg() *openapi.PatternPrefixConfigAutoFieldTest { + return obj.obj +} + +func (obj *patternPrefixConfigAutoFieldTest) SetMsg(msg *openapi.PatternPrefixConfigAutoFieldTest) PatternPrefixConfigAutoFieldTest { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *patternPrefixConfigAutoFieldTest) ToProto() (*openapi.PatternPrefixConfigAutoFieldTest, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *patternPrefixConfigAutoFieldTest) FromProto(msg *openapi.PatternPrefixConfigAutoFieldTest) (PatternPrefixConfigAutoFieldTest, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *patternPrefixConfigAutoFieldTest) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *patternPrefixConfigAutoFieldTest) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *patternPrefixConfigAutoFieldTest) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternPrefixConfigAutoFieldTest) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *patternPrefixConfigAutoFieldTest) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternPrefixConfigAutoFieldTest) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *patternPrefixConfigAutoFieldTest) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *patternPrefixConfigAutoFieldTest) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *patternPrefixConfigAutoFieldTest) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *patternPrefixConfigAutoFieldTest) Clone() (PatternPrefixConfigAutoFieldTest, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewPatternPrefixConfigAutoFieldTest() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *patternPrefixConfigAutoFieldTest) setNil() { + obj.incrementHolder = nil + obj.decrementHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// PatternPrefixConfigAutoFieldTest is tBD +type PatternPrefixConfigAutoFieldTest interface { + Validation + // Msg marshals PatternPrefixConfigAutoFieldTest to protobuf object *openapi.PatternPrefixConfigAutoFieldTest + // and doesn't set defaults + Msg() *openapi.PatternPrefixConfigAutoFieldTest + // SetMsg unmarshals PatternPrefixConfigAutoFieldTest from protobuf object *openapi.PatternPrefixConfigAutoFieldTest + // and doesn't set defaults + SetMsg(*openapi.PatternPrefixConfigAutoFieldTest) PatternPrefixConfigAutoFieldTest + // ToProto marshals PatternPrefixConfigAutoFieldTest to protobuf object *openapi.PatternPrefixConfigAutoFieldTest + ToProto() (*openapi.PatternPrefixConfigAutoFieldTest, error) + // ToPbText marshals PatternPrefixConfigAutoFieldTest to protobuf text + ToPbText() (string, error) + // ToYaml marshals PatternPrefixConfigAutoFieldTest to YAML text + ToYaml() (string, error) + // ToJson marshals PatternPrefixConfigAutoFieldTest to JSON text + ToJson() (string, error) + // FromProto unmarshals PatternPrefixConfigAutoFieldTest from protobuf object *openapi.PatternPrefixConfigAutoFieldTest + FromProto(msg *openapi.PatternPrefixConfigAutoFieldTest) (PatternPrefixConfigAutoFieldTest, error) + // FromPbText unmarshals PatternPrefixConfigAutoFieldTest from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PatternPrefixConfigAutoFieldTest from YAML text + FromYaml(value string) error + // FromJson unmarshals PatternPrefixConfigAutoFieldTest from JSON text + FromJson(value string) error + // Validate validates PatternPrefixConfigAutoFieldTest + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (PatternPrefixConfigAutoFieldTest, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Choice returns PatternPrefixConfigAutoFieldTestChoiceEnum, set in PatternPrefixConfigAutoFieldTest + Choice() PatternPrefixConfigAutoFieldTestChoiceEnum + // SetChoice assigns PatternPrefixConfigAutoFieldTestChoiceEnum provided by user to PatternPrefixConfigAutoFieldTest + SetChoice(value PatternPrefixConfigAutoFieldTestChoiceEnum) PatternPrefixConfigAutoFieldTest + // HasChoice checks if Choice has been set in PatternPrefixConfigAutoFieldTest + HasChoice() bool + // Value returns uint32, set in PatternPrefixConfigAutoFieldTest. + Value() uint32 + // SetValue assigns uint32 provided by user to PatternPrefixConfigAutoFieldTest + SetValue(value uint32) PatternPrefixConfigAutoFieldTest + // HasValue checks if Value has been set in PatternPrefixConfigAutoFieldTest + HasValue() bool + // Values returns []uint32, set in PatternPrefixConfigAutoFieldTest. + Values() []uint32 + // SetValues assigns []uint32 provided by user to PatternPrefixConfigAutoFieldTest + SetValues(value []uint32) PatternPrefixConfigAutoFieldTest + // Auto returns uint32, set in PatternPrefixConfigAutoFieldTest. + Auto() uint32 + // HasAuto checks if Auto has been set in PatternPrefixConfigAutoFieldTest + HasAuto() bool + // Increment returns PatternPrefixConfigAutoFieldTestCounter, set in PatternPrefixConfigAutoFieldTest. + // PatternPrefixConfigAutoFieldTestCounter is integer counter pattern + Increment() PatternPrefixConfigAutoFieldTestCounter + // SetIncrement assigns PatternPrefixConfigAutoFieldTestCounter provided by user to PatternPrefixConfigAutoFieldTest. + // PatternPrefixConfigAutoFieldTestCounter is integer counter pattern + SetIncrement(value PatternPrefixConfigAutoFieldTestCounter) PatternPrefixConfigAutoFieldTest + // HasIncrement checks if Increment has been set in PatternPrefixConfigAutoFieldTest + HasIncrement() bool + // Decrement returns PatternPrefixConfigAutoFieldTestCounter, set in PatternPrefixConfigAutoFieldTest. + // PatternPrefixConfigAutoFieldTestCounter is integer counter pattern + Decrement() PatternPrefixConfigAutoFieldTestCounter + // SetDecrement assigns PatternPrefixConfigAutoFieldTestCounter provided by user to PatternPrefixConfigAutoFieldTest. + // PatternPrefixConfigAutoFieldTestCounter is integer counter pattern + SetDecrement(value PatternPrefixConfigAutoFieldTestCounter) PatternPrefixConfigAutoFieldTest + // HasDecrement checks if Decrement has been set in PatternPrefixConfigAutoFieldTest + HasDecrement() bool + setNil() +} + +type PatternPrefixConfigAutoFieldTestChoiceEnum string + +// Enum of Choice on PatternPrefixConfigAutoFieldTest +var PatternPrefixConfigAutoFieldTestChoice = struct { + VALUE PatternPrefixConfigAutoFieldTestChoiceEnum + VALUES PatternPrefixConfigAutoFieldTestChoiceEnum + AUTO PatternPrefixConfigAutoFieldTestChoiceEnum + INCREMENT PatternPrefixConfigAutoFieldTestChoiceEnum + DECREMENT PatternPrefixConfigAutoFieldTestChoiceEnum +}{ + VALUE: PatternPrefixConfigAutoFieldTestChoiceEnum("value"), + VALUES: PatternPrefixConfigAutoFieldTestChoiceEnum("values"), + AUTO: PatternPrefixConfigAutoFieldTestChoiceEnum("auto"), + INCREMENT: PatternPrefixConfigAutoFieldTestChoiceEnum("increment"), + DECREMENT: PatternPrefixConfigAutoFieldTestChoiceEnum("decrement"), +} + +func (obj *patternPrefixConfigAutoFieldTest) Choice() PatternPrefixConfigAutoFieldTestChoiceEnum { + return PatternPrefixConfigAutoFieldTestChoiceEnum(obj.obj.Choice.Enum().String()) +} + +// description is TBD +// Choice returns a string +func (obj *patternPrefixConfigAutoFieldTest) HasChoice() bool { + return obj.obj.Choice != nil +} + +func (obj *patternPrefixConfigAutoFieldTest) SetChoice(value PatternPrefixConfigAutoFieldTestChoiceEnum) PatternPrefixConfigAutoFieldTest { + intValue, ok := openapi.PatternPrefixConfigAutoFieldTest_Choice_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on PatternPrefixConfigAutoFieldTestChoiceEnum", string(value))) + return obj + } + enumValue := openapi.PatternPrefixConfigAutoFieldTest_Choice_Enum(intValue) + obj.obj.Choice = &enumValue + obj.obj.Decrement = nil + obj.decrementHolder = nil + obj.obj.Increment = nil + obj.incrementHolder = nil + obj.obj.Auto = nil + obj.obj.Values = nil + obj.obj.Value = nil + + if value == PatternPrefixConfigAutoFieldTestChoice.VALUE { + defaultValue := uint32(0) + obj.obj.Value = &defaultValue + } + + if value == PatternPrefixConfigAutoFieldTestChoice.VALUES { + defaultValue := []uint32{0} + obj.obj.Values = defaultValue + } + + if value == PatternPrefixConfigAutoFieldTestChoice.AUTO { + defaultValue := uint32(0) + obj.obj.Auto = &defaultValue + } + + if value == PatternPrefixConfigAutoFieldTestChoice.INCREMENT { + obj.obj.Increment = NewPatternPrefixConfigAutoFieldTestCounter().Msg() + } + + if value == PatternPrefixConfigAutoFieldTestChoice.DECREMENT { + obj.obj.Decrement = NewPatternPrefixConfigAutoFieldTestCounter().Msg() + } + + return obj +} + +// description is TBD +// Value returns a uint32 +func (obj *patternPrefixConfigAutoFieldTest) Value() uint32 { + + if obj.obj.Value == nil { + obj.SetChoice(PatternPrefixConfigAutoFieldTestChoice.VALUE) + } + + return *obj.obj.Value + +} + +// description is TBD +// Value returns a uint32 +func (obj *patternPrefixConfigAutoFieldTest) HasValue() bool { + return obj.obj.Value != nil +} + +// description is TBD +// SetValue sets the uint32 value in the PatternPrefixConfigAutoFieldTest object +func (obj *patternPrefixConfigAutoFieldTest) SetValue(value uint32) PatternPrefixConfigAutoFieldTest { + obj.SetChoice(PatternPrefixConfigAutoFieldTestChoice.VALUE) + obj.obj.Value = &value + return obj +} + +// description is TBD +// Values returns a []uint32 +func (obj *patternPrefixConfigAutoFieldTest) Values() []uint32 { + if obj.obj.Values == nil { + obj.SetValues([]uint32{0}) + } + return obj.obj.Values +} + +// description is TBD +// SetValues sets the []uint32 value in the PatternPrefixConfigAutoFieldTest object +func (obj *patternPrefixConfigAutoFieldTest) SetValues(value []uint32) PatternPrefixConfigAutoFieldTest { + obj.SetChoice(PatternPrefixConfigAutoFieldTestChoice.VALUES) + if obj.obj.Values == nil { + obj.obj.Values = make([]uint32, 0) + } + obj.obj.Values = value + + return obj +} + +// The OTG implementation can provide a system generated +// value for this property. If the OTG is unable to generate a value +// the default value must be used. +// Auto returns a uint32 +func (obj *patternPrefixConfigAutoFieldTest) Auto() uint32 { + + if obj.obj.Auto == nil { + obj.SetChoice(PatternPrefixConfigAutoFieldTestChoice.AUTO) + } + + return *obj.obj.Auto + +} + +// The OTG implementation can provide a system generated +// value for this property. If the OTG is unable to generate a value +// the default value must be used. +// Auto returns a uint32 +func (obj *patternPrefixConfigAutoFieldTest) HasAuto() bool { + return obj.obj.Auto != nil +} + +// description is TBD +// Increment returns a PatternPrefixConfigAutoFieldTestCounter +func (obj *patternPrefixConfigAutoFieldTest) Increment() PatternPrefixConfigAutoFieldTestCounter { + if obj.obj.Increment == nil { + obj.SetChoice(PatternPrefixConfigAutoFieldTestChoice.INCREMENT) + } + if obj.incrementHolder == nil { + obj.incrementHolder = &patternPrefixConfigAutoFieldTestCounter{obj: obj.obj.Increment} + } + return obj.incrementHolder +} + +// description is TBD +// Increment returns a PatternPrefixConfigAutoFieldTestCounter +func (obj *patternPrefixConfigAutoFieldTest) HasIncrement() bool { + return obj.obj.Increment != nil +} + +// description is TBD +// SetIncrement sets the PatternPrefixConfigAutoFieldTestCounter value in the PatternPrefixConfigAutoFieldTest object +func (obj *patternPrefixConfigAutoFieldTest) SetIncrement(value PatternPrefixConfigAutoFieldTestCounter) PatternPrefixConfigAutoFieldTest { + obj.SetChoice(PatternPrefixConfigAutoFieldTestChoice.INCREMENT) + obj.incrementHolder = nil + obj.obj.Increment = value.Msg() + + return obj +} + +// description is TBD +// Decrement returns a PatternPrefixConfigAutoFieldTestCounter +func (obj *patternPrefixConfigAutoFieldTest) Decrement() PatternPrefixConfigAutoFieldTestCounter { + if obj.obj.Decrement == nil { + obj.SetChoice(PatternPrefixConfigAutoFieldTestChoice.DECREMENT) + } + if obj.decrementHolder == nil { + obj.decrementHolder = &patternPrefixConfigAutoFieldTestCounter{obj: obj.obj.Decrement} + } + return obj.decrementHolder +} + +// description is TBD +// Decrement returns a PatternPrefixConfigAutoFieldTestCounter +func (obj *patternPrefixConfigAutoFieldTest) HasDecrement() bool { + return obj.obj.Decrement != nil +} + +// description is TBD +// SetDecrement sets the PatternPrefixConfigAutoFieldTestCounter value in the PatternPrefixConfigAutoFieldTest object +func (obj *patternPrefixConfigAutoFieldTest) SetDecrement(value PatternPrefixConfigAutoFieldTestCounter) PatternPrefixConfigAutoFieldTest { + obj.SetChoice(PatternPrefixConfigAutoFieldTestChoice.DECREMENT) + obj.decrementHolder = nil + obj.obj.Decrement = value.Msg() + + return obj +} + +func (obj *patternPrefixConfigAutoFieldTest) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Value != nil { + + if *obj.obj.Value > 255 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("0 <= PatternPrefixConfigAutoFieldTest.Value <= 255 but Got %d", *obj.obj.Value)) + } + + } + + if obj.obj.Values != nil { + + for _, item := range obj.obj.Values { + if item > 255 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("min(uint32) <= PatternPrefixConfigAutoFieldTest.Values <= 255 but Got %d", item)) + } + + } + + } + + if obj.obj.Auto != nil { + + if *obj.obj.Auto > 255 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("0 <= PatternPrefixConfigAutoFieldTest.Auto <= 255 but Got %d", *obj.obj.Auto)) + } + + } + + if obj.obj.Increment != nil { + + obj.Increment().validateObj(vObj, set_default) + } + + if obj.obj.Decrement != nil { + + obj.Decrement().validateObj(vObj, set_default) + } + +} + +func (obj *patternPrefixConfigAutoFieldTest) setDefault() { + if obj.obj.Choice == nil { + obj.SetChoice(PatternPrefixConfigAutoFieldTestChoice.AUTO) + + } + +} + +// ***** WObject ***** +type wObject struct { + validation + obj *openapi.WObject +} + +func NewWObject() WObject { + obj := wObject{obj: &openapi.WObject{}} + obj.setDefault() + return &obj +} + +func (obj *wObject) Msg() *openapi.WObject { + return obj.obj +} + +func (obj *wObject) SetMsg(msg *openapi.WObject) WObject { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *wObject) ToProto() (*openapi.WObject, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *wObject) FromProto(msg *openapi.WObject) (WObject, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *wObject) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *wObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *wObject) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *wObject) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *wObject) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *wObject) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *wObject) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *wObject) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *wObject) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *wObject) Clone() (WObject, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewWObject() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// WObject is description is TBD +type WObject interface { + Validation + // Msg marshals WObject to protobuf object *openapi.WObject + // and doesn't set defaults + Msg() *openapi.WObject + // SetMsg unmarshals WObject from protobuf object *openapi.WObject + // and doesn't set defaults + SetMsg(*openapi.WObject) WObject + // ToProto marshals WObject to protobuf object *openapi.WObject + ToProto() (*openapi.WObject, error) + // ToPbText marshals WObject to protobuf text + ToPbText() (string, error) + // ToYaml marshals WObject to YAML text + ToYaml() (string, error) + // ToJson marshals WObject to JSON text + ToJson() (string, error) + // FromProto unmarshals WObject from protobuf object *openapi.WObject + FromProto(msg *openapi.WObject) (WObject, error) + // FromPbText unmarshals WObject from protobuf text + FromPbText(value string) error + // FromYaml unmarshals WObject from YAML text + FromYaml(value string) error + // FromJson unmarshals WObject from JSON text + FromJson(value string) error + // Validate validates WObject + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (WObject, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // WName returns string, set in WObject. + WName() string + // SetWName assigns string provided by user to WObject + SetWName(value string) WObject +} + +// description is TBD +// WName returns a string +func (obj *wObject) WName() string { + + return obj.obj.WName +} + +// description is TBD +// SetWName sets the string value in the WObject object +func (obj *wObject) SetWName(value string) WObject { + + obj.obj.WName = value + return obj +} + +func (obj *wObject) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + // WName is required + if obj.obj.WName == "" { + vObj.validationErrors = append(vObj.validationErrors, "WName is required field on interface WObject") + } +} + +func (obj *wObject) setDefault() { + +} + +// ***** ZObject ***** +type zObject struct { + validation + obj *openapi.ZObject +} + +func NewZObject() ZObject { + obj := zObject{obj: &openapi.ZObject{}} + obj.setDefault() + return &obj +} + +func (obj *zObject) Msg() *openapi.ZObject { + return obj.obj +} + +func (obj *zObject) SetMsg(msg *openapi.ZObject) ZObject { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *zObject) ToProto() (*openapi.ZObject, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *zObject) FromProto(msg *openapi.ZObject) (ZObject, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *zObject) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *zObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *zObject) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *zObject) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *zObject) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *zObject) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *zObject) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *zObject) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *zObject) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *zObject) Clone() (ZObject, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewZObject() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// ZObject is description is TBD +type ZObject interface { + Validation + // Msg marshals ZObject to protobuf object *openapi.ZObject + // and doesn't set defaults + Msg() *openapi.ZObject + // SetMsg unmarshals ZObject from protobuf object *openapi.ZObject + // and doesn't set defaults + SetMsg(*openapi.ZObject) ZObject + // ToProto marshals ZObject to protobuf object *openapi.ZObject + ToProto() (*openapi.ZObject, error) + // ToPbText marshals ZObject to protobuf text + ToPbText() (string, error) + // ToYaml marshals ZObject to YAML text + ToYaml() (string, error) + // ToJson marshals ZObject to JSON text + ToJson() (string, error) + // FromProto unmarshals ZObject from protobuf object *openapi.ZObject + FromProto(msg *openapi.ZObject) (ZObject, error) + // FromPbText unmarshals ZObject from protobuf text + FromPbText(value string) error + // FromYaml unmarshals ZObject from YAML text + FromYaml(value string) error + // FromJson unmarshals ZObject from JSON text + FromJson(value string) error + // Validate validates ZObject + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (ZObject, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Name returns string, set in ZObject. + Name() string + // SetName assigns string provided by user to ZObject + SetName(value string) ZObject +} + +// description is TBD +// Name returns a string +func (obj *zObject) Name() string { + + return obj.obj.Name +} + +// description is TBD +// SetName sets the string value in the ZObject object +func (obj *zObject) SetName(value string) ZObject { + + obj.obj.Name = value + return obj +} + +func (obj *zObject) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + // Name is required + if obj.obj.Name == "" { + vObj.validationErrors = append(vObj.validationErrors, "Name is required field on interface ZObject") + } +} + +func (obj *zObject) setDefault() { + +} + +// ***** YObject ***** +type yObject struct { + validation + obj *openapi.YObject +} + +func NewYObject() YObject { + obj := yObject{obj: &openapi.YObject{}} + obj.setDefault() + return &obj +} + +func (obj *yObject) Msg() *openapi.YObject { + return obj.obj +} + +func (obj *yObject) SetMsg(msg *openapi.YObject) YObject { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *yObject) ToProto() (*openapi.YObject, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *yObject) FromProto(msg *openapi.YObject) (YObject, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *yObject) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *yObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *yObject) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *yObject) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *yObject) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *yObject) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *yObject) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *yObject) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *yObject) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *yObject) Clone() (YObject, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewYObject() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// YObject is description is TBD +type YObject interface { + Validation + // Msg marshals YObject to protobuf object *openapi.YObject + // and doesn't set defaults + Msg() *openapi.YObject + // SetMsg unmarshals YObject from protobuf object *openapi.YObject + // and doesn't set defaults + SetMsg(*openapi.YObject) YObject + // ToProto marshals YObject to protobuf object *openapi.YObject + ToProto() (*openapi.YObject, error) + // ToPbText marshals YObject to protobuf text + ToPbText() (string, error) + // ToYaml marshals YObject to YAML text + ToYaml() (string, error) + // ToJson marshals YObject to JSON text + ToJson() (string, error) + // FromProto unmarshals YObject from protobuf object *openapi.YObject + FromProto(msg *openapi.YObject) (YObject, error) + // FromPbText unmarshals YObject from protobuf text + FromPbText(value string) error + // FromYaml unmarshals YObject from YAML text + FromYaml(value string) error + // FromJson unmarshals YObject from JSON text + FromJson(value string) error + // Validate validates YObject + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (YObject, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // YName returns string, set in YObject. + YName() string + // SetYName assigns string provided by user to YObject + SetYName(value string) YObject + // HasYName checks if YName has been set in YObject + HasYName() bool +} + +// TBD +// +// x-constraint: +// - /components/schemas/ZObject/properties/name +// - /components/schemas/WObject/properties/w_name +// +// YName returns a string +func (obj *yObject) YName() string { + + return *obj.obj.YName + +} + +// TBD +// +// x-constraint: +// - /components/schemas/ZObject/properties/name +// - /components/schemas/WObject/properties/w_name +// +// YName returns a string +func (obj *yObject) HasYName() bool { + return obj.obj.YName != nil +} + +// TBD +// +// x-constraint: +// - /components/schemas/ZObject/properties/name +// - /components/schemas/WObject/properties/w_name +// +// SetYName sets the string value in the YObject object +func (obj *yObject) SetYName(value string) YObject { + + obj.obj.YName = &value + return obj +} + +func (obj *yObject) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + +} + +func (obj *yObject) setDefault() { + +} + +// ***** ChoiceObject ***** +type choiceObject struct { + validation + obj *openapi.ChoiceObject + eObjHolder EObject + fObjHolder FObject +} + +func NewChoiceObject() ChoiceObject { + obj := choiceObject{obj: &openapi.ChoiceObject{}} + obj.setDefault() + return &obj +} + +func (obj *choiceObject) Msg() *openapi.ChoiceObject { + return obj.obj +} + +func (obj *choiceObject) SetMsg(msg *openapi.ChoiceObject) ChoiceObject { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *choiceObject) ToProto() (*openapi.ChoiceObject, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *choiceObject) FromProto(msg *openapi.ChoiceObject) (ChoiceObject, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *choiceObject) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *choiceObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *choiceObject) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *choiceObject) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *choiceObject) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *choiceObject) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *choiceObject) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *choiceObject) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *choiceObject) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *choiceObject) Clone() (ChoiceObject, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewChoiceObject() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *choiceObject) setNil() { + obj.eObjHolder = nil + obj.fObjHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// ChoiceObject is description is TBD +type ChoiceObject interface { + Validation + // Msg marshals ChoiceObject to protobuf object *openapi.ChoiceObject + // and doesn't set defaults + Msg() *openapi.ChoiceObject + // SetMsg unmarshals ChoiceObject from protobuf object *openapi.ChoiceObject + // and doesn't set defaults + SetMsg(*openapi.ChoiceObject) ChoiceObject + // ToProto marshals ChoiceObject to protobuf object *openapi.ChoiceObject + ToProto() (*openapi.ChoiceObject, error) + // ToPbText marshals ChoiceObject to protobuf text + ToPbText() (string, error) + // ToYaml marshals ChoiceObject to YAML text + ToYaml() (string, error) + // ToJson marshals ChoiceObject to JSON text + ToJson() (string, error) + // FromProto unmarshals ChoiceObject from protobuf object *openapi.ChoiceObject + FromProto(msg *openapi.ChoiceObject) (ChoiceObject, error) + // FromPbText unmarshals ChoiceObject from protobuf text + FromPbText(value string) error + // FromYaml unmarshals ChoiceObject from YAML text + FromYaml(value string) error + // FromJson unmarshals ChoiceObject from JSON text + FromJson(value string) error + // Validate validates ChoiceObject + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (ChoiceObject, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Choice returns ChoiceObjectChoiceEnum, set in ChoiceObject + Choice() ChoiceObjectChoiceEnum + // SetChoice assigns ChoiceObjectChoiceEnum provided by user to ChoiceObject + SetChoice(value ChoiceObjectChoiceEnum) ChoiceObject + // HasChoice checks if Choice has been set in ChoiceObject + HasChoice() bool + // EObj returns EObject, set in ChoiceObject. + // EObject is description is TBD + EObj() EObject + // SetEObj assigns EObject provided by user to ChoiceObject. + // EObject is description is TBD + SetEObj(value EObject) ChoiceObject + // HasEObj checks if EObj has been set in ChoiceObject + HasEObj() bool + // FObj returns FObject, set in ChoiceObject. + // FObject is description is TBD + FObj() FObject + // SetFObj assigns FObject provided by user to ChoiceObject. + // FObject is description is TBD + SetFObj(value FObject) ChoiceObject + // HasFObj checks if FObj has been set in ChoiceObject + HasFObj() bool + setNil() +} + +type ChoiceObjectChoiceEnum string + +// Enum of Choice on ChoiceObject +var ChoiceObjectChoice = struct { + E_OBJ ChoiceObjectChoiceEnum + F_OBJ ChoiceObjectChoiceEnum + NO_OBJ ChoiceObjectChoiceEnum +}{ + E_OBJ: ChoiceObjectChoiceEnum("e_obj"), + F_OBJ: ChoiceObjectChoiceEnum("f_obj"), + NO_OBJ: ChoiceObjectChoiceEnum("no_obj"), +} + +func (obj *choiceObject) Choice() ChoiceObjectChoiceEnum { + return ChoiceObjectChoiceEnum(obj.obj.Choice.Enum().String()) +} + +// description is TBD +// Choice returns a string +func (obj *choiceObject) HasChoice() bool { + return obj.obj.Choice != nil +} + +func (obj *choiceObject) SetChoice(value ChoiceObjectChoiceEnum) ChoiceObject { + intValue, ok := openapi.ChoiceObject_Choice_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on ChoiceObjectChoiceEnum", string(value))) + return obj + } + enumValue := openapi.ChoiceObject_Choice_Enum(intValue) + obj.obj.Choice = &enumValue + obj.obj.FObj = nil + obj.fObjHolder = nil + obj.obj.EObj = nil + obj.eObjHolder = nil + + if value == ChoiceObjectChoice.E_OBJ { + obj.obj.EObj = NewEObject().Msg() + } + + if value == ChoiceObjectChoice.F_OBJ { + obj.obj.FObj = NewFObject().Msg() + } + + return obj +} + +// description is TBD +// EObj returns a EObject +func (obj *choiceObject) EObj() EObject { + if obj.obj.EObj == nil { + obj.SetChoice(ChoiceObjectChoice.E_OBJ) + } + if obj.eObjHolder == nil { + obj.eObjHolder = &eObject{obj: obj.obj.EObj} + } + return obj.eObjHolder +} + +// description is TBD +// EObj returns a EObject +func (obj *choiceObject) HasEObj() bool { + return obj.obj.EObj != nil +} + +// description is TBD +// SetEObj sets the EObject value in the ChoiceObject object +func (obj *choiceObject) SetEObj(value EObject) ChoiceObject { + obj.SetChoice(ChoiceObjectChoice.E_OBJ) + obj.eObjHolder = nil + obj.obj.EObj = value.Msg() + + return obj +} + +// description is TBD +// FObj returns a FObject +func (obj *choiceObject) FObj() FObject { + if obj.obj.FObj == nil { + obj.SetChoice(ChoiceObjectChoice.F_OBJ) + } + if obj.fObjHolder == nil { + obj.fObjHolder = &fObject{obj: obj.obj.FObj} + } + return obj.fObjHolder +} + +// description is TBD +// FObj returns a FObject +func (obj *choiceObject) HasFObj() bool { + return obj.obj.FObj != nil +} + +// description is TBD +// SetFObj sets the FObject value in the ChoiceObject object +func (obj *choiceObject) SetFObj(value FObject) ChoiceObject { + obj.SetChoice(ChoiceObjectChoice.F_OBJ) + obj.fObjHolder = nil + obj.obj.FObj = value.Msg() + + return obj +} + +func (obj *choiceObject) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.EObj != nil { + + obj.EObj().validateObj(vObj, set_default) + } + + if obj.obj.FObj != nil { + + obj.FObj().validateObj(vObj, set_default) + } + +} + +func (obj *choiceObject) setDefault() { + if obj.obj.Choice == nil { + obj.SetChoice(ChoiceObjectChoice.NO_OBJ) + + } + +} + +// ***** RequiredChoiceParent ***** +type requiredChoiceParent struct { + validation + obj *openapi.RequiredChoiceParent + intermediateObjHolder RequiredChoiceIntermediate +} + +func NewRequiredChoiceParent() RequiredChoiceParent { + obj := requiredChoiceParent{obj: &openapi.RequiredChoiceParent{}} + obj.setDefault() + return &obj +} + +func (obj *requiredChoiceParent) Msg() *openapi.RequiredChoiceParent { + return obj.obj +} + +func (obj *requiredChoiceParent) SetMsg(msg *openapi.RequiredChoiceParent) RequiredChoiceParent { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *requiredChoiceParent) ToProto() (*openapi.RequiredChoiceParent, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *requiredChoiceParent) FromProto(msg *openapi.RequiredChoiceParent) (RequiredChoiceParent, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *requiredChoiceParent) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *requiredChoiceParent) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *requiredChoiceParent) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *requiredChoiceParent) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *requiredChoiceParent) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *requiredChoiceParent) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *requiredChoiceParent) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *requiredChoiceParent) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *requiredChoiceParent) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *requiredChoiceParent) Clone() (RequiredChoiceParent, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewRequiredChoiceParent() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *requiredChoiceParent) setNil() { + obj.intermediateObjHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// RequiredChoiceParent is description is TBD +type RequiredChoiceParent interface { + Validation + // Msg marshals RequiredChoiceParent to protobuf object *openapi.RequiredChoiceParent + // and doesn't set defaults + Msg() *openapi.RequiredChoiceParent + // SetMsg unmarshals RequiredChoiceParent from protobuf object *openapi.RequiredChoiceParent + // and doesn't set defaults + SetMsg(*openapi.RequiredChoiceParent) RequiredChoiceParent + // ToProto marshals RequiredChoiceParent to protobuf object *openapi.RequiredChoiceParent + ToProto() (*openapi.RequiredChoiceParent, error) + // ToPbText marshals RequiredChoiceParent to protobuf text + ToPbText() (string, error) + // ToYaml marshals RequiredChoiceParent to YAML text + ToYaml() (string, error) + // ToJson marshals RequiredChoiceParent to JSON text + ToJson() (string, error) + // FromProto unmarshals RequiredChoiceParent from protobuf object *openapi.RequiredChoiceParent + FromProto(msg *openapi.RequiredChoiceParent) (RequiredChoiceParent, error) + // FromPbText unmarshals RequiredChoiceParent from protobuf text + FromPbText(value string) error + // FromYaml unmarshals RequiredChoiceParent from YAML text + FromYaml(value string) error + // FromJson unmarshals RequiredChoiceParent from JSON text + FromJson(value string) error + // Validate validates RequiredChoiceParent + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (RequiredChoiceParent, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Choice returns RequiredChoiceParentChoiceEnum, set in RequiredChoiceParent + Choice() RequiredChoiceParentChoiceEnum + // SetChoice assigns RequiredChoiceParentChoiceEnum provided by user to RequiredChoiceParent + SetChoice(value RequiredChoiceParentChoiceEnum) RequiredChoiceParent + // IntermediateObj returns RequiredChoiceIntermediate, set in RequiredChoiceParent. + // RequiredChoiceIntermediate is description is TBD + IntermediateObj() RequiredChoiceIntermediate + // SetIntermediateObj assigns RequiredChoiceIntermediate provided by user to RequiredChoiceParent. + // RequiredChoiceIntermediate is description is TBD + SetIntermediateObj(value RequiredChoiceIntermediate) RequiredChoiceParent + // HasIntermediateObj checks if IntermediateObj has been set in RequiredChoiceParent + HasIntermediateObj() bool + setNil() +} + +type RequiredChoiceParentChoiceEnum string + +// Enum of Choice on RequiredChoiceParent +var RequiredChoiceParentChoice = struct { + INTERMEDIATE_OBJ RequiredChoiceParentChoiceEnum + NO_OBJ RequiredChoiceParentChoiceEnum +}{ + INTERMEDIATE_OBJ: RequiredChoiceParentChoiceEnum("intermediate_obj"), + NO_OBJ: RequiredChoiceParentChoiceEnum("no_obj"), +} + +func (obj *requiredChoiceParent) Choice() RequiredChoiceParentChoiceEnum { + return RequiredChoiceParentChoiceEnum(obj.obj.Choice.Enum().String()) +} + +func (obj *requiredChoiceParent) SetChoice(value RequiredChoiceParentChoiceEnum) RequiredChoiceParent { + intValue, ok := openapi.RequiredChoiceParent_Choice_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on RequiredChoiceParentChoiceEnum", string(value))) + return obj + } + obj.obj.Choice = openapi.RequiredChoiceParent_Choice_Enum(intValue) + obj.obj.IntermediateObj = nil + obj.intermediateObjHolder = nil + + if value == RequiredChoiceParentChoice.INTERMEDIATE_OBJ { + obj.obj.IntermediateObj = NewRequiredChoiceIntermediate().Msg() + } + + return obj +} + +// description is TBD +// IntermediateObj returns a RequiredChoiceIntermediate +func (obj *requiredChoiceParent) IntermediateObj() RequiredChoiceIntermediate { + if obj.obj.IntermediateObj == nil { + obj.SetChoice(RequiredChoiceParentChoice.INTERMEDIATE_OBJ) + } + if obj.intermediateObjHolder == nil { + obj.intermediateObjHolder = &requiredChoiceIntermediate{obj: obj.obj.IntermediateObj} + } + return obj.intermediateObjHolder +} + +// description is TBD +// IntermediateObj returns a RequiredChoiceIntermediate +func (obj *requiredChoiceParent) HasIntermediateObj() bool { + return obj.obj.IntermediateObj != nil +} + +// description is TBD +// SetIntermediateObj sets the RequiredChoiceIntermediate value in the RequiredChoiceParent object +func (obj *requiredChoiceParent) SetIntermediateObj(value RequiredChoiceIntermediate) RequiredChoiceParent { + obj.SetChoice(RequiredChoiceParentChoice.INTERMEDIATE_OBJ) + obj.intermediateObjHolder = nil + obj.obj.IntermediateObj = value.Msg() + + return obj +} + +func (obj *requiredChoiceParent) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + // Choice is required + if obj.obj.Choice.Number() == 0 { + vObj.validationErrors = append(vObj.validationErrors, "Choice is required field on interface RequiredChoiceParent") + } + + if obj.obj.IntermediateObj != nil { + + obj.IntermediateObj().validateObj(vObj, set_default) + } + +} + +func (obj *requiredChoiceParent) setDefault() { + +} + +// ***** Error ***** +type _error struct { + validation + obj *openapi.Error +} + +func NewError() Error { + obj := _error{obj: &openapi.Error{}} + obj.setDefault() + return &obj +} + +func (obj *_error) Msg() *openapi.Error { + return obj.obj +} + +func (obj *_error) SetMsg(msg *openapi.Error) Error { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *_error) ToProto() (*openapi.Error, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *_error) FromProto(msg *openapi.Error) (Error, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *_error) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *_error) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *_error) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *_error) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *_error) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *_error) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *_error) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *_error) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *_error) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *_error) Clone() (Error, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewError() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// Error is error response generated while serving API request. +type Error interface { + Validation + // Msg marshals Error to protobuf object *openapi.Error + // and doesn't set defaults + Msg() *openapi.Error + // SetMsg unmarshals Error from protobuf object *openapi.Error + // and doesn't set defaults + SetMsg(*openapi.Error) Error + // ToProto marshals Error to protobuf object *openapi.Error + ToProto() (*openapi.Error, error) + // ToPbText marshals Error to protobuf text + ToPbText() (string, error) + // ToYaml marshals Error to YAML text + ToYaml() (string, error) + // ToJson marshals Error to JSON text + ToJson() (string, error) + // FromProto unmarshals Error from protobuf object *openapi.Error + FromProto(msg *openapi.Error) (Error, error) + // FromPbText unmarshals Error from protobuf text + FromPbText(value string) error + // FromYaml unmarshals Error from YAML text + FromYaml(value string) error + // FromJson unmarshals Error from JSON text + FromJson(value string) error + // Validate validates Error + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (Error, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Code returns int32, set in Error. + Code() int32 + // SetCode assigns int32 provided by user to Error + SetCode(value int32) Error + // Kind returns ErrorKindEnum, set in Error + Kind() ErrorKindEnum + // SetKind assigns ErrorKindEnum provided by user to Error + SetKind(value ErrorKindEnum) Error + // HasKind checks if Kind has been set in Error + HasKind() bool + // Errors returns []string, set in Error. + Errors() []string + // SetErrors assigns []string provided by user to Error + SetErrors(value []string) Error + // implement Error function for implementingnative Error Interface. + Error() string +} + +func (obj *_error) Error() string { + json, err := obj.ToJson() + if err != nil { + return fmt.Sprintf("could not convert Error to JSON: %v", err) + } + return json +} + +// Numeric status code based on underlying transport being used. +// Code returns a int32 +func (obj *_error) Code() int32 { + + return obj.obj.Code +} + +// Numeric status code based on underlying transport being used. +// SetCode sets the int32 value in the Error object +func (obj *_error) SetCode(value int32) Error { + + obj.obj.Code = value + return obj +} + +type ErrorKindEnum string + +// Enum of Kind on Error +var ErrorKind = struct { + TRANSPORT ErrorKindEnum + VALIDATION ErrorKindEnum + INTERNAL ErrorKindEnum +}{ + TRANSPORT: ErrorKindEnum("transport"), + VALIDATION: ErrorKindEnum("validation"), + INTERNAL: ErrorKindEnum("internal"), +} + +func (obj *_error) Kind() ErrorKindEnum { + return ErrorKindEnum(obj.obj.Kind.Enum().String()) +} + +// Kind of error message. +// Kind returns a string +func (obj *_error) HasKind() bool { + return obj.obj.Kind != nil +} + +func (obj *_error) SetKind(value ErrorKindEnum) Error { + intValue, ok := openapi.Error_Kind_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on ErrorKindEnum", string(value))) + return obj + } + enumValue := openapi.Error_Kind_Enum(intValue) + obj.obj.Kind = &enumValue + + return obj +} + +// List of error messages generated while serving API request. +// Errors returns a []string +func (obj *_error) Errors() []string { + if obj.obj.Errors == nil { + obj.obj.Errors = make([]string, 0) + } + return obj.obj.Errors +} + +// List of error messages generated while serving API request. +// SetErrors sets the []string value in the Error object +func (obj *_error) SetErrors(value []string) Error { + + if obj.obj.Errors == nil { + obj.obj.Errors = make([]string, 0) + } + obj.obj.Errors = value + + return obj +} + +func (obj *_error) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + // Errors is required + if obj.obj.Errors == nil { + vObj.validationErrors = append(vObj.validationErrors, "Errors is required field on interface Error") + } +} + +func (obj *_error) setDefault() { + +} + +// ***** Metrics ***** +type metrics struct { + validation + obj *openapi.Metrics + portsHolder MetricsPortMetricIter + flowsHolder MetricsFlowMetricIter +} + +func NewMetrics() Metrics { + obj := metrics{obj: &openapi.Metrics{}} + obj.setDefault() + return &obj +} + +func (obj *metrics) Msg() *openapi.Metrics { + return obj.obj +} + +func (obj *metrics) SetMsg(msg *openapi.Metrics) Metrics { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *metrics) ToProto() (*openapi.Metrics, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *metrics) FromProto(msg *openapi.Metrics) (Metrics, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *metrics) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *metrics) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *metrics) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *metrics) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *metrics) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *metrics) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *metrics) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *metrics) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *metrics) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *metrics) Clone() (Metrics, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewMetrics() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *metrics) setNil() { + obj.portsHolder = nil + obj.flowsHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// Metrics is description is TBD +type Metrics interface { + Validation + // Msg marshals Metrics to protobuf object *openapi.Metrics + // and doesn't set defaults + Msg() *openapi.Metrics + // SetMsg unmarshals Metrics from protobuf object *openapi.Metrics + // and doesn't set defaults + SetMsg(*openapi.Metrics) Metrics + // ToProto marshals Metrics to protobuf object *openapi.Metrics + ToProto() (*openapi.Metrics, error) + // ToPbText marshals Metrics to protobuf text + ToPbText() (string, error) + // ToYaml marshals Metrics to YAML text + ToYaml() (string, error) + // ToJson marshals Metrics to JSON text + ToJson() (string, error) + // FromProto unmarshals Metrics from protobuf object *openapi.Metrics + FromProto(msg *openapi.Metrics) (Metrics, error) + // FromPbText unmarshals Metrics from protobuf text + FromPbText(value string) error + // FromYaml unmarshals Metrics from YAML text + FromYaml(value string) error + // FromJson unmarshals Metrics from JSON text + FromJson(value string) error + // Validate validates Metrics + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (Metrics, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Choice returns MetricsChoiceEnum, set in Metrics + Choice() MetricsChoiceEnum + // SetChoice assigns MetricsChoiceEnum provided by user to Metrics + SetChoice(value MetricsChoiceEnum) Metrics + // HasChoice checks if Choice has been set in Metrics + HasChoice() bool + // Ports returns MetricsPortMetricIterIter, set in Metrics + Ports() MetricsPortMetricIter + // Flows returns MetricsFlowMetricIterIter, set in Metrics + Flows() MetricsFlowMetricIter + setNil() +} + +type MetricsChoiceEnum string + +// Enum of Choice on Metrics +var MetricsChoice = struct { + PORTS MetricsChoiceEnum + FLOWS MetricsChoiceEnum +}{ + PORTS: MetricsChoiceEnum("ports"), + FLOWS: MetricsChoiceEnum("flows"), +} + +func (obj *metrics) Choice() MetricsChoiceEnum { + return MetricsChoiceEnum(obj.obj.Choice.Enum().String()) +} + +// description is TBD +// Choice returns a string +func (obj *metrics) HasChoice() bool { + return obj.obj.Choice != nil +} + +func (obj *metrics) SetChoice(value MetricsChoiceEnum) Metrics { + intValue, ok := openapi.Metrics_Choice_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on MetricsChoiceEnum", string(value))) + return obj + } + enumValue := openapi.Metrics_Choice_Enum(intValue) + obj.obj.Choice = &enumValue + obj.obj.Flows = nil + obj.flowsHolder = nil + obj.obj.Ports = nil + obj.portsHolder = nil + + if value == MetricsChoice.PORTS { + obj.obj.Ports = []*openapi.PortMetric{} + } + + if value == MetricsChoice.FLOWS { + obj.obj.Flows = []*openapi.FlowMetric{} + } + + return obj +} + +// description is TBD +// Ports returns a []PortMetric +func (obj *metrics) Ports() MetricsPortMetricIter { + if len(obj.obj.Ports) == 0 { + obj.SetChoice(MetricsChoice.PORTS) + } + if obj.portsHolder == nil { + obj.portsHolder = newMetricsPortMetricIter(&obj.obj.Ports).setMsg(obj) + } + return obj.portsHolder +} + +type metricsPortMetricIter struct { + obj *metrics + portMetricSlice []PortMetric + fieldPtr *[]*openapi.PortMetric +} + +func newMetricsPortMetricIter(ptr *[]*openapi.PortMetric) MetricsPortMetricIter { + return &metricsPortMetricIter{fieldPtr: ptr} +} + +type MetricsPortMetricIter interface { + setMsg(*metrics) MetricsPortMetricIter + Items() []PortMetric + Add() PortMetric + Append(items ...PortMetric) MetricsPortMetricIter + Set(index int, newObj PortMetric) MetricsPortMetricIter + Clear() MetricsPortMetricIter + clearHolderSlice() MetricsPortMetricIter + appendHolderSlice(item PortMetric) MetricsPortMetricIter +} + +func (obj *metricsPortMetricIter) setMsg(msg *metrics) MetricsPortMetricIter { + obj.clearHolderSlice() + for _, val := range *obj.fieldPtr { + obj.appendHolderSlice(&portMetric{obj: val}) + } + obj.obj = msg + return obj +} + +func (obj *metricsPortMetricIter) Items() []PortMetric { + return obj.portMetricSlice +} + +func (obj *metricsPortMetricIter) Add() PortMetric { + newObj := &openapi.PortMetric{} + *obj.fieldPtr = append(*obj.fieldPtr, newObj) + newLibObj := &portMetric{obj: newObj} + newLibObj.setDefault() + obj.portMetricSlice = append(obj.portMetricSlice, newLibObj) + return newLibObj +} + +func (obj *metricsPortMetricIter) Append(items ...PortMetric) MetricsPortMetricIter { + for _, item := range items { + newObj := item.Msg() + *obj.fieldPtr = append(*obj.fieldPtr, newObj) + obj.portMetricSlice = append(obj.portMetricSlice, item) + } + return obj +} + +func (obj *metricsPortMetricIter) Set(index int, newObj PortMetric) MetricsPortMetricIter { + (*obj.fieldPtr)[index] = newObj.Msg() + obj.portMetricSlice[index] = newObj + return obj +} +func (obj *metricsPortMetricIter) Clear() MetricsPortMetricIter { + if len(*obj.fieldPtr) > 0 { + *obj.fieldPtr = []*openapi.PortMetric{} + obj.portMetricSlice = []PortMetric{} + } + return obj +} +func (obj *metricsPortMetricIter) clearHolderSlice() MetricsPortMetricIter { + if len(obj.portMetricSlice) > 0 { + obj.portMetricSlice = []PortMetric{} + } + return obj +} +func (obj *metricsPortMetricIter) appendHolderSlice(item PortMetric) MetricsPortMetricIter { + obj.portMetricSlice = append(obj.portMetricSlice, item) + return obj +} + +// description is TBD +// Flows returns a []FlowMetric +func (obj *metrics) Flows() MetricsFlowMetricIter { + if len(obj.obj.Flows) == 0 { + obj.SetChoice(MetricsChoice.FLOWS) + } + if obj.flowsHolder == nil { + obj.flowsHolder = newMetricsFlowMetricIter(&obj.obj.Flows).setMsg(obj) + } + return obj.flowsHolder +} + +type metricsFlowMetricIter struct { + obj *metrics + flowMetricSlice []FlowMetric + fieldPtr *[]*openapi.FlowMetric +} + +func newMetricsFlowMetricIter(ptr *[]*openapi.FlowMetric) MetricsFlowMetricIter { + return &metricsFlowMetricIter{fieldPtr: ptr} +} + +type MetricsFlowMetricIter interface { + setMsg(*metrics) MetricsFlowMetricIter + Items() []FlowMetric + Add() FlowMetric + Append(items ...FlowMetric) MetricsFlowMetricIter + Set(index int, newObj FlowMetric) MetricsFlowMetricIter + Clear() MetricsFlowMetricIter + clearHolderSlice() MetricsFlowMetricIter + appendHolderSlice(item FlowMetric) MetricsFlowMetricIter +} + +func (obj *metricsFlowMetricIter) setMsg(msg *metrics) MetricsFlowMetricIter { + obj.clearHolderSlice() + for _, val := range *obj.fieldPtr { + obj.appendHolderSlice(&flowMetric{obj: val}) + } + obj.obj = msg + return obj +} + +func (obj *metricsFlowMetricIter) Items() []FlowMetric { + return obj.flowMetricSlice +} + +func (obj *metricsFlowMetricIter) Add() FlowMetric { + newObj := &openapi.FlowMetric{} + *obj.fieldPtr = append(*obj.fieldPtr, newObj) + newLibObj := &flowMetric{obj: newObj} + newLibObj.setDefault() + obj.flowMetricSlice = append(obj.flowMetricSlice, newLibObj) + return newLibObj +} + +func (obj *metricsFlowMetricIter) Append(items ...FlowMetric) MetricsFlowMetricIter { + for _, item := range items { + newObj := item.Msg() + *obj.fieldPtr = append(*obj.fieldPtr, newObj) + obj.flowMetricSlice = append(obj.flowMetricSlice, item) + } + return obj +} + +func (obj *metricsFlowMetricIter) Set(index int, newObj FlowMetric) MetricsFlowMetricIter { + (*obj.fieldPtr)[index] = newObj.Msg() + obj.flowMetricSlice[index] = newObj + return obj +} +func (obj *metricsFlowMetricIter) Clear() MetricsFlowMetricIter { + if len(*obj.fieldPtr) > 0 { + *obj.fieldPtr = []*openapi.FlowMetric{} + obj.flowMetricSlice = []FlowMetric{} + } + return obj +} +func (obj *metricsFlowMetricIter) clearHolderSlice() MetricsFlowMetricIter { + if len(obj.flowMetricSlice) > 0 { + obj.flowMetricSlice = []FlowMetric{} + } + return obj +} +func (obj *metricsFlowMetricIter) appendHolderSlice(item FlowMetric) MetricsFlowMetricIter { + obj.flowMetricSlice = append(obj.flowMetricSlice, item) + return obj +} + +func (obj *metrics) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if len(obj.obj.Ports) != 0 { + + if set_default { + obj.Ports().clearHolderSlice() + for _, item := range obj.obj.Ports { + obj.Ports().appendHolderSlice(&portMetric{obj: item}) + } + } + for _, item := range obj.Ports().Items() { + item.validateObj(vObj, set_default) + } + + } + + if len(obj.obj.Flows) != 0 { + + if set_default { + obj.Flows().clearHolderSlice() + for _, item := range obj.obj.Flows { + obj.Flows().appendHolderSlice(&flowMetric{obj: item}) + } + } + for _, item := range obj.Flows().Items() { + item.validateObj(vObj, set_default) + } + + } + +} + +func (obj *metrics) setDefault() { + if obj.obj.Choice == nil { + obj.SetChoice(MetricsChoice.PORTS) + + } + +} + +// ***** WarningDetails ***** +type warningDetails struct { + validation + obj *openapi.WarningDetails +} + +func NewWarningDetails() WarningDetails { + obj := warningDetails{obj: &openapi.WarningDetails{}} + obj.setDefault() + return &obj +} + +func (obj *warningDetails) Msg() *openapi.WarningDetails { + return obj.obj +} + +func (obj *warningDetails) SetMsg(msg *openapi.WarningDetails) WarningDetails { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *warningDetails) ToProto() (*openapi.WarningDetails, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *warningDetails) FromProto(msg *openapi.WarningDetails) (WarningDetails, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *warningDetails) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *warningDetails) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *warningDetails) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *warningDetails) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *warningDetails) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *warningDetails) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *warningDetails) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *warningDetails) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *warningDetails) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *warningDetails) Clone() (WarningDetails, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewWarningDetails() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// WarningDetails is description is TBD +type WarningDetails interface { + Validation + // Msg marshals WarningDetails to protobuf object *openapi.WarningDetails + // and doesn't set defaults + Msg() *openapi.WarningDetails + // SetMsg unmarshals WarningDetails from protobuf object *openapi.WarningDetails + // and doesn't set defaults + SetMsg(*openapi.WarningDetails) WarningDetails + // ToProto marshals WarningDetails to protobuf object *openapi.WarningDetails + ToProto() (*openapi.WarningDetails, error) + // ToPbText marshals WarningDetails to protobuf text + ToPbText() (string, error) + // ToYaml marshals WarningDetails to YAML text + ToYaml() (string, error) + // ToJson marshals WarningDetails to JSON text + ToJson() (string, error) + // FromProto unmarshals WarningDetails from protobuf object *openapi.WarningDetails + FromProto(msg *openapi.WarningDetails) (WarningDetails, error) + // FromPbText unmarshals WarningDetails from protobuf text + FromPbText(value string) error + // FromYaml unmarshals WarningDetails from YAML text + FromYaml(value string) error + // FromJson unmarshals WarningDetails from JSON text + FromJson(value string) error + // Validate validates WarningDetails + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (WarningDetails, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Warnings returns []string, set in WarningDetails. + Warnings() []string + // SetWarnings assigns []string provided by user to WarningDetails + SetWarnings(value []string) WarningDetails +} + +// description is TBD +// Warnings returns a []string +func (obj *warningDetails) Warnings() []string { + if obj.obj.Warnings == nil { + obj.obj.Warnings = make([]string, 0) + } + return obj.obj.Warnings +} + +// description is TBD +// SetWarnings sets the []string value in the WarningDetails object +func (obj *warningDetails) SetWarnings(value []string) WarningDetails { + + if obj.obj.Warnings == nil { + obj.obj.Warnings = make([]string, 0) + } + obj.obj.Warnings = value + + return obj +} + +func (obj *warningDetails) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + +} + +func (obj *warningDetails) setDefault() { + +} + +// ***** CommonResponseSuccess ***** +type commonResponseSuccess struct { + validation + obj *openapi.CommonResponseSuccess +} + +func NewCommonResponseSuccess() CommonResponseSuccess { + obj := commonResponseSuccess{obj: &openapi.CommonResponseSuccess{}} + obj.setDefault() + return &obj +} + +func (obj *commonResponseSuccess) Msg() *openapi.CommonResponseSuccess { + return obj.obj +} + +func (obj *commonResponseSuccess) SetMsg(msg *openapi.CommonResponseSuccess) CommonResponseSuccess { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *commonResponseSuccess) ToProto() (*openapi.CommonResponseSuccess, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *commonResponseSuccess) FromProto(msg *openapi.CommonResponseSuccess) (CommonResponseSuccess, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *commonResponseSuccess) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *commonResponseSuccess) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *commonResponseSuccess) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *commonResponseSuccess) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *commonResponseSuccess) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *commonResponseSuccess) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *commonResponseSuccess) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *commonResponseSuccess) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *commonResponseSuccess) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *commonResponseSuccess) Clone() (CommonResponseSuccess, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewCommonResponseSuccess() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// CommonResponseSuccess is description is TBD +type CommonResponseSuccess interface { + Validation + // Msg marshals CommonResponseSuccess to protobuf object *openapi.CommonResponseSuccess + // and doesn't set defaults + Msg() *openapi.CommonResponseSuccess + // SetMsg unmarshals CommonResponseSuccess from protobuf object *openapi.CommonResponseSuccess + // and doesn't set defaults + SetMsg(*openapi.CommonResponseSuccess) CommonResponseSuccess + // ToProto marshals CommonResponseSuccess to protobuf object *openapi.CommonResponseSuccess + ToProto() (*openapi.CommonResponseSuccess, error) + // ToPbText marshals CommonResponseSuccess to protobuf text + ToPbText() (string, error) + // ToYaml marshals CommonResponseSuccess to YAML text + ToYaml() (string, error) + // ToJson marshals CommonResponseSuccess to JSON text + ToJson() (string, error) + // FromProto unmarshals CommonResponseSuccess from protobuf object *openapi.CommonResponseSuccess + FromProto(msg *openapi.CommonResponseSuccess) (CommonResponseSuccess, error) + // FromPbText unmarshals CommonResponseSuccess from protobuf text + FromPbText(value string) error + // FromYaml unmarshals CommonResponseSuccess from YAML text + FromYaml(value string) error + // FromJson unmarshals CommonResponseSuccess from JSON text + FromJson(value string) error + // Validate validates CommonResponseSuccess + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (CommonResponseSuccess, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Message returns string, set in CommonResponseSuccess. + Message() string + // SetMessage assigns string provided by user to CommonResponseSuccess + SetMessage(value string) CommonResponseSuccess + // HasMessage checks if Message has been set in CommonResponseSuccess + HasMessage() bool +} + +// description is TBD +// Message returns a string +func (obj *commonResponseSuccess) Message() string { + + return *obj.obj.Message + +} + +// description is TBD +// Message returns a string +func (obj *commonResponseSuccess) HasMessage() bool { + return obj.obj.Message != nil +} + +// description is TBD +// SetMessage sets the string value in the CommonResponseSuccess object +func (obj *commonResponseSuccess) SetMessage(value string) CommonResponseSuccess { + + obj.obj.Message = &value + return obj +} + +func (obj *commonResponseSuccess) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + +} + +func (obj *commonResponseSuccess) setDefault() { + +} + +// ***** ServiceAbcItemList ***** +type serviceAbcItemList struct { + validation + obj *openapi.ServiceAbcItemList + itemsHolder ServiceAbcItemListServiceAbcItemIter +} + +func NewServiceAbcItemList() ServiceAbcItemList { + obj := serviceAbcItemList{obj: &openapi.ServiceAbcItemList{}} + obj.setDefault() + return &obj +} + +func (obj *serviceAbcItemList) Msg() *openapi.ServiceAbcItemList { + return obj.obj +} + +func (obj *serviceAbcItemList) SetMsg(msg *openapi.ServiceAbcItemList) ServiceAbcItemList { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *serviceAbcItemList) ToProto() (*openapi.ServiceAbcItemList, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *serviceAbcItemList) FromProto(msg *openapi.ServiceAbcItemList) (ServiceAbcItemList, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *serviceAbcItemList) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *serviceAbcItemList) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *serviceAbcItemList) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *serviceAbcItemList) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *serviceAbcItemList) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *serviceAbcItemList) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *serviceAbcItemList) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *serviceAbcItemList) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *serviceAbcItemList) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *serviceAbcItemList) Clone() (ServiceAbcItemList, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewServiceAbcItemList() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *serviceAbcItemList) setNil() { + obj.itemsHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// ServiceAbcItemList is description is TBD +type ServiceAbcItemList interface { + Validation + // Msg marshals ServiceAbcItemList to protobuf object *openapi.ServiceAbcItemList + // and doesn't set defaults + Msg() *openapi.ServiceAbcItemList + // SetMsg unmarshals ServiceAbcItemList from protobuf object *openapi.ServiceAbcItemList + // and doesn't set defaults + SetMsg(*openapi.ServiceAbcItemList) ServiceAbcItemList + // ToProto marshals ServiceAbcItemList to protobuf object *openapi.ServiceAbcItemList + ToProto() (*openapi.ServiceAbcItemList, error) + // ToPbText marshals ServiceAbcItemList to protobuf text + ToPbText() (string, error) + // ToYaml marshals ServiceAbcItemList to YAML text + ToYaml() (string, error) + // ToJson marshals ServiceAbcItemList to JSON text + ToJson() (string, error) + // FromProto unmarshals ServiceAbcItemList from protobuf object *openapi.ServiceAbcItemList + FromProto(msg *openapi.ServiceAbcItemList) (ServiceAbcItemList, error) + // FromPbText unmarshals ServiceAbcItemList from protobuf text + FromPbText(value string) error + // FromYaml unmarshals ServiceAbcItemList from YAML text + FromYaml(value string) error + // FromJson unmarshals ServiceAbcItemList from JSON text + FromJson(value string) error + // Validate validates ServiceAbcItemList + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (ServiceAbcItemList, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Items returns ServiceAbcItemListServiceAbcItemIterIter, set in ServiceAbcItemList + Items() ServiceAbcItemListServiceAbcItemIter + setNil() +} + +// description is TBD +// Items returns a []ServiceAbcItem +func (obj *serviceAbcItemList) Items() ServiceAbcItemListServiceAbcItemIter { + if len(obj.obj.Items) == 0 { + obj.obj.Items = []*openapi.ServiceAbcItem{} + } + if obj.itemsHolder == nil { + obj.itemsHolder = newServiceAbcItemListServiceAbcItemIter(&obj.obj.Items).setMsg(obj) + } + return obj.itemsHolder +} + +type serviceAbcItemListServiceAbcItemIter struct { + obj *serviceAbcItemList + serviceAbcItemSlice []ServiceAbcItem + fieldPtr *[]*openapi.ServiceAbcItem +} + +func newServiceAbcItemListServiceAbcItemIter(ptr *[]*openapi.ServiceAbcItem) ServiceAbcItemListServiceAbcItemIter { + return &serviceAbcItemListServiceAbcItemIter{fieldPtr: ptr} +} + +type ServiceAbcItemListServiceAbcItemIter interface { + setMsg(*serviceAbcItemList) ServiceAbcItemListServiceAbcItemIter + Items() []ServiceAbcItem + Add() ServiceAbcItem + Append(items ...ServiceAbcItem) ServiceAbcItemListServiceAbcItemIter + Set(index int, newObj ServiceAbcItem) ServiceAbcItemListServiceAbcItemIter + Clear() ServiceAbcItemListServiceAbcItemIter + clearHolderSlice() ServiceAbcItemListServiceAbcItemIter + appendHolderSlice(item ServiceAbcItem) ServiceAbcItemListServiceAbcItemIter +} + +func (obj *serviceAbcItemListServiceAbcItemIter) setMsg(msg *serviceAbcItemList) ServiceAbcItemListServiceAbcItemIter { + obj.clearHolderSlice() + for _, val := range *obj.fieldPtr { + obj.appendHolderSlice(&serviceAbcItem{obj: val}) + } + obj.obj = msg + return obj +} + +func (obj *serviceAbcItemListServiceAbcItemIter) Items() []ServiceAbcItem { + return obj.serviceAbcItemSlice +} + +func (obj *serviceAbcItemListServiceAbcItemIter) Add() ServiceAbcItem { + newObj := &openapi.ServiceAbcItem{} + *obj.fieldPtr = append(*obj.fieldPtr, newObj) + newLibObj := &serviceAbcItem{obj: newObj} + newLibObj.setDefault() + obj.serviceAbcItemSlice = append(obj.serviceAbcItemSlice, newLibObj) + return newLibObj +} + +func (obj *serviceAbcItemListServiceAbcItemIter) Append(items ...ServiceAbcItem) ServiceAbcItemListServiceAbcItemIter { + for _, item := range items { + newObj := item.Msg() + *obj.fieldPtr = append(*obj.fieldPtr, newObj) + obj.serviceAbcItemSlice = append(obj.serviceAbcItemSlice, item) + } + return obj +} + +func (obj *serviceAbcItemListServiceAbcItemIter) Set(index int, newObj ServiceAbcItem) ServiceAbcItemListServiceAbcItemIter { + (*obj.fieldPtr)[index] = newObj.Msg() + obj.serviceAbcItemSlice[index] = newObj + return obj +} +func (obj *serviceAbcItemListServiceAbcItemIter) Clear() ServiceAbcItemListServiceAbcItemIter { + if len(*obj.fieldPtr) > 0 { + *obj.fieldPtr = []*openapi.ServiceAbcItem{} + obj.serviceAbcItemSlice = []ServiceAbcItem{} + } + return obj +} +func (obj *serviceAbcItemListServiceAbcItemIter) clearHolderSlice() ServiceAbcItemListServiceAbcItemIter { + if len(obj.serviceAbcItemSlice) > 0 { + obj.serviceAbcItemSlice = []ServiceAbcItem{} + } + return obj +} +func (obj *serviceAbcItemListServiceAbcItemIter) appendHolderSlice(item ServiceAbcItem) ServiceAbcItemListServiceAbcItemIter { + obj.serviceAbcItemSlice = append(obj.serviceAbcItemSlice, item) + return obj +} + +func (obj *serviceAbcItemList) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if len(obj.obj.Items) != 0 { + + if set_default { + obj.Items().clearHolderSlice() + for _, item := range obj.obj.Items { + obj.Items().appendHolderSlice(&serviceAbcItem{obj: item}) + } + } + for _, item := range obj.Items().Items() { + item.validateObj(vObj, set_default) + } + + } + +} + +func (obj *serviceAbcItemList) setDefault() { + +} + +// ***** ServiceAbcItem ***** +type serviceAbcItem struct { + validation + obj *openapi.ServiceAbcItem +} + +func NewServiceAbcItem() ServiceAbcItem { + obj := serviceAbcItem{obj: &openapi.ServiceAbcItem{}} + obj.setDefault() + return &obj +} + +func (obj *serviceAbcItem) Msg() *openapi.ServiceAbcItem { + return obj.obj +} + +func (obj *serviceAbcItem) SetMsg(msg *openapi.ServiceAbcItem) ServiceAbcItem { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *serviceAbcItem) ToProto() (*openapi.ServiceAbcItem, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *serviceAbcItem) FromProto(msg *openapi.ServiceAbcItem) (ServiceAbcItem, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *serviceAbcItem) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *serviceAbcItem) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *serviceAbcItem) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *serviceAbcItem) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *serviceAbcItem) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *serviceAbcItem) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *serviceAbcItem) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *serviceAbcItem) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *serviceAbcItem) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *serviceAbcItem) Clone() (ServiceAbcItem, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewServiceAbcItem() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// ServiceAbcItem is description is TBD +type ServiceAbcItem interface { + Validation + // Msg marshals ServiceAbcItem to protobuf object *openapi.ServiceAbcItem + // and doesn't set defaults + Msg() *openapi.ServiceAbcItem + // SetMsg unmarshals ServiceAbcItem from protobuf object *openapi.ServiceAbcItem + // and doesn't set defaults + SetMsg(*openapi.ServiceAbcItem) ServiceAbcItem + // ToProto marshals ServiceAbcItem to protobuf object *openapi.ServiceAbcItem + ToProto() (*openapi.ServiceAbcItem, error) + // ToPbText marshals ServiceAbcItem to protobuf text + ToPbText() (string, error) + // ToYaml marshals ServiceAbcItem to YAML text + ToYaml() (string, error) + // ToJson marshals ServiceAbcItem to JSON text + ToJson() (string, error) + // FromProto unmarshals ServiceAbcItem from protobuf object *openapi.ServiceAbcItem + FromProto(msg *openapi.ServiceAbcItem) (ServiceAbcItem, error) + // FromPbText unmarshals ServiceAbcItem from protobuf text + FromPbText(value string) error + // FromYaml unmarshals ServiceAbcItem from YAML text + FromYaml(value string) error + // FromJson unmarshals ServiceAbcItem from JSON text + FromJson(value string) error + // Validate validates ServiceAbcItem + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (ServiceAbcItem, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // SomeId returns string, set in ServiceAbcItem. + SomeId() string + // SetSomeId assigns string provided by user to ServiceAbcItem + SetSomeId(value string) ServiceAbcItem + // HasSomeId checks if SomeId has been set in ServiceAbcItem + HasSomeId() bool + // SomeString returns string, set in ServiceAbcItem. + SomeString() string + // SetSomeString assigns string provided by user to ServiceAbcItem + SetSomeString(value string) ServiceAbcItem + // HasSomeString checks if SomeString has been set in ServiceAbcItem + HasSomeString() bool + // PathId returns string, set in ServiceAbcItem. + PathId() string + // SetPathId assigns string provided by user to ServiceAbcItem + SetPathId(value string) ServiceAbcItem + // HasPathId checks if PathId has been set in ServiceAbcItem + HasPathId() bool + // Level2 returns string, set in ServiceAbcItem. + Level2() string + // SetLevel2 assigns string provided by user to ServiceAbcItem + SetLevel2(value string) ServiceAbcItem + // HasLevel2 checks if Level2 has been set in ServiceAbcItem + HasLevel2() bool +} + +// description is TBD +// SomeId returns a string +func (obj *serviceAbcItem) SomeId() string { + + return *obj.obj.SomeId + +} + +// description is TBD +// SomeId returns a string +func (obj *serviceAbcItem) HasSomeId() bool { + return obj.obj.SomeId != nil +} + +// description is TBD +// SetSomeId sets the string value in the ServiceAbcItem object +func (obj *serviceAbcItem) SetSomeId(value string) ServiceAbcItem { + + obj.obj.SomeId = &value + return obj +} + +// description is TBD +// SomeString returns a string +func (obj *serviceAbcItem) SomeString() string { + + return *obj.obj.SomeString + +} + +// description is TBD +// SomeString returns a string +func (obj *serviceAbcItem) HasSomeString() bool { + return obj.obj.SomeString != nil +} + +// description is TBD +// SetSomeString sets the string value in the ServiceAbcItem object +func (obj *serviceAbcItem) SetSomeString(value string) ServiceAbcItem { + + obj.obj.SomeString = &value + return obj +} + +// description is TBD +// PathId returns a string +func (obj *serviceAbcItem) PathId() string { + + return *obj.obj.PathId + +} + +// description is TBD +// PathId returns a string +func (obj *serviceAbcItem) HasPathId() bool { + return obj.obj.PathId != nil +} + +// description is TBD +// SetPathId sets the string value in the ServiceAbcItem object +func (obj *serviceAbcItem) SetPathId(value string) ServiceAbcItem { + + obj.obj.PathId = &value + return obj +} + +// description is TBD +// Level2 returns a string +func (obj *serviceAbcItem) Level2() string { + + return *obj.obj.Level_2 + +} + +// description is TBD +// Level2 returns a string +func (obj *serviceAbcItem) HasLevel2() bool { + return obj.obj.Level_2 != nil +} + +// description is TBD +// SetLevel2 sets the string value in the ServiceAbcItem object +func (obj *serviceAbcItem) SetLevel2(value string) ServiceAbcItem { + + obj.obj.Level_2 = &value + return obj +} + +func (obj *serviceAbcItem) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + +} + +func (obj *serviceAbcItem) setDefault() { + +} + +// ***** Version ***** +type version struct { + validation + obj *openapi.Version +} + +func NewVersion() Version { + obj := version{obj: &openapi.Version{}} + obj.setDefault() + return &obj +} + +func (obj *version) Msg() *openapi.Version { + return obj.obj +} + +func (obj *version) SetMsg(msg *openapi.Version) Version { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *version) ToProto() (*openapi.Version, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *version) FromProto(msg *openapi.Version) (Version, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *version) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *version) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *version) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *version) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *version) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *version) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *version) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *version) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *version) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *version) Clone() (Version, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewVersion() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// Version is version details +type Version interface { + Validation + // Msg marshals Version to protobuf object *openapi.Version + // and doesn't set defaults + Msg() *openapi.Version + // SetMsg unmarshals Version from protobuf object *openapi.Version + // and doesn't set defaults + SetMsg(*openapi.Version) Version + // ToProto marshals Version to protobuf object *openapi.Version + ToProto() (*openapi.Version, error) + // ToPbText marshals Version to protobuf text + ToPbText() (string, error) + // ToYaml marshals Version to YAML text + ToYaml() (string, error) + // ToJson marshals Version to JSON text + ToJson() (string, error) + // FromProto unmarshals Version from protobuf object *openapi.Version + FromProto(msg *openapi.Version) (Version, error) + // FromPbText unmarshals Version from protobuf text + FromPbText(value string) error + // FromYaml unmarshals Version from YAML text + FromYaml(value string) error + // FromJson unmarshals Version from JSON text + FromJson(value string) error + // Validate validates Version + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (Version, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // ApiSpecVersion returns string, set in Version. + ApiSpecVersion() string + // SetApiSpecVersion assigns string provided by user to Version + SetApiSpecVersion(value string) Version + // HasApiSpecVersion checks if ApiSpecVersion has been set in Version + HasApiSpecVersion() bool + // SdkVersion returns string, set in Version. + SdkVersion() string + // SetSdkVersion assigns string provided by user to Version + SetSdkVersion(value string) Version + // HasSdkVersion checks if SdkVersion has been set in Version + HasSdkVersion() bool + // AppVersion returns string, set in Version. + AppVersion() string + // SetAppVersion assigns string provided by user to Version + SetAppVersion(value string) Version + // HasAppVersion checks if AppVersion has been set in Version + HasAppVersion() bool +} + +// Version of API specification +// ApiSpecVersion returns a string +func (obj *version) ApiSpecVersion() string { + + return *obj.obj.ApiSpecVersion + +} + +// Version of API specification +// ApiSpecVersion returns a string +func (obj *version) HasApiSpecVersion() bool { + return obj.obj.ApiSpecVersion != nil +} + +// Version of API specification +// SetApiSpecVersion sets the string value in the Version object +func (obj *version) SetApiSpecVersion(value string) Version { + + obj.obj.ApiSpecVersion = &value + return obj +} + +// Version of SDK generated from API specification +// SdkVersion returns a string +func (obj *version) SdkVersion() string { + + return *obj.obj.SdkVersion + +} + +// Version of SDK generated from API specification +// SdkVersion returns a string +func (obj *version) HasSdkVersion() bool { + return obj.obj.SdkVersion != nil +} + +// Version of SDK generated from API specification +// SetSdkVersion sets the string value in the Version object +func (obj *version) SetSdkVersion(value string) Version { + + obj.obj.SdkVersion = &value + return obj +} + +// Version of application consuming or serving the API +// AppVersion returns a string +func (obj *version) AppVersion() string { + + return *obj.obj.AppVersion + +} + +// Version of application consuming or serving the API +// AppVersion returns a string +func (obj *version) HasAppVersion() bool { + return obj.obj.AppVersion != nil +} + +// Version of application consuming or serving the API +// SetAppVersion sets the string value in the Version object +func (obj *version) SetAppVersion(value string) Version { + + obj.obj.AppVersion = &value + return obj +} + +func (obj *version) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + +} + +func (obj *version) setDefault() { + if obj.obj.ApiSpecVersion == nil { + obj.SetApiSpecVersion("") + } + if obj.obj.SdkVersion == nil { + obj.SetSdkVersion("") + } + if obj.obj.AppVersion == nil { + obj.SetAppVersion("") + } + +} + +// ***** LevelTwo ***** +type levelTwo struct { + validation + obj *openapi.LevelTwo + l2P1Holder LevelThree +} + +func NewLevelTwo() LevelTwo { + obj := levelTwo{obj: &openapi.LevelTwo{}} + obj.setDefault() + return &obj +} + +func (obj *levelTwo) Msg() *openapi.LevelTwo { + return obj.obj +} + +func (obj *levelTwo) SetMsg(msg *openapi.LevelTwo) LevelTwo { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *levelTwo) ToProto() (*openapi.LevelTwo, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *levelTwo) FromProto(msg *openapi.LevelTwo) (LevelTwo, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *levelTwo) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *levelTwo) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *levelTwo) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *levelTwo) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *levelTwo) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *levelTwo) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *levelTwo) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *levelTwo) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *levelTwo) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *levelTwo) Clone() (LevelTwo, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewLevelTwo() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *levelTwo) setNil() { + obj.l2P1Holder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// LevelTwo is test Level 2 +type LevelTwo interface { + Validation + // Msg marshals LevelTwo to protobuf object *openapi.LevelTwo + // and doesn't set defaults + Msg() *openapi.LevelTwo + // SetMsg unmarshals LevelTwo from protobuf object *openapi.LevelTwo + // and doesn't set defaults + SetMsg(*openapi.LevelTwo) LevelTwo + // ToProto marshals LevelTwo to protobuf object *openapi.LevelTwo + ToProto() (*openapi.LevelTwo, error) + // ToPbText marshals LevelTwo to protobuf text + ToPbText() (string, error) + // ToYaml marshals LevelTwo to YAML text + ToYaml() (string, error) + // ToJson marshals LevelTwo to JSON text + ToJson() (string, error) + // FromProto unmarshals LevelTwo from protobuf object *openapi.LevelTwo + FromProto(msg *openapi.LevelTwo) (LevelTwo, error) + // FromPbText unmarshals LevelTwo from protobuf text + FromPbText(value string) error + // FromYaml unmarshals LevelTwo from YAML text + FromYaml(value string) error + // FromJson unmarshals LevelTwo from JSON text + FromJson(value string) error + // Validate validates LevelTwo + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (LevelTwo, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // L2P1 returns LevelThree, set in LevelTwo. + // LevelThree is test Level3 + L2P1() LevelThree + // SetL2P1 assigns LevelThree provided by user to LevelTwo. + // LevelThree is test Level3 + SetL2P1(value LevelThree) LevelTwo + // HasL2P1 checks if L2P1 has been set in LevelTwo + HasL2P1() bool + setNil() +} + +// Level Two +// L2P1 returns a LevelThree +func (obj *levelTwo) L2P1() LevelThree { + if obj.obj.L2P1 == nil { + obj.obj.L2P1 = NewLevelThree().Msg() + } + if obj.l2P1Holder == nil { + obj.l2P1Holder = &levelThree{obj: obj.obj.L2P1} + } + return obj.l2P1Holder +} + +// Level Two +// L2P1 returns a LevelThree +func (obj *levelTwo) HasL2P1() bool { + return obj.obj.L2P1 != nil +} + +// Level Two +// SetL2P1 sets the LevelThree value in the LevelTwo object +func (obj *levelTwo) SetL2P1(value LevelThree) LevelTwo { + + obj.l2P1Holder = nil + obj.obj.L2P1 = value.Msg() + + return obj +} + +func (obj *levelTwo) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.L2P1 != nil { + + obj.L2P1().validateObj(vObj, set_default) + } + +} + +func (obj *levelTwo) setDefault() { + +} + +// ***** LevelFour ***** +type levelFour struct { + validation + obj *openapi.LevelFour + l4P1Holder LevelOne +} + +func NewLevelFour() LevelFour { + obj := levelFour{obj: &openapi.LevelFour{}} + obj.setDefault() + return &obj +} + +func (obj *levelFour) Msg() *openapi.LevelFour { + return obj.obj +} + +func (obj *levelFour) SetMsg(msg *openapi.LevelFour) LevelFour { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *levelFour) ToProto() (*openapi.LevelFour, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *levelFour) FromProto(msg *openapi.LevelFour) (LevelFour, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *levelFour) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *levelFour) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *levelFour) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *levelFour) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *levelFour) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *levelFour) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *levelFour) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *levelFour) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *levelFour) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *levelFour) Clone() (LevelFour, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewLevelFour() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *levelFour) setNil() { + obj.l4P1Holder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// LevelFour is test level4 redundant junk testing +type LevelFour interface { + Validation + // Msg marshals LevelFour to protobuf object *openapi.LevelFour + // and doesn't set defaults + Msg() *openapi.LevelFour + // SetMsg unmarshals LevelFour from protobuf object *openapi.LevelFour + // and doesn't set defaults + SetMsg(*openapi.LevelFour) LevelFour + // ToProto marshals LevelFour to protobuf object *openapi.LevelFour + ToProto() (*openapi.LevelFour, error) + // ToPbText marshals LevelFour to protobuf text + ToPbText() (string, error) + // ToYaml marshals LevelFour to YAML text + ToYaml() (string, error) + // ToJson marshals LevelFour to JSON text + ToJson() (string, error) + // FromProto unmarshals LevelFour from protobuf object *openapi.LevelFour + FromProto(msg *openapi.LevelFour) (LevelFour, error) + // FromPbText unmarshals LevelFour from protobuf text + FromPbText(value string) error + // FromYaml unmarshals LevelFour from YAML text + FromYaml(value string) error + // FromJson unmarshals LevelFour from JSON text + FromJson(value string) error + // Validate validates LevelFour + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (LevelFour, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // L4P1 returns LevelOne, set in LevelFour. + // LevelOne is to Test Multi level non-primitive types + L4P1() LevelOne + // SetL4P1 assigns LevelOne provided by user to LevelFour. + // LevelOne is to Test Multi level non-primitive types + SetL4P1(value LevelOne) LevelFour + // HasL4P1 checks if L4P1 has been set in LevelFour + HasL4P1() bool + setNil() +} + +// loop over level 1 +// L4P1 returns a LevelOne +func (obj *levelFour) L4P1() LevelOne { + if obj.obj.L4P1 == nil { + obj.obj.L4P1 = NewLevelOne().Msg() + } + if obj.l4P1Holder == nil { + obj.l4P1Holder = &levelOne{obj: obj.obj.L4P1} + } + return obj.l4P1Holder +} + +// loop over level 1 +// L4P1 returns a LevelOne +func (obj *levelFour) HasL4P1() bool { + return obj.obj.L4P1 != nil +} + +// loop over level 1 +// SetL4P1 sets the LevelOne value in the LevelFour object +func (obj *levelFour) SetL4P1(value LevelOne) LevelFour { + + obj.l4P1Holder = nil + obj.obj.L4P1 = value.Msg() + + return obj +} + +func (obj *levelFour) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.L4P1 != nil { + + obj.L4P1().validateObj(vObj, set_default) + } + +} + +func (obj *levelFour) setDefault() { + +} + +// ***** PatternIpv4PatternIpv4 ***** +type patternIpv4PatternIpv4 struct { + validation + obj *openapi.PatternIpv4PatternIpv4 + incrementHolder PatternIpv4PatternIpv4Counter + decrementHolder PatternIpv4PatternIpv4Counter +} + +func NewPatternIpv4PatternIpv4() PatternIpv4PatternIpv4 { + obj := patternIpv4PatternIpv4{obj: &openapi.PatternIpv4PatternIpv4{}} + obj.setDefault() + return &obj +} + +func (obj *patternIpv4PatternIpv4) Msg() *openapi.PatternIpv4PatternIpv4 { + return obj.obj +} + +func (obj *patternIpv4PatternIpv4) SetMsg(msg *openapi.PatternIpv4PatternIpv4) PatternIpv4PatternIpv4 { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *patternIpv4PatternIpv4) ToProto() (*openapi.PatternIpv4PatternIpv4, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *patternIpv4PatternIpv4) FromProto(msg *openapi.PatternIpv4PatternIpv4) (PatternIpv4PatternIpv4, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *patternIpv4PatternIpv4) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *patternIpv4PatternIpv4) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *patternIpv4PatternIpv4) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternIpv4PatternIpv4) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *patternIpv4PatternIpv4) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternIpv4PatternIpv4) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *patternIpv4PatternIpv4) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *patternIpv4PatternIpv4) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *patternIpv4PatternIpv4) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *patternIpv4PatternIpv4) Clone() (PatternIpv4PatternIpv4, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewPatternIpv4PatternIpv4() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *patternIpv4PatternIpv4) setNil() { + obj.incrementHolder = nil + obj.decrementHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// PatternIpv4PatternIpv4 is tBD +type PatternIpv4PatternIpv4 interface { + Validation + // Msg marshals PatternIpv4PatternIpv4 to protobuf object *openapi.PatternIpv4PatternIpv4 + // and doesn't set defaults + Msg() *openapi.PatternIpv4PatternIpv4 + // SetMsg unmarshals PatternIpv4PatternIpv4 from protobuf object *openapi.PatternIpv4PatternIpv4 + // and doesn't set defaults + SetMsg(*openapi.PatternIpv4PatternIpv4) PatternIpv4PatternIpv4 + // ToProto marshals PatternIpv4PatternIpv4 to protobuf object *openapi.PatternIpv4PatternIpv4 + ToProto() (*openapi.PatternIpv4PatternIpv4, error) + // ToPbText marshals PatternIpv4PatternIpv4 to protobuf text + ToPbText() (string, error) + // ToYaml marshals PatternIpv4PatternIpv4 to YAML text + ToYaml() (string, error) + // ToJson marshals PatternIpv4PatternIpv4 to JSON text + ToJson() (string, error) + // FromProto unmarshals PatternIpv4PatternIpv4 from protobuf object *openapi.PatternIpv4PatternIpv4 + FromProto(msg *openapi.PatternIpv4PatternIpv4) (PatternIpv4PatternIpv4, error) + // FromPbText unmarshals PatternIpv4PatternIpv4 from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PatternIpv4PatternIpv4 from YAML text + FromYaml(value string) error + // FromJson unmarshals PatternIpv4PatternIpv4 from JSON text + FromJson(value string) error + // Validate validates PatternIpv4PatternIpv4 + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (PatternIpv4PatternIpv4, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Choice returns PatternIpv4PatternIpv4ChoiceEnum, set in PatternIpv4PatternIpv4 + Choice() PatternIpv4PatternIpv4ChoiceEnum + // SetChoice assigns PatternIpv4PatternIpv4ChoiceEnum provided by user to PatternIpv4PatternIpv4 + SetChoice(value PatternIpv4PatternIpv4ChoiceEnum) PatternIpv4PatternIpv4 + // HasChoice checks if Choice has been set in PatternIpv4PatternIpv4 + HasChoice() bool + // Value returns string, set in PatternIpv4PatternIpv4. + Value() string + // SetValue assigns string provided by user to PatternIpv4PatternIpv4 + SetValue(value string) PatternIpv4PatternIpv4 + // HasValue checks if Value has been set in PatternIpv4PatternIpv4 + HasValue() bool + // Values returns []string, set in PatternIpv4PatternIpv4. + Values() []string + // SetValues assigns []string provided by user to PatternIpv4PatternIpv4 + SetValues(value []string) PatternIpv4PatternIpv4 + // Increment returns PatternIpv4PatternIpv4Counter, set in PatternIpv4PatternIpv4. + // PatternIpv4PatternIpv4Counter is ipv4 counter pattern + Increment() PatternIpv4PatternIpv4Counter + // SetIncrement assigns PatternIpv4PatternIpv4Counter provided by user to PatternIpv4PatternIpv4. + // PatternIpv4PatternIpv4Counter is ipv4 counter pattern + SetIncrement(value PatternIpv4PatternIpv4Counter) PatternIpv4PatternIpv4 + // HasIncrement checks if Increment has been set in PatternIpv4PatternIpv4 + HasIncrement() bool + // Decrement returns PatternIpv4PatternIpv4Counter, set in PatternIpv4PatternIpv4. + // PatternIpv4PatternIpv4Counter is ipv4 counter pattern + Decrement() PatternIpv4PatternIpv4Counter + // SetDecrement assigns PatternIpv4PatternIpv4Counter provided by user to PatternIpv4PatternIpv4. + // PatternIpv4PatternIpv4Counter is ipv4 counter pattern + SetDecrement(value PatternIpv4PatternIpv4Counter) PatternIpv4PatternIpv4 + // HasDecrement checks if Decrement has been set in PatternIpv4PatternIpv4 + HasDecrement() bool + setNil() +} + +type PatternIpv4PatternIpv4ChoiceEnum string + +// Enum of Choice on PatternIpv4PatternIpv4 +var PatternIpv4PatternIpv4Choice = struct { + VALUE PatternIpv4PatternIpv4ChoiceEnum + VALUES PatternIpv4PatternIpv4ChoiceEnum + INCREMENT PatternIpv4PatternIpv4ChoiceEnum + DECREMENT PatternIpv4PatternIpv4ChoiceEnum +}{ + VALUE: PatternIpv4PatternIpv4ChoiceEnum("value"), + VALUES: PatternIpv4PatternIpv4ChoiceEnum("values"), + INCREMENT: PatternIpv4PatternIpv4ChoiceEnum("increment"), + DECREMENT: PatternIpv4PatternIpv4ChoiceEnum("decrement"), +} + +func (obj *patternIpv4PatternIpv4) Choice() PatternIpv4PatternIpv4ChoiceEnum { + return PatternIpv4PatternIpv4ChoiceEnum(obj.obj.Choice.Enum().String()) +} + +// description is TBD +// Choice returns a string +func (obj *patternIpv4PatternIpv4) HasChoice() bool { + return obj.obj.Choice != nil +} + +func (obj *patternIpv4PatternIpv4) SetChoice(value PatternIpv4PatternIpv4ChoiceEnum) PatternIpv4PatternIpv4 { + intValue, ok := openapi.PatternIpv4PatternIpv4_Choice_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on PatternIpv4PatternIpv4ChoiceEnum", string(value))) + return obj + } + enumValue := openapi.PatternIpv4PatternIpv4_Choice_Enum(intValue) + obj.obj.Choice = &enumValue + obj.obj.Decrement = nil + obj.decrementHolder = nil + obj.obj.Increment = nil + obj.incrementHolder = nil + obj.obj.Values = nil + obj.obj.Value = nil + + if value == PatternIpv4PatternIpv4Choice.VALUE { + defaultValue := "0.0.0.0" + obj.obj.Value = &defaultValue + } + + if value == PatternIpv4PatternIpv4Choice.VALUES { + defaultValue := []string{"0.0.0.0"} + obj.obj.Values = defaultValue + } + + if value == PatternIpv4PatternIpv4Choice.INCREMENT { + obj.obj.Increment = NewPatternIpv4PatternIpv4Counter().Msg() + } + + if value == PatternIpv4PatternIpv4Choice.DECREMENT { + obj.obj.Decrement = NewPatternIpv4PatternIpv4Counter().Msg() + } + + return obj +} + +// description is TBD +// Value returns a string +func (obj *patternIpv4PatternIpv4) Value() string { + + if obj.obj.Value == nil { + obj.SetChoice(PatternIpv4PatternIpv4Choice.VALUE) + } + + return *obj.obj.Value + +} + +// description is TBD +// Value returns a string +func (obj *patternIpv4PatternIpv4) HasValue() bool { + return obj.obj.Value != nil +} + +// description is TBD +// SetValue sets the string value in the PatternIpv4PatternIpv4 object +func (obj *patternIpv4PatternIpv4) SetValue(value string) PatternIpv4PatternIpv4 { + obj.SetChoice(PatternIpv4PatternIpv4Choice.VALUE) + obj.obj.Value = &value + return obj +} + +// description is TBD +// Values returns a []string +func (obj *patternIpv4PatternIpv4) Values() []string { + if obj.obj.Values == nil { + obj.SetValues([]string{"0.0.0.0"}) + } + return obj.obj.Values +} + +// description is TBD +// SetValues sets the []string value in the PatternIpv4PatternIpv4 object +func (obj *patternIpv4PatternIpv4) SetValues(value []string) PatternIpv4PatternIpv4 { + obj.SetChoice(PatternIpv4PatternIpv4Choice.VALUES) + if obj.obj.Values == nil { + obj.obj.Values = make([]string, 0) + } + obj.obj.Values = value + + return obj +} + +// description is TBD +// Increment returns a PatternIpv4PatternIpv4Counter +func (obj *patternIpv4PatternIpv4) Increment() PatternIpv4PatternIpv4Counter { + if obj.obj.Increment == nil { + obj.SetChoice(PatternIpv4PatternIpv4Choice.INCREMENT) + } + if obj.incrementHolder == nil { + obj.incrementHolder = &patternIpv4PatternIpv4Counter{obj: obj.obj.Increment} + } + return obj.incrementHolder +} + +// description is TBD +// Increment returns a PatternIpv4PatternIpv4Counter +func (obj *patternIpv4PatternIpv4) HasIncrement() bool { + return obj.obj.Increment != nil +} + +// description is TBD +// SetIncrement sets the PatternIpv4PatternIpv4Counter value in the PatternIpv4PatternIpv4 object +func (obj *patternIpv4PatternIpv4) SetIncrement(value PatternIpv4PatternIpv4Counter) PatternIpv4PatternIpv4 { + obj.SetChoice(PatternIpv4PatternIpv4Choice.INCREMENT) + obj.incrementHolder = nil + obj.obj.Increment = value.Msg() + + return obj +} + +// description is TBD +// Decrement returns a PatternIpv4PatternIpv4Counter +func (obj *patternIpv4PatternIpv4) Decrement() PatternIpv4PatternIpv4Counter { + if obj.obj.Decrement == nil { + obj.SetChoice(PatternIpv4PatternIpv4Choice.DECREMENT) + } + if obj.decrementHolder == nil { + obj.decrementHolder = &patternIpv4PatternIpv4Counter{obj: obj.obj.Decrement} + } + return obj.decrementHolder +} + +// description is TBD +// Decrement returns a PatternIpv4PatternIpv4Counter +func (obj *patternIpv4PatternIpv4) HasDecrement() bool { + return obj.obj.Decrement != nil +} + +// description is TBD +// SetDecrement sets the PatternIpv4PatternIpv4Counter value in the PatternIpv4PatternIpv4 object +func (obj *patternIpv4PatternIpv4) SetDecrement(value PatternIpv4PatternIpv4Counter) PatternIpv4PatternIpv4 { + obj.SetChoice(PatternIpv4PatternIpv4Choice.DECREMENT) + obj.decrementHolder = nil + obj.obj.Decrement = value.Msg() + + return obj +} + +func (obj *patternIpv4PatternIpv4) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Value != nil { + + err := obj.validateIpv4(obj.Value()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternIpv4PatternIpv4.Value")) + } + + } + + if obj.obj.Values != nil { + + err := obj.validateIpv4Slice(obj.Values()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternIpv4PatternIpv4.Values")) + } + + } + + if obj.obj.Increment != nil { + + obj.Increment().validateObj(vObj, set_default) + } + + if obj.obj.Decrement != nil { + + obj.Decrement().validateObj(vObj, set_default) + } + +} + +func (obj *patternIpv4PatternIpv4) setDefault() { + if obj.obj.Choice == nil { + obj.SetChoice(PatternIpv4PatternIpv4Choice.VALUE) + + } + +} + +// ***** PatternIpv6PatternIpv6 ***** +type patternIpv6PatternIpv6 struct { + validation + obj *openapi.PatternIpv6PatternIpv6 + incrementHolder PatternIpv6PatternIpv6Counter + decrementHolder PatternIpv6PatternIpv6Counter +} + +func NewPatternIpv6PatternIpv6() PatternIpv6PatternIpv6 { + obj := patternIpv6PatternIpv6{obj: &openapi.PatternIpv6PatternIpv6{}} + obj.setDefault() + return &obj +} + +func (obj *patternIpv6PatternIpv6) Msg() *openapi.PatternIpv6PatternIpv6 { + return obj.obj +} + +func (obj *patternIpv6PatternIpv6) SetMsg(msg *openapi.PatternIpv6PatternIpv6) PatternIpv6PatternIpv6 { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *patternIpv6PatternIpv6) ToProto() (*openapi.PatternIpv6PatternIpv6, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *patternIpv6PatternIpv6) FromProto(msg *openapi.PatternIpv6PatternIpv6) (PatternIpv6PatternIpv6, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *patternIpv6PatternIpv6) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *patternIpv6PatternIpv6) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *patternIpv6PatternIpv6) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternIpv6PatternIpv6) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *patternIpv6PatternIpv6) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternIpv6PatternIpv6) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *patternIpv6PatternIpv6) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *patternIpv6PatternIpv6) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *patternIpv6PatternIpv6) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *patternIpv6PatternIpv6) Clone() (PatternIpv6PatternIpv6, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewPatternIpv6PatternIpv6() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *patternIpv6PatternIpv6) setNil() { + obj.incrementHolder = nil + obj.decrementHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// PatternIpv6PatternIpv6 is tBD +type PatternIpv6PatternIpv6 interface { + Validation + // Msg marshals PatternIpv6PatternIpv6 to protobuf object *openapi.PatternIpv6PatternIpv6 + // and doesn't set defaults + Msg() *openapi.PatternIpv6PatternIpv6 + // SetMsg unmarshals PatternIpv6PatternIpv6 from protobuf object *openapi.PatternIpv6PatternIpv6 + // and doesn't set defaults + SetMsg(*openapi.PatternIpv6PatternIpv6) PatternIpv6PatternIpv6 + // ToProto marshals PatternIpv6PatternIpv6 to protobuf object *openapi.PatternIpv6PatternIpv6 + ToProto() (*openapi.PatternIpv6PatternIpv6, error) + // ToPbText marshals PatternIpv6PatternIpv6 to protobuf text + ToPbText() (string, error) + // ToYaml marshals PatternIpv6PatternIpv6 to YAML text + ToYaml() (string, error) + // ToJson marshals PatternIpv6PatternIpv6 to JSON text + ToJson() (string, error) + // FromProto unmarshals PatternIpv6PatternIpv6 from protobuf object *openapi.PatternIpv6PatternIpv6 + FromProto(msg *openapi.PatternIpv6PatternIpv6) (PatternIpv6PatternIpv6, error) + // FromPbText unmarshals PatternIpv6PatternIpv6 from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PatternIpv6PatternIpv6 from YAML text + FromYaml(value string) error + // FromJson unmarshals PatternIpv6PatternIpv6 from JSON text + FromJson(value string) error + // Validate validates PatternIpv6PatternIpv6 + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (PatternIpv6PatternIpv6, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Choice returns PatternIpv6PatternIpv6ChoiceEnum, set in PatternIpv6PatternIpv6 + Choice() PatternIpv6PatternIpv6ChoiceEnum + // SetChoice assigns PatternIpv6PatternIpv6ChoiceEnum provided by user to PatternIpv6PatternIpv6 + SetChoice(value PatternIpv6PatternIpv6ChoiceEnum) PatternIpv6PatternIpv6 + // HasChoice checks if Choice has been set in PatternIpv6PatternIpv6 + HasChoice() bool + // Value returns string, set in PatternIpv6PatternIpv6. + Value() string + // SetValue assigns string provided by user to PatternIpv6PatternIpv6 + SetValue(value string) PatternIpv6PatternIpv6 + // HasValue checks if Value has been set in PatternIpv6PatternIpv6 + HasValue() bool + // Values returns []string, set in PatternIpv6PatternIpv6. + Values() []string + // SetValues assigns []string provided by user to PatternIpv6PatternIpv6 + SetValues(value []string) PatternIpv6PatternIpv6 + // Increment returns PatternIpv6PatternIpv6Counter, set in PatternIpv6PatternIpv6. + // PatternIpv6PatternIpv6Counter is ipv6 counter pattern + Increment() PatternIpv6PatternIpv6Counter + // SetIncrement assigns PatternIpv6PatternIpv6Counter provided by user to PatternIpv6PatternIpv6. + // PatternIpv6PatternIpv6Counter is ipv6 counter pattern + SetIncrement(value PatternIpv6PatternIpv6Counter) PatternIpv6PatternIpv6 + // HasIncrement checks if Increment has been set in PatternIpv6PatternIpv6 + HasIncrement() bool + // Decrement returns PatternIpv6PatternIpv6Counter, set in PatternIpv6PatternIpv6. + // PatternIpv6PatternIpv6Counter is ipv6 counter pattern + Decrement() PatternIpv6PatternIpv6Counter + // SetDecrement assigns PatternIpv6PatternIpv6Counter provided by user to PatternIpv6PatternIpv6. + // PatternIpv6PatternIpv6Counter is ipv6 counter pattern + SetDecrement(value PatternIpv6PatternIpv6Counter) PatternIpv6PatternIpv6 + // HasDecrement checks if Decrement has been set in PatternIpv6PatternIpv6 + HasDecrement() bool + setNil() +} + +type PatternIpv6PatternIpv6ChoiceEnum string + +// Enum of Choice on PatternIpv6PatternIpv6 +var PatternIpv6PatternIpv6Choice = struct { + VALUE PatternIpv6PatternIpv6ChoiceEnum + VALUES PatternIpv6PatternIpv6ChoiceEnum + INCREMENT PatternIpv6PatternIpv6ChoiceEnum + DECREMENT PatternIpv6PatternIpv6ChoiceEnum +}{ + VALUE: PatternIpv6PatternIpv6ChoiceEnum("value"), + VALUES: PatternIpv6PatternIpv6ChoiceEnum("values"), + INCREMENT: PatternIpv6PatternIpv6ChoiceEnum("increment"), + DECREMENT: PatternIpv6PatternIpv6ChoiceEnum("decrement"), +} + +func (obj *patternIpv6PatternIpv6) Choice() PatternIpv6PatternIpv6ChoiceEnum { + return PatternIpv6PatternIpv6ChoiceEnum(obj.obj.Choice.Enum().String()) +} + +// description is TBD +// Choice returns a string +func (obj *patternIpv6PatternIpv6) HasChoice() bool { + return obj.obj.Choice != nil +} + +func (obj *patternIpv6PatternIpv6) SetChoice(value PatternIpv6PatternIpv6ChoiceEnum) PatternIpv6PatternIpv6 { + intValue, ok := openapi.PatternIpv6PatternIpv6_Choice_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on PatternIpv6PatternIpv6ChoiceEnum", string(value))) + return obj + } + enumValue := openapi.PatternIpv6PatternIpv6_Choice_Enum(intValue) + obj.obj.Choice = &enumValue + obj.obj.Decrement = nil + obj.decrementHolder = nil + obj.obj.Increment = nil + obj.incrementHolder = nil + obj.obj.Values = nil + obj.obj.Value = nil + + if value == PatternIpv6PatternIpv6Choice.VALUE { + defaultValue := "::" + obj.obj.Value = &defaultValue + } + + if value == PatternIpv6PatternIpv6Choice.VALUES { + defaultValue := []string{"::"} + obj.obj.Values = defaultValue + } + + if value == PatternIpv6PatternIpv6Choice.INCREMENT { + obj.obj.Increment = NewPatternIpv6PatternIpv6Counter().Msg() + } + + if value == PatternIpv6PatternIpv6Choice.DECREMENT { + obj.obj.Decrement = NewPatternIpv6PatternIpv6Counter().Msg() + } + + return obj +} + +// description is TBD +// Value returns a string +func (obj *patternIpv6PatternIpv6) Value() string { + + if obj.obj.Value == nil { + obj.SetChoice(PatternIpv6PatternIpv6Choice.VALUE) + } + + return *obj.obj.Value + +} + +// description is TBD +// Value returns a string +func (obj *patternIpv6PatternIpv6) HasValue() bool { + return obj.obj.Value != nil +} + +// description is TBD +// SetValue sets the string value in the PatternIpv6PatternIpv6 object +func (obj *patternIpv6PatternIpv6) SetValue(value string) PatternIpv6PatternIpv6 { + obj.SetChoice(PatternIpv6PatternIpv6Choice.VALUE) + obj.obj.Value = &value + return obj +} + +// description is TBD +// Values returns a []string +func (obj *patternIpv6PatternIpv6) Values() []string { + if obj.obj.Values == nil { + obj.SetValues([]string{"::"}) + } + return obj.obj.Values +} + +// description is TBD +// SetValues sets the []string value in the PatternIpv6PatternIpv6 object +func (obj *patternIpv6PatternIpv6) SetValues(value []string) PatternIpv6PatternIpv6 { + obj.SetChoice(PatternIpv6PatternIpv6Choice.VALUES) + if obj.obj.Values == nil { + obj.obj.Values = make([]string, 0) + } + obj.obj.Values = value + + return obj +} + +// description is TBD +// Increment returns a PatternIpv6PatternIpv6Counter +func (obj *patternIpv6PatternIpv6) Increment() PatternIpv6PatternIpv6Counter { + if obj.obj.Increment == nil { + obj.SetChoice(PatternIpv6PatternIpv6Choice.INCREMENT) + } + if obj.incrementHolder == nil { + obj.incrementHolder = &patternIpv6PatternIpv6Counter{obj: obj.obj.Increment} + } + return obj.incrementHolder +} + +// description is TBD +// Increment returns a PatternIpv6PatternIpv6Counter +func (obj *patternIpv6PatternIpv6) HasIncrement() bool { + return obj.obj.Increment != nil +} + +// description is TBD +// SetIncrement sets the PatternIpv6PatternIpv6Counter value in the PatternIpv6PatternIpv6 object +func (obj *patternIpv6PatternIpv6) SetIncrement(value PatternIpv6PatternIpv6Counter) PatternIpv6PatternIpv6 { + obj.SetChoice(PatternIpv6PatternIpv6Choice.INCREMENT) + obj.incrementHolder = nil + obj.obj.Increment = value.Msg() + + return obj +} + +// description is TBD +// Decrement returns a PatternIpv6PatternIpv6Counter +func (obj *patternIpv6PatternIpv6) Decrement() PatternIpv6PatternIpv6Counter { + if obj.obj.Decrement == nil { + obj.SetChoice(PatternIpv6PatternIpv6Choice.DECREMENT) + } + if obj.decrementHolder == nil { + obj.decrementHolder = &patternIpv6PatternIpv6Counter{obj: obj.obj.Decrement} + } + return obj.decrementHolder +} + +// description is TBD +// Decrement returns a PatternIpv6PatternIpv6Counter +func (obj *patternIpv6PatternIpv6) HasDecrement() bool { + return obj.obj.Decrement != nil +} + +// description is TBD +// SetDecrement sets the PatternIpv6PatternIpv6Counter value in the PatternIpv6PatternIpv6 object +func (obj *patternIpv6PatternIpv6) SetDecrement(value PatternIpv6PatternIpv6Counter) PatternIpv6PatternIpv6 { + obj.SetChoice(PatternIpv6PatternIpv6Choice.DECREMENT) + obj.decrementHolder = nil + obj.obj.Decrement = value.Msg() + + return obj +} + +func (obj *patternIpv6PatternIpv6) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Value != nil { + + err := obj.validateIpv6(obj.Value()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternIpv6PatternIpv6.Value")) + } + + } + + if obj.obj.Values != nil { + + err := obj.validateIpv6Slice(obj.Values()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternIpv6PatternIpv6.Values")) + } + + } + + if obj.obj.Increment != nil { + + obj.Increment().validateObj(vObj, set_default) + } + + if obj.obj.Decrement != nil { + + obj.Decrement().validateObj(vObj, set_default) + } + +} + +func (obj *patternIpv6PatternIpv6) setDefault() { + if obj.obj.Choice == nil { + obj.SetChoice(PatternIpv6PatternIpv6Choice.VALUE) + + } + +} + +// ***** PatternMacPatternMac ***** +type patternMacPatternMac struct { + validation + obj *openapi.PatternMacPatternMac + incrementHolder PatternMacPatternMacCounter + decrementHolder PatternMacPatternMacCounter +} + +func NewPatternMacPatternMac() PatternMacPatternMac { + obj := patternMacPatternMac{obj: &openapi.PatternMacPatternMac{}} + obj.setDefault() + return &obj +} + +func (obj *patternMacPatternMac) Msg() *openapi.PatternMacPatternMac { + return obj.obj +} + +func (obj *patternMacPatternMac) SetMsg(msg *openapi.PatternMacPatternMac) PatternMacPatternMac { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *patternMacPatternMac) ToProto() (*openapi.PatternMacPatternMac, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *patternMacPatternMac) FromProto(msg *openapi.PatternMacPatternMac) (PatternMacPatternMac, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *patternMacPatternMac) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *patternMacPatternMac) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *patternMacPatternMac) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternMacPatternMac) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *patternMacPatternMac) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternMacPatternMac) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *patternMacPatternMac) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *patternMacPatternMac) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *patternMacPatternMac) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *patternMacPatternMac) Clone() (PatternMacPatternMac, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewPatternMacPatternMac() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *patternMacPatternMac) setNil() { + obj.incrementHolder = nil + obj.decrementHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// PatternMacPatternMac is tBD +type PatternMacPatternMac interface { + Validation + // Msg marshals PatternMacPatternMac to protobuf object *openapi.PatternMacPatternMac + // and doesn't set defaults + Msg() *openapi.PatternMacPatternMac + // SetMsg unmarshals PatternMacPatternMac from protobuf object *openapi.PatternMacPatternMac + // and doesn't set defaults + SetMsg(*openapi.PatternMacPatternMac) PatternMacPatternMac + // ToProto marshals PatternMacPatternMac to protobuf object *openapi.PatternMacPatternMac + ToProto() (*openapi.PatternMacPatternMac, error) + // ToPbText marshals PatternMacPatternMac to protobuf text + ToPbText() (string, error) + // ToYaml marshals PatternMacPatternMac to YAML text + ToYaml() (string, error) + // ToJson marshals PatternMacPatternMac to JSON text + ToJson() (string, error) + // FromProto unmarshals PatternMacPatternMac from protobuf object *openapi.PatternMacPatternMac + FromProto(msg *openapi.PatternMacPatternMac) (PatternMacPatternMac, error) + // FromPbText unmarshals PatternMacPatternMac from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PatternMacPatternMac from YAML text + FromYaml(value string) error + // FromJson unmarshals PatternMacPatternMac from JSON text + FromJson(value string) error + // Validate validates PatternMacPatternMac + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (PatternMacPatternMac, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Choice returns PatternMacPatternMacChoiceEnum, set in PatternMacPatternMac + Choice() PatternMacPatternMacChoiceEnum + // SetChoice assigns PatternMacPatternMacChoiceEnum provided by user to PatternMacPatternMac + SetChoice(value PatternMacPatternMacChoiceEnum) PatternMacPatternMac + // HasChoice checks if Choice has been set in PatternMacPatternMac + HasChoice() bool + // Value returns string, set in PatternMacPatternMac. + Value() string + // SetValue assigns string provided by user to PatternMacPatternMac + SetValue(value string) PatternMacPatternMac + // HasValue checks if Value has been set in PatternMacPatternMac + HasValue() bool + // Values returns []string, set in PatternMacPatternMac. + Values() []string + // SetValues assigns []string provided by user to PatternMacPatternMac + SetValues(value []string) PatternMacPatternMac + // Auto returns string, set in PatternMacPatternMac. + Auto() string + // HasAuto checks if Auto has been set in PatternMacPatternMac + HasAuto() bool + // Increment returns PatternMacPatternMacCounter, set in PatternMacPatternMac. + // PatternMacPatternMacCounter is mac counter pattern + Increment() PatternMacPatternMacCounter + // SetIncrement assigns PatternMacPatternMacCounter provided by user to PatternMacPatternMac. + // PatternMacPatternMacCounter is mac counter pattern + SetIncrement(value PatternMacPatternMacCounter) PatternMacPatternMac + // HasIncrement checks if Increment has been set in PatternMacPatternMac + HasIncrement() bool + // Decrement returns PatternMacPatternMacCounter, set in PatternMacPatternMac. + // PatternMacPatternMacCounter is mac counter pattern + Decrement() PatternMacPatternMacCounter + // SetDecrement assigns PatternMacPatternMacCounter provided by user to PatternMacPatternMac. + // PatternMacPatternMacCounter is mac counter pattern + SetDecrement(value PatternMacPatternMacCounter) PatternMacPatternMac + // HasDecrement checks if Decrement has been set in PatternMacPatternMac + HasDecrement() bool + setNil() +} + +type PatternMacPatternMacChoiceEnum string + +// Enum of Choice on PatternMacPatternMac +var PatternMacPatternMacChoice = struct { + VALUE PatternMacPatternMacChoiceEnum + VALUES PatternMacPatternMacChoiceEnum + AUTO PatternMacPatternMacChoiceEnum + INCREMENT PatternMacPatternMacChoiceEnum + DECREMENT PatternMacPatternMacChoiceEnum +}{ + VALUE: PatternMacPatternMacChoiceEnum("value"), + VALUES: PatternMacPatternMacChoiceEnum("values"), + AUTO: PatternMacPatternMacChoiceEnum("auto"), + INCREMENT: PatternMacPatternMacChoiceEnum("increment"), + DECREMENT: PatternMacPatternMacChoiceEnum("decrement"), +} + +func (obj *patternMacPatternMac) Choice() PatternMacPatternMacChoiceEnum { + return PatternMacPatternMacChoiceEnum(obj.obj.Choice.Enum().String()) +} + +// description is TBD +// Choice returns a string +func (obj *patternMacPatternMac) HasChoice() bool { + return obj.obj.Choice != nil +} + +func (obj *patternMacPatternMac) SetChoice(value PatternMacPatternMacChoiceEnum) PatternMacPatternMac { + intValue, ok := openapi.PatternMacPatternMac_Choice_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on PatternMacPatternMacChoiceEnum", string(value))) + return obj + } + enumValue := openapi.PatternMacPatternMac_Choice_Enum(intValue) + obj.obj.Choice = &enumValue + obj.obj.Decrement = nil + obj.decrementHolder = nil + obj.obj.Increment = nil + obj.incrementHolder = nil + obj.obj.Auto = nil + obj.obj.Values = nil + obj.obj.Value = nil + + if value == PatternMacPatternMacChoice.VALUE { + defaultValue := "00:00:00:00:00:00" + obj.obj.Value = &defaultValue + } + + if value == PatternMacPatternMacChoice.VALUES { + defaultValue := []string{"00:00:00:00:00:00"} + obj.obj.Values = defaultValue + } + + if value == PatternMacPatternMacChoice.AUTO { + defaultValue := "00:00:00:00:00:00" + obj.obj.Auto = &defaultValue + } + + if value == PatternMacPatternMacChoice.INCREMENT { + obj.obj.Increment = NewPatternMacPatternMacCounter().Msg() + } + + if value == PatternMacPatternMacChoice.DECREMENT { + obj.obj.Decrement = NewPatternMacPatternMacCounter().Msg() + } + + return obj +} + +// description is TBD +// Value returns a string +func (obj *patternMacPatternMac) Value() string { + + if obj.obj.Value == nil { + obj.SetChoice(PatternMacPatternMacChoice.VALUE) + } + + return *obj.obj.Value + +} + +// description is TBD +// Value returns a string +func (obj *patternMacPatternMac) HasValue() bool { + return obj.obj.Value != nil +} + +// description is TBD +// SetValue sets the string value in the PatternMacPatternMac object +func (obj *patternMacPatternMac) SetValue(value string) PatternMacPatternMac { + obj.SetChoice(PatternMacPatternMacChoice.VALUE) + obj.obj.Value = &value + return obj +} + +// description is TBD +// Values returns a []string +func (obj *patternMacPatternMac) Values() []string { + if obj.obj.Values == nil { + obj.SetValues([]string{"00:00:00:00:00:00"}) + } + return obj.obj.Values +} + +// description is TBD +// SetValues sets the []string value in the PatternMacPatternMac object +func (obj *patternMacPatternMac) SetValues(value []string) PatternMacPatternMac { + obj.SetChoice(PatternMacPatternMacChoice.VALUES) + if obj.obj.Values == nil { + obj.obj.Values = make([]string, 0) + } + obj.obj.Values = value + + return obj +} + +// The OTG implementation can provide a system generated +// value for this property. If the OTG is unable to generate a value +// the default value must be used. +// Auto returns a string +func (obj *patternMacPatternMac) Auto() string { + + if obj.obj.Auto == nil { + obj.SetChoice(PatternMacPatternMacChoice.AUTO) + } + + return *obj.obj.Auto + +} + +// The OTG implementation can provide a system generated +// value for this property. If the OTG is unable to generate a value +// the default value must be used. +// Auto returns a string +func (obj *patternMacPatternMac) HasAuto() bool { + return obj.obj.Auto != nil +} + +// description is TBD +// Increment returns a PatternMacPatternMacCounter +func (obj *patternMacPatternMac) Increment() PatternMacPatternMacCounter { + if obj.obj.Increment == nil { + obj.SetChoice(PatternMacPatternMacChoice.INCREMENT) + } + if obj.incrementHolder == nil { + obj.incrementHolder = &patternMacPatternMacCounter{obj: obj.obj.Increment} + } + return obj.incrementHolder +} + +// description is TBD +// Increment returns a PatternMacPatternMacCounter +func (obj *patternMacPatternMac) HasIncrement() bool { + return obj.obj.Increment != nil +} + +// description is TBD +// SetIncrement sets the PatternMacPatternMacCounter value in the PatternMacPatternMac object +func (obj *patternMacPatternMac) SetIncrement(value PatternMacPatternMacCounter) PatternMacPatternMac { + obj.SetChoice(PatternMacPatternMacChoice.INCREMENT) + obj.incrementHolder = nil + obj.obj.Increment = value.Msg() + + return obj +} + +// description is TBD +// Decrement returns a PatternMacPatternMacCounter +func (obj *patternMacPatternMac) Decrement() PatternMacPatternMacCounter { + if obj.obj.Decrement == nil { + obj.SetChoice(PatternMacPatternMacChoice.DECREMENT) + } + if obj.decrementHolder == nil { + obj.decrementHolder = &patternMacPatternMacCounter{obj: obj.obj.Decrement} + } + return obj.decrementHolder +} + +// description is TBD +// Decrement returns a PatternMacPatternMacCounter +func (obj *patternMacPatternMac) HasDecrement() bool { + return obj.obj.Decrement != nil +} + +// description is TBD +// SetDecrement sets the PatternMacPatternMacCounter value in the PatternMacPatternMac object +func (obj *patternMacPatternMac) SetDecrement(value PatternMacPatternMacCounter) PatternMacPatternMac { + obj.SetChoice(PatternMacPatternMacChoice.DECREMENT) + obj.decrementHolder = nil + obj.obj.Decrement = value.Msg() + + return obj +} + +func (obj *patternMacPatternMac) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Value != nil { + + err := obj.validateMac(obj.Value()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternMacPatternMac.Value")) + } + + } + + if obj.obj.Values != nil { + + err := obj.validateMacSlice(obj.Values()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternMacPatternMac.Values")) + } + + } + + if obj.obj.Auto != nil { + + err := obj.validateMac(obj.Auto()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternMacPatternMac.Auto")) + } + + } + + if obj.obj.Increment != nil { + + obj.Increment().validateObj(vObj, set_default) + } + + if obj.obj.Decrement != nil { + + obj.Decrement().validateObj(vObj, set_default) + } + +} + +func (obj *patternMacPatternMac) setDefault() { + if obj.obj.Choice == nil { + obj.SetChoice(PatternMacPatternMacChoice.AUTO) + + } + +} + +// ***** PatternIntegerPatternInteger ***** +type patternIntegerPatternInteger struct { + validation + obj *openapi.PatternIntegerPatternInteger + incrementHolder PatternIntegerPatternIntegerCounter + decrementHolder PatternIntegerPatternIntegerCounter +} + +func NewPatternIntegerPatternInteger() PatternIntegerPatternInteger { + obj := patternIntegerPatternInteger{obj: &openapi.PatternIntegerPatternInteger{}} + obj.setDefault() + return &obj +} + +func (obj *patternIntegerPatternInteger) Msg() *openapi.PatternIntegerPatternInteger { + return obj.obj +} + +func (obj *patternIntegerPatternInteger) SetMsg(msg *openapi.PatternIntegerPatternInteger) PatternIntegerPatternInteger { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *patternIntegerPatternInteger) ToProto() (*openapi.PatternIntegerPatternInteger, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *patternIntegerPatternInteger) FromProto(msg *openapi.PatternIntegerPatternInteger) (PatternIntegerPatternInteger, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *patternIntegerPatternInteger) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *patternIntegerPatternInteger) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *patternIntegerPatternInteger) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternIntegerPatternInteger) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *patternIntegerPatternInteger) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternIntegerPatternInteger) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *patternIntegerPatternInteger) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *patternIntegerPatternInteger) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *patternIntegerPatternInteger) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *patternIntegerPatternInteger) Clone() (PatternIntegerPatternInteger, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewPatternIntegerPatternInteger() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *patternIntegerPatternInteger) setNil() { + obj.incrementHolder = nil + obj.decrementHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// PatternIntegerPatternInteger is tBD +type PatternIntegerPatternInteger interface { + Validation + // Msg marshals PatternIntegerPatternInteger to protobuf object *openapi.PatternIntegerPatternInteger + // and doesn't set defaults + Msg() *openapi.PatternIntegerPatternInteger + // SetMsg unmarshals PatternIntegerPatternInteger from protobuf object *openapi.PatternIntegerPatternInteger + // and doesn't set defaults + SetMsg(*openapi.PatternIntegerPatternInteger) PatternIntegerPatternInteger + // ToProto marshals PatternIntegerPatternInteger to protobuf object *openapi.PatternIntegerPatternInteger + ToProto() (*openapi.PatternIntegerPatternInteger, error) + // ToPbText marshals PatternIntegerPatternInteger to protobuf text + ToPbText() (string, error) + // ToYaml marshals PatternIntegerPatternInteger to YAML text + ToYaml() (string, error) + // ToJson marshals PatternIntegerPatternInteger to JSON text + ToJson() (string, error) + // FromProto unmarshals PatternIntegerPatternInteger from protobuf object *openapi.PatternIntegerPatternInteger + FromProto(msg *openapi.PatternIntegerPatternInteger) (PatternIntegerPatternInteger, error) + // FromPbText unmarshals PatternIntegerPatternInteger from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PatternIntegerPatternInteger from YAML text + FromYaml(value string) error + // FromJson unmarshals PatternIntegerPatternInteger from JSON text + FromJson(value string) error + // Validate validates PatternIntegerPatternInteger + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (PatternIntegerPatternInteger, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Choice returns PatternIntegerPatternIntegerChoiceEnum, set in PatternIntegerPatternInteger + Choice() PatternIntegerPatternIntegerChoiceEnum + // SetChoice assigns PatternIntegerPatternIntegerChoiceEnum provided by user to PatternIntegerPatternInteger + SetChoice(value PatternIntegerPatternIntegerChoiceEnum) PatternIntegerPatternInteger + // HasChoice checks if Choice has been set in PatternIntegerPatternInteger + HasChoice() bool + // Value returns uint32, set in PatternIntegerPatternInteger. + Value() uint32 + // SetValue assigns uint32 provided by user to PatternIntegerPatternInteger + SetValue(value uint32) PatternIntegerPatternInteger + // HasValue checks if Value has been set in PatternIntegerPatternInteger + HasValue() bool + // Values returns []uint32, set in PatternIntegerPatternInteger. + Values() []uint32 + // SetValues assigns []uint32 provided by user to PatternIntegerPatternInteger + SetValues(value []uint32) PatternIntegerPatternInteger + // Increment returns PatternIntegerPatternIntegerCounter, set in PatternIntegerPatternInteger. + // PatternIntegerPatternIntegerCounter is integer counter pattern + Increment() PatternIntegerPatternIntegerCounter + // SetIncrement assigns PatternIntegerPatternIntegerCounter provided by user to PatternIntegerPatternInteger. + // PatternIntegerPatternIntegerCounter is integer counter pattern + SetIncrement(value PatternIntegerPatternIntegerCounter) PatternIntegerPatternInteger + // HasIncrement checks if Increment has been set in PatternIntegerPatternInteger + HasIncrement() bool + // Decrement returns PatternIntegerPatternIntegerCounter, set in PatternIntegerPatternInteger. + // PatternIntegerPatternIntegerCounter is integer counter pattern + Decrement() PatternIntegerPatternIntegerCounter + // SetDecrement assigns PatternIntegerPatternIntegerCounter provided by user to PatternIntegerPatternInteger. + // PatternIntegerPatternIntegerCounter is integer counter pattern + SetDecrement(value PatternIntegerPatternIntegerCounter) PatternIntegerPatternInteger + // HasDecrement checks if Decrement has been set in PatternIntegerPatternInteger + HasDecrement() bool + setNil() +} + +type PatternIntegerPatternIntegerChoiceEnum string + +// Enum of Choice on PatternIntegerPatternInteger +var PatternIntegerPatternIntegerChoice = struct { + VALUE PatternIntegerPatternIntegerChoiceEnum + VALUES PatternIntegerPatternIntegerChoiceEnum + INCREMENT PatternIntegerPatternIntegerChoiceEnum + DECREMENT PatternIntegerPatternIntegerChoiceEnum +}{ + VALUE: PatternIntegerPatternIntegerChoiceEnum("value"), + VALUES: PatternIntegerPatternIntegerChoiceEnum("values"), + INCREMENT: PatternIntegerPatternIntegerChoiceEnum("increment"), + DECREMENT: PatternIntegerPatternIntegerChoiceEnum("decrement"), +} + +func (obj *patternIntegerPatternInteger) Choice() PatternIntegerPatternIntegerChoiceEnum { + return PatternIntegerPatternIntegerChoiceEnum(obj.obj.Choice.Enum().String()) +} + +// description is TBD +// Choice returns a string +func (obj *patternIntegerPatternInteger) HasChoice() bool { + return obj.obj.Choice != nil +} + +func (obj *patternIntegerPatternInteger) SetChoice(value PatternIntegerPatternIntegerChoiceEnum) PatternIntegerPatternInteger { + intValue, ok := openapi.PatternIntegerPatternInteger_Choice_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on PatternIntegerPatternIntegerChoiceEnum", string(value))) + return obj + } + enumValue := openapi.PatternIntegerPatternInteger_Choice_Enum(intValue) + obj.obj.Choice = &enumValue + obj.obj.Decrement = nil + obj.decrementHolder = nil + obj.obj.Increment = nil + obj.incrementHolder = nil + obj.obj.Values = nil + obj.obj.Value = nil + + if value == PatternIntegerPatternIntegerChoice.VALUE { + defaultValue := uint32(0) + obj.obj.Value = &defaultValue + } + + if value == PatternIntegerPatternIntegerChoice.VALUES { + defaultValue := []uint32{0} + obj.obj.Values = defaultValue + } + + if value == PatternIntegerPatternIntegerChoice.INCREMENT { + obj.obj.Increment = NewPatternIntegerPatternIntegerCounter().Msg() + } + + if value == PatternIntegerPatternIntegerChoice.DECREMENT { + obj.obj.Decrement = NewPatternIntegerPatternIntegerCounter().Msg() + } + + return obj +} + +// description is TBD +// Value returns a uint32 +func (obj *patternIntegerPatternInteger) Value() uint32 { + + if obj.obj.Value == nil { + obj.SetChoice(PatternIntegerPatternIntegerChoice.VALUE) + } + + return *obj.obj.Value + +} + +// description is TBD +// Value returns a uint32 +func (obj *patternIntegerPatternInteger) HasValue() bool { + return obj.obj.Value != nil +} + +// description is TBD +// SetValue sets the uint32 value in the PatternIntegerPatternInteger object +func (obj *patternIntegerPatternInteger) SetValue(value uint32) PatternIntegerPatternInteger { + obj.SetChoice(PatternIntegerPatternIntegerChoice.VALUE) + obj.obj.Value = &value + return obj +} + +// description is TBD +// Values returns a []uint32 +func (obj *patternIntegerPatternInteger) Values() []uint32 { + if obj.obj.Values == nil { + obj.SetValues([]uint32{0}) + } + return obj.obj.Values +} + +// description is TBD +// SetValues sets the []uint32 value in the PatternIntegerPatternInteger object +func (obj *patternIntegerPatternInteger) SetValues(value []uint32) PatternIntegerPatternInteger { + obj.SetChoice(PatternIntegerPatternIntegerChoice.VALUES) + if obj.obj.Values == nil { + obj.obj.Values = make([]uint32, 0) + } + obj.obj.Values = value + + return obj +} + +// description is TBD +// Increment returns a PatternIntegerPatternIntegerCounter +func (obj *patternIntegerPatternInteger) Increment() PatternIntegerPatternIntegerCounter { + if obj.obj.Increment == nil { + obj.SetChoice(PatternIntegerPatternIntegerChoice.INCREMENT) + } + if obj.incrementHolder == nil { + obj.incrementHolder = &patternIntegerPatternIntegerCounter{obj: obj.obj.Increment} + } + return obj.incrementHolder +} + +// description is TBD +// Increment returns a PatternIntegerPatternIntegerCounter +func (obj *patternIntegerPatternInteger) HasIncrement() bool { + return obj.obj.Increment != nil +} + +// description is TBD +// SetIncrement sets the PatternIntegerPatternIntegerCounter value in the PatternIntegerPatternInteger object +func (obj *patternIntegerPatternInteger) SetIncrement(value PatternIntegerPatternIntegerCounter) PatternIntegerPatternInteger { + obj.SetChoice(PatternIntegerPatternIntegerChoice.INCREMENT) + obj.incrementHolder = nil + obj.obj.Increment = value.Msg() + + return obj +} + +// description is TBD +// Decrement returns a PatternIntegerPatternIntegerCounter +func (obj *patternIntegerPatternInteger) Decrement() PatternIntegerPatternIntegerCounter { + if obj.obj.Decrement == nil { + obj.SetChoice(PatternIntegerPatternIntegerChoice.DECREMENT) + } + if obj.decrementHolder == nil { + obj.decrementHolder = &patternIntegerPatternIntegerCounter{obj: obj.obj.Decrement} + } + return obj.decrementHolder +} + +// description is TBD +// Decrement returns a PatternIntegerPatternIntegerCounter +func (obj *patternIntegerPatternInteger) HasDecrement() bool { + return obj.obj.Decrement != nil +} + +// description is TBD +// SetDecrement sets the PatternIntegerPatternIntegerCounter value in the PatternIntegerPatternInteger object +func (obj *patternIntegerPatternInteger) SetDecrement(value PatternIntegerPatternIntegerCounter) PatternIntegerPatternInteger { + obj.SetChoice(PatternIntegerPatternIntegerChoice.DECREMENT) + obj.decrementHolder = nil + obj.obj.Decrement = value.Msg() + + return obj +} + +func (obj *patternIntegerPatternInteger) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Value != nil { + + if *obj.obj.Value > 255 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("0 <= PatternIntegerPatternInteger.Value <= 255 but Got %d", *obj.obj.Value)) + } + + } + + if obj.obj.Values != nil { + + for _, item := range obj.obj.Values { + if item > 255 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("min(uint32) <= PatternIntegerPatternInteger.Values <= 255 but Got %d", item)) + } + + } + + } + + if obj.obj.Increment != nil { + + obj.Increment().validateObj(vObj, set_default) + } + + if obj.obj.Decrement != nil { + + obj.Decrement().validateObj(vObj, set_default) + } + +} + +func (obj *patternIntegerPatternInteger) setDefault() { + if obj.obj.Choice == nil { + obj.SetChoice(PatternIntegerPatternIntegerChoice.VALUE) + + } + +} + +// ***** PatternChecksumPatternChecksum ***** +type patternChecksumPatternChecksum struct { + validation + obj *openapi.PatternChecksumPatternChecksum +} + +func NewPatternChecksumPatternChecksum() PatternChecksumPatternChecksum { + obj := patternChecksumPatternChecksum{obj: &openapi.PatternChecksumPatternChecksum{}} + obj.setDefault() + return &obj +} + +func (obj *patternChecksumPatternChecksum) Msg() *openapi.PatternChecksumPatternChecksum { + return obj.obj +} + +func (obj *patternChecksumPatternChecksum) SetMsg(msg *openapi.PatternChecksumPatternChecksum) PatternChecksumPatternChecksum { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *patternChecksumPatternChecksum) ToProto() (*openapi.PatternChecksumPatternChecksum, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *patternChecksumPatternChecksum) FromProto(msg *openapi.PatternChecksumPatternChecksum) (PatternChecksumPatternChecksum, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *patternChecksumPatternChecksum) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *patternChecksumPatternChecksum) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *patternChecksumPatternChecksum) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternChecksumPatternChecksum) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *patternChecksumPatternChecksum) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternChecksumPatternChecksum) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *patternChecksumPatternChecksum) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *patternChecksumPatternChecksum) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *patternChecksumPatternChecksum) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *patternChecksumPatternChecksum) Clone() (PatternChecksumPatternChecksum, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewPatternChecksumPatternChecksum() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// PatternChecksumPatternChecksum is tBD +type PatternChecksumPatternChecksum interface { + Validation + // Msg marshals PatternChecksumPatternChecksum to protobuf object *openapi.PatternChecksumPatternChecksum + // and doesn't set defaults + Msg() *openapi.PatternChecksumPatternChecksum + // SetMsg unmarshals PatternChecksumPatternChecksum from protobuf object *openapi.PatternChecksumPatternChecksum + // and doesn't set defaults + SetMsg(*openapi.PatternChecksumPatternChecksum) PatternChecksumPatternChecksum + // ToProto marshals PatternChecksumPatternChecksum to protobuf object *openapi.PatternChecksumPatternChecksum + ToProto() (*openapi.PatternChecksumPatternChecksum, error) + // ToPbText marshals PatternChecksumPatternChecksum to protobuf text + ToPbText() (string, error) + // ToYaml marshals PatternChecksumPatternChecksum to YAML text + ToYaml() (string, error) + // ToJson marshals PatternChecksumPatternChecksum to JSON text + ToJson() (string, error) + // FromProto unmarshals PatternChecksumPatternChecksum from protobuf object *openapi.PatternChecksumPatternChecksum + FromProto(msg *openapi.PatternChecksumPatternChecksum) (PatternChecksumPatternChecksum, error) + // FromPbText unmarshals PatternChecksumPatternChecksum from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PatternChecksumPatternChecksum from YAML text + FromYaml(value string) error + // FromJson unmarshals PatternChecksumPatternChecksum from JSON text + FromJson(value string) error + // Validate validates PatternChecksumPatternChecksum + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (PatternChecksumPatternChecksum, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Choice returns PatternChecksumPatternChecksumChoiceEnum, set in PatternChecksumPatternChecksum + Choice() PatternChecksumPatternChecksumChoiceEnum + // SetChoice assigns PatternChecksumPatternChecksumChoiceEnum provided by user to PatternChecksumPatternChecksum + SetChoice(value PatternChecksumPatternChecksumChoiceEnum) PatternChecksumPatternChecksum + // HasChoice checks if Choice has been set in PatternChecksumPatternChecksum + HasChoice() bool + // Generated returns PatternChecksumPatternChecksumGeneratedEnum, set in PatternChecksumPatternChecksum + Generated() PatternChecksumPatternChecksumGeneratedEnum + // SetGenerated assigns PatternChecksumPatternChecksumGeneratedEnum provided by user to PatternChecksumPatternChecksum + SetGenerated(value PatternChecksumPatternChecksumGeneratedEnum) PatternChecksumPatternChecksum + // HasGenerated checks if Generated has been set in PatternChecksumPatternChecksum + HasGenerated() bool + // Custom returns uint32, set in PatternChecksumPatternChecksum. + Custom() uint32 + // SetCustom assigns uint32 provided by user to PatternChecksumPatternChecksum + SetCustom(value uint32) PatternChecksumPatternChecksum + // HasCustom checks if Custom has been set in PatternChecksumPatternChecksum + HasCustom() bool +} + +type PatternChecksumPatternChecksumChoiceEnum string + +// Enum of Choice on PatternChecksumPatternChecksum +var PatternChecksumPatternChecksumChoice = struct { + GENERATED PatternChecksumPatternChecksumChoiceEnum + CUSTOM PatternChecksumPatternChecksumChoiceEnum +}{ + GENERATED: PatternChecksumPatternChecksumChoiceEnum("generated"), + CUSTOM: PatternChecksumPatternChecksumChoiceEnum("custom"), +} + +func (obj *patternChecksumPatternChecksum) Choice() PatternChecksumPatternChecksumChoiceEnum { + return PatternChecksumPatternChecksumChoiceEnum(obj.obj.Choice.Enum().String()) +} + +// The type of checksum +// Choice returns a string +func (obj *patternChecksumPatternChecksum) HasChoice() bool { + return obj.obj.Choice != nil +} + +func (obj *patternChecksumPatternChecksum) SetChoice(value PatternChecksumPatternChecksumChoiceEnum) PatternChecksumPatternChecksum { + intValue, ok := openapi.PatternChecksumPatternChecksum_Choice_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on PatternChecksumPatternChecksumChoiceEnum", string(value))) + return obj + } + enumValue := openapi.PatternChecksumPatternChecksum_Choice_Enum(intValue) + obj.obj.Choice = &enumValue + obj.obj.Custom = nil + obj.obj.Generated = openapi.PatternChecksumPatternChecksum_Generated_unspecified.Enum() + return obj +} + +type PatternChecksumPatternChecksumGeneratedEnum string + +// Enum of Generated on PatternChecksumPatternChecksum +var PatternChecksumPatternChecksumGenerated = struct { + GOOD PatternChecksumPatternChecksumGeneratedEnum + BAD PatternChecksumPatternChecksumGeneratedEnum +}{ + GOOD: PatternChecksumPatternChecksumGeneratedEnum("good"), + BAD: PatternChecksumPatternChecksumGeneratedEnum("bad"), +} + +func (obj *patternChecksumPatternChecksum) Generated() PatternChecksumPatternChecksumGeneratedEnum { + return PatternChecksumPatternChecksumGeneratedEnum(obj.obj.Generated.Enum().String()) +} + +// A system generated checksum value +// Generated returns a string +func (obj *patternChecksumPatternChecksum) HasGenerated() bool { + return obj.obj.Generated != nil +} + +func (obj *patternChecksumPatternChecksum) SetGenerated(value PatternChecksumPatternChecksumGeneratedEnum) PatternChecksumPatternChecksum { + intValue, ok := openapi.PatternChecksumPatternChecksum_Generated_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on PatternChecksumPatternChecksumGeneratedEnum", string(value))) + return obj + } + enumValue := openapi.PatternChecksumPatternChecksum_Generated_Enum(intValue) + obj.obj.Generated = &enumValue + + return obj +} + +// A custom checksum value +// Custom returns a uint32 +func (obj *patternChecksumPatternChecksum) Custom() uint32 { + + if obj.obj.Custom == nil { + obj.SetChoice(PatternChecksumPatternChecksumChoice.CUSTOM) + } + + return *obj.obj.Custom + +} + +// A custom checksum value +// Custom returns a uint32 +func (obj *patternChecksumPatternChecksum) HasCustom() bool { + return obj.obj.Custom != nil +} + +// A custom checksum value +// SetCustom sets the uint32 value in the PatternChecksumPatternChecksum object +func (obj *patternChecksumPatternChecksum) SetCustom(value uint32) PatternChecksumPatternChecksum { + obj.SetChoice(PatternChecksumPatternChecksumChoice.CUSTOM) + obj.obj.Custom = &value + return obj +} + +func (obj *patternChecksumPatternChecksum) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Custom != nil { + + if *obj.obj.Custom > 255 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("0 <= PatternChecksumPatternChecksum.Custom <= 255 but Got %d", *obj.obj.Custom)) + } + + } + +} + +func (obj *patternChecksumPatternChecksum) setDefault() { + if obj.obj.Choice == nil { + obj.SetChoice(PatternChecksumPatternChecksumChoice.GENERATED) + if obj.obj.Generated.Number() == 0 { + obj.SetGenerated(PatternChecksumPatternChecksumGenerated.GOOD) + + } + + } + +} + +// ***** PatternPrefixConfigAutoFieldTestCounter ***** +type patternPrefixConfigAutoFieldTestCounter struct { + validation + obj *openapi.PatternPrefixConfigAutoFieldTestCounter +} + +func NewPatternPrefixConfigAutoFieldTestCounter() PatternPrefixConfigAutoFieldTestCounter { + obj := patternPrefixConfigAutoFieldTestCounter{obj: &openapi.PatternPrefixConfigAutoFieldTestCounter{}} + obj.setDefault() + return &obj +} + +func (obj *patternPrefixConfigAutoFieldTestCounter) Msg() *openapi.PatternPrefixConfigAutoFieldTestCounter { + return obj.obj +} + +func (obj *patternPrefixConfigAutoFieldTestCounter) SetMsg(msg *openapi.PatternPrefixConfigAutoFieldTestCounter) PatternPrefixConfigAutoFieldTestCounter { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *patternPrefixConfigAutoFieldTestCounter) ToProto() (*openapi.PatternPrefixConfigAutoFieldTestCounter, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *patternPrefixConfigAutoFieldTestCounter) FromProto(msg *openapi.PatternPrefixConfigAutoFieldTestCounter) (PatternPrefixConfigAutoFieldTestCounter, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *patternPrefixConfigAutoFieldTestCounter) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *patternPrefixConfigAutoFieldTestCounter) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *patternPrefixConfigAutoFieldTestCounter) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternPrefixConfigAutoFieldTestCounter) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *patternPrefixConfigAutoFieldTestCounter) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternPrefixConfigAutoFieldTestCounter) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *patternPrefixConfigAutoFieldTestCounter) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *patternPrefixConfigAutoFieldTestCounter) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *patternPrefixConfigAutoFieldTestCounter) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *patternPrefixConfigAutoFieldTestCounter) Clone() (PatternPrefixConfigAutoFieldTestCounter, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewPatternPrefixConfigAutoFieldTestCounter() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// PatternPrefixConfigAutoFieldTestCounter is integer counter pattern +type PatternPrefixConfigAutoFieldTestCounter interface { + Validation + // Msg marshals PatternPrefixConfigAutoFieldTestCounter to protobuf object *openapi.PatternPrefixConfigAutoFieldTestCounter + // and doesn't set defaults + Msg() *openapi.PatternPrefixConfigAutoFieldTestCounter + // SetMsg unmarshals PatternPrefixConfigAutoFieldTestCounter from protobuf object *openapi.PatternPrefixConfigAutoFieldTestCounter + // and doesn't set defaults + SetMsg(*openapi.PatternPrefixConfigAutoFieldTestCounter) PatternPrefixConfigAutoFieldTestCounter + // ToProto marshals PatternPrefixConfigAutoFieldTestCounter to protobuf object *openapi.PatternPrefixConfigAutoFieldTestCounter + ToProto() (*openapi.PatternPrefixConfigAutoFieldTestCounter, error) + // ToPbText marshals PatternPrefixConfigAutoFieldTestCounter to protobuf text + ToPbText() (string, error) + // ToYaml marshals PatternPrefixConfigAutoFieldTestCounter to YAML text + ToYaml() (string, error) + // ToJson marshals PatternPrefixConfigAutoFieldTestCounter to JSON text + ToJson() (string, error) + // FromProto unmarshals PatternPrefixConfigAutoFieldTestCounter from protobuf object *openapi.PatternPrefixConfigAutoFieldTestCounter + FromProto(msg *openapi.PatternPrefixConfigAutoFieldTestCounter) (PatternPrefixConfigAutoFieldTestCounter, error) + // FromPbText unmarshals PatternPrefixConfigAutoFieldTestCounter from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PatternPrefixConfigAutoFieldTestCounter from YAML text + FromYaml(value string) error + // FromJson unmarshals PatternPrefixConfigAutoFieldTestCounter from JSON text + FromJson(value string) error + // Validate validates PatternPrefixConfigAutoFieldTestCounter + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (PatternPrefixConfigAutoFieldTestCounter, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Start returns uint32, set in PatternPrefixConfigAutoFieldTestCounter. + Start() uint32 + // SetStart assigns uint32 provided by user to PatternPrefixConfigAutoFieldTestCounter + SetStart(value uint32) PatternPrefixConfigAutoFieldTestCounter + // HasStart checks if Start has been set in PatternPrefixConfigAutoFieldTestCounter + HasStart() bool + // Step returns uint32, set in PatternPrefixConfigAutoFieldTestCounter. + Step() uint32 + // SetStep assigns uint32 provided by user to PatternPrefixConfigAutoFieldTestCounter + SetStep(value uint32) PatternPrefixConfigAutoFieldTestCounter + // HasStep checks if Step has been set in PatternPrefixConfigAutoFieldTestCounter + HasStep() bool + // Count returns uint32, set in PatternPrefixConfigAutoFieldTestCounter. + Count() uint32 + // SetCount assigns uint32 provided by user to PatternPrefixConfigAutoFieldTestCounter + SetCount(value uint32) PatternPrefixConfigAutoFieldTestCounter + // HasCount checks if Count has been set in PatternPrefixConfigAutoFieldTestCounter + HasCount() bool +} + +// description is TBD +// Start returns a uint32 +func (obj *patternPrefixConfigAutoFieldTestCounter) Start() uint32 { + + return *obj.obj.Start + +} + +// description is TBD +// Start returns a uint32 +func (obj *patternPrefixConfigAutoFieldTestCounter) HasStart() bool { + return obj.obj.Start != nil +} + +// description is TBD +// SetStart sets the uint32 value in the PatternPrefixConfigAutoFieldTestCounter object +func (obj *patternPrefixConfigAutoFieldTestCounter) SetStart(value uint32) PatternPrefixConfigAutoFieldTestCounter { + + obj.obj.Start = &value + return obj +} + +// description is TBD +// Step returns a uint32 +func (obj *patternPrefixConfigAutoFieldTestCounter) Step() uint32 { + + return *obj.obj.Step + +} + +// description is TBD +// Step returns a uint32 +func (obj *patternPrefixConfigAutoFieldTestCounter) HasStep() bool { + return obj.obj.Step != nil +} + +// description is TBD +// SetStep sets the uint32 value in the PatternPrefixConfigAutoFieldTestCounter object +func (obj *patternPrefixConfigAutoFieldTestCounter) SetStep(value uint32) PatternPrefixConfigAutoFieldTestCounter { + + obj.obj.Step = &value + return obj +} + +// description is TBD +// Count returns a uint32 +func (obj *patternPrefixConfigAutoFieldTestCounter) Count() uint32 { + + return *obj.obj.Count + +} + +// description is TBD +// Count returns a uint32 +func (obj *patternPrefixConfigAutoFieldTestCounter) HasCount() bool { + return obj.obj.Count != nil +} + +// description is TBD +// SetCount sets the uint32 value in the PatternPrefixConfigAutoFieldTestCounter object +func (obj *patternPrefixConfigAutoFieldTestCounter) SetCount(value uint32) PatternPrefixConfigAutoFieldTestCounter { + + obj.obj.Count = &value + return obj +} + +func (obj *patternPrefixConfigAutoFieldTestCounter) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Start != nil { + + if *obj.obj.Start > 255 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("0 <= PatternPrefixConfigAutoFieldTestCounter.Start <= 255 but Got %d", *obj.obj.Start)) + } + + } + + if obj.obj.Step != nil { + + if *obj.obj.Step > 255 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("0 <= PatternPrefixConfigAutoFieldTestCounter.Step <= 255 but Got %d", *obj.obj.Step)) + } + + } + + if obj.obj.Count != nil { + + if *obj.obj.Count > 255 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("0 <= PatternPrefixConfigAutoFieldTestCounter.Count <= 255 but Got %d", *obj.obj.Count)) + } + + } + +} + +func (obj *patternPrefixConfigAutoFieldTestCounter) setDefault() { + if obj.obj.Start == nil { + obj.SetStart(0) + } + if obj.obj.Step == nil { + obj.SetStep(1) + } + if obj.obj.Count == nil { + obj.SetCount(1) + } + +} + +// ***** RequiredChoiceIntermediate ***** +type requiredChoiceIntermediate struct { + validation + obj *openapi.RequiredChoiceIntermediate + leafHolder RequiredChoiceIntermeLeaf +} + +func NewRequiredChoiceIntermediate() RequiredChoiceIntermediate { + obj := requiredChoiceIntermediate{obj: &openapi.RequiredChoiceIntermediate{}} + obj.setDefault() + return &obj +} + +func (obj *requiredChoiceIntermediate) Msg() *openapi.RequiredChoiceIntermediate { + return obj.obj +} + +func (obj *requiredChoiceIntermediate) SetMsg(msg *openapi.RequiredChoiceIntermediate) RequiredChoiceIntermediate { + obj.setNil() + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *requiredChoiceIntermediate) ToProto() (*openapi.RequiredChoiceIntermediate, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *requiredChoiceIntermediate) FromProto(msg *openapi.RequiredChoiceIntermediate) (RequiredChoiceIntermediate, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *requiredChoiceIntermediate) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *requiredChoiceIntermediate) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *requiredChoiceIntermediate) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *requiredChoiceIntermediate) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *requiredChoiceIntermediate) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *requiredChoiceIntermediate) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + obj.setNil() + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *requiredChoiceIntermediate) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *requiredChoiceIntermediate) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *requiredChoiceIntermediate) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *requiredChoiceIntermediate) Clone() (RequiredChoiceIntermediate, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewRequiredChoiceIntermediate() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +func (obj *requiredChoiceIntermediate) setNil() { + obj.leafHolder = nil + obj.validationErrors = nil + obj.warnings = nil + obj.constraints = make(map[string]map[string]Constraints) +} + +// RequiredChoiceIntermediate is description is TBD +type RequiredChoiceIntermediate interface { + Validation + // Msg marshals RequiredChoiceIntermediate to protobuf object *openapi.RequiredChoiceIntermediate + // and doesn't set defaults + Msg() *openapi.RequiredChoiceIntermediate + // SetMsg unmarshals RequiredChoiceIntermediate from protobuf object *openapi.RequiredChoiceIntermediate + // and doesn't set defaults + SetMsg(*openapi.RequiredChoiceIntermediate) RequiredChoiceIntermediate + // ToProto marshals RequiredChoiceIntermediate to protobuf object *openapi.RequiredChoiceIntermediate + ToProto() (*openapi.RequiredChoiceIntermediate, error) + // ToPbText marshals RequiredChoiceIntermediate to protobuf text + ToPbText() (string, error) + // ToYaml marshals RequiredChoiceIntermediate to YAML text + ToYaml() (string, error) + // ToJson marshals RequiredChoiceIntermediate to JSON text + ToJson() (string, error) + // FromProto unmarshals RequiredChoiceIntermediate from protobuf object *openapi.RequiredChoiceIntermediate + FromProto(msg *openapi.RequiredChoiceIntermediate) (RequiredChoiceIntermediate, error) + // FromPbText unmarshals RequiredChoiceIntermediate from protobuf text + FromPbText(value string) error + // FromYaml unmarshals RequiredChoiceIntermediate from YAML text + FromYaml(value string) error + // FromJson unmarshals RequiredChoiceIntermediate from JSON text + FromJson(value string) error + // Validate validates RequiredChoiceIntermediate + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (RequiredChoiceIntermediate, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Choice returns RequiredChoiceIntermediateChoiceEnum, set in RequiredChoiceIntermediate + Choice() RequiredChoiceIntermediateChoiceEnum + // SetChoice assigns RequiredChoiceIntermediateChoiceEnum provided by user to RequiredChoiceIntermediate + SetChoice(value RequiredChoiceIntermediateChoiceEnum) RequiredChoiceIntermediate + // FA returns string, set in RequiredChoiceIntermediate. + FA() string + // SetFA assigns string provided by user to RequiredChoiceIntermediate + SetFA(value string) RequiredChoiceIntermediate + // HasFA checks if FA has been set in RequiredChoiceIntermediate + HasFA() bool + // Leaf returns RequiredChoiceIntermeLeaf, set in RequiredChoiceIntermediate. + // RequiredChoiceIntermeLeaf is description is TBD + Leaf() RequiredChoiceIntermeLeaf + // SetLeaf assigns RequiredChoiceIntermeLeaf provided by user to RequiredChoiceIntermediate. + // RequiredChoiceIntermeLeaf is description is TBD + SetLeaf(value RequiredChoiceIntermeLeaf) RequiredChoiceIntermediate + // HasLeaf checks if Leaf has been set in RequiredChoiceIntermediate + HasLeaf() bool + setNil() +} + +type RequiredChoiceIntermediateChoiceEnum string + +// Enum of Choice on RequiredChoiceIntermediate +var RequiredChoiceIntermediateChoice = struct { + F_A RequiredChoiceIntermediateChoiceEnum + LEAF RequiredChoiceIntermediateChoiceEnum +}{ + F_A: RequiredChoiceIntermediateChoiceEnum("f_a"), + LEAF: RequiredChoiceIntermediateChoiceEnum("leaf"), +} + +func (obj *requiredChoiceIntermediate) Choice() RequiredChoiceIntermediateChoiceEnum { + return RequiredChoiceIntermediateChoiceEnum(obj.obj.Choice.Enum().String()) +} + +func (obj *requiredChoiceIntermediate) SetChoice(value RequiredChoiceIntermediateChoiceEnum) RequiredChoiceIntermediate { + intValue, ok := openapi.RequiredChoiceIntermediate_Choice_Enum_value[string(value)] + if !ok { + obj.validationErrors = append(obj.validationErrors, fmt.Sprintf( + "%s is not a valid choice on RequiredChoiceIntermediateChoiceEnum", string(value))) + return obj + } + obj.obj.Choice = openapi.RequiredChoiceIntermediate_Choice_Enum(intValue) + obj.obj.Leaf = nil + obj.leafHolder = nil + obj.obj.FA = nil + + if value == RequiredChoiceIntermediateChoice.F_A { + defaultValue := "some string" + obj.obj.FA = &defaultValue + } + + if value == RequiredChoiceIntermediateChoice.LEAF { + obj.obj.Leaf = NewRequiredChoiceIntermeLeaf().Msg() + } + + return obj +} + +// description is TBD +// FA returns a string +func (obj *requiredChoiceIntermediate) FA() string { + + if obj.obj.FA == nil { + obj.SetChoice(RequiredChoiceIntermediateChoice.F_A) + } + + return *obj.obj.FA + +} + +// description is TBD +// FA returns a string +func (obj *requiredChoiceIntermediate) HasFA() bool { + return obj.obj.FA != nil +} + +// description is TBD +// SetFA sets the string value in the RequiredChoiceIntermediate object +func (obj *requiredChoiceIntermediate) SetFA(value string) RequiredChoiceIntermediate { + obj.SetChoice(RequiredChoiceIntermediateChoice.F_A) + obj.obj.FA = &value + return obj +} + +// description is TBD +// Leaf returns a RequiredChoiceIntermeLeaf +func (obj *requiredChoiceIntermediate) Leaf() RequiredChoiceIntermeLeaf { + if obj.obj.Leaf == nil { + obj.SetChoice(RequiredChoiceIntermediateChoice.LEAF) + } + if obj.leafHolder == nil { + obj.leafHolder = &requiredChoiceIntermeLeaf{obj: obj.obj.Leaf} + } + return obj.leafHolder +} + +// description is TBD +// Leaf returns a RequiredChoiceIntermeLeaf +func (obj *requiredChoiceIntermediate) HasLeaf() bool { + return obj.obj.Leaf != nil +} + +// description is TBD +// SetLeaf sets the RequiredChoiceIntermeLeaf value in the RequiredChoiceIntermediate object +func (obj *requiredChoiceIntermediate) SetLeaf(value RequiredChoiceIntermeLeaf) RequiredChoiceIntermediate { + obj.SetChoice(RequiredChoiceIntermediateChoice.LEAF) + obj.leafHolder = nil + obj.obj.Leaf = value.Msg() + + return obj +} + +func (obj *requiredChoiceIntermediate) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + // Choice is required + if obj.obj.Choice.Number() == 0 { + vObj.validationErrors = append(vObj.validationErrors, "Choice is required field on interface RequiredChoiceIntermediate") + } + + if obj.obj.Leaf != nil { + + obj.Leaf().validateObj(vObj, set_default) + } + +} + +func (obj *requiredChoiceIntermediate) setDefault() { + if obj.obj.FA == nil { + obj.SetFA("some string") + } + +} + +// ***** PortMetric ***** +type portMetric struct { + validation + obj *openapi.PortMetric +} + +func NewPortMetric() PortMetric { + obj := portMetric{obj: &openapi.PortMetric{}} + obj.setDefault() + return &obj +} + +func (obj *portMetric) Msg() *openapi.PortMetric { + return obj.obj +} + +func (obj *portMetric) SetMsg(msg *openapi.PortMetric) PortMetric { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *portMetric) ToProto() (*openapi.PortMetric, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *portMetric) FromProto(msg *openapi.PortMetric) (PortMetric, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *portMetric) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *portMetric) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *portMetric) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *portMetric) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *portMetric) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *portMetric) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *portMetric) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *portMetric) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *portMetric) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *portMetric) Clone() (PortMetric, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewPortMetric() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// PortMetric is description is TBD +type PortMetric interface { + Validation + // Msg marshals PortMetric to protobuf object *openapi.PortMetric + // and doesn't set defaults + Msg() *openapi.PortMetric + // SetMsg unmarshals PortMetric from protobuf object *openapi.PortMetric + // and doesn't set defaults + SetMsg(*openapi.PortMetric) PortMetric + // ToProto marshals PortMetric to protobuf object *openapi.PortMetric + ToProto() (*openapi.PortMetric, error) + // ToPbText marshals PortMetric to protobuf text + ToPbText() (string, error) + // ToYaml marshals PortMetric to YAML text + ToYaml() (string, error) + // ToJson marshals PortMetric to JSON text + ToJson() (string, error) + // FromProto unmarshals PortMetric from protobuf object *openapi.PortMetric + FromProto(msg *openapi.PortMetric) (PortMetric, error) + // FromPbText unmarshals PortMetric from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PortMetric from YAML text + FromYaml(value string) error + // FromJson unmarshals PortMetric from JSON text + FromJson(value string) error + // Validate validates PortMetric + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (PortMetric, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Name returns string, set in PortMetric. + Name() string + // SetName assigns string provided by user to PortMetric + SetName(value string) PortMetric + // TxFrames returns float64, set in PortMetric. + TxFrames() float64 + // SetTxFrames assigns float64 provided by user to PortMetric + SetTxFrames(value float64) PortMetric + // RxFrames returns float64, set in PortMetric. + RxFrames() float64 + // SetRxFrames assigns float64 provided by user to PortMetric + SetRxFrames(value float64) PortMetric +} + +// description is TBD +// Name returns a string +func (obj *portMetric) Name() string { + + return obj.obj.Name +} + +// description is TBD +// SetName sets the string value in the PortMetric object +func (obj *portMetric) SetName(value string) PortMetric { + + obj.obj.Name = value + return obj +} + +// description is TBD +// TxFrames returns a float64 +func (obj *portMetric) TxFrames() float64 { + + return obj.obj.TxFrames +} + +// description is TBD +// SetTxFrames sets the float64 value in the PortMetric object +func (obj *portMetric) SetTxFrames(value float64) PortMetric { + + obj.obj.TxFrames = value + return obj +} + +// description is TBD +// RxFrames returns a float64 +func (obj *portMetric) RxFrames() float64 { + + return obj.obj.RxFrames +} + +// description is TBD +// SetRxFrames sets the float64 value in the PortMetric object +func (obj *portMetric) SetRxFrames(value float64) PortMetric { + + obj.obj.RxFrames = value + return obj +} + +func (obj *portMetric) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + // Name is required + if obj.obj.Name == "" { + vObj.validationErrors = append(vObj.validationErrors, "Name is required field on interface PortMetric") + } +} + +func (obj *portMetric) setDefault() { + +} + +// ***** FlowMetric ***** +type flowMetric struct { + validation + obj *openapi.FlowMetric +} + +func NewFlowMetric() FlowMetric { + obj := flowMetric{obj: &openapi.FlowMetric{}} + obj.setDefault() + return &obj +} + +func (obj *flowMetric) Msg() *openapi.FlowMetric { + return obj.obj +} + +func (obj *flowMetric) SetMsg(msg *openapi.FlowMetric) FlowMetric { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *flowMetric) ToProto() (*openapi.FlowMetric, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *flowMetric) FromProto(msg *openapi.FlowMetric) (FlowMetric, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *flowMetric) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *flowMetric) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *flowMetric) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *flowMetric) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *flowMetric) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *flowMetric) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *flowMetric) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *flowMetric) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *flowMetric) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *flowMetric) Clone() (FlowMetric, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewFlowMetric() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// FlowMetric is description is TBD +type FlowMetric interface { + Validation + // Msg marshals FlowMetric to protobuf object *openapi.FlowMetric + // and doesn't set defaults + Msg() *openapi.FlowMetric + // SetMsg unmarshals FlowMetric from protobuf object *openapi.FlowMetric + // and doesn't set defaults + SetMsg(*openapi.FlowMetric) FlowMetric + // ToProto marshals FlowMetric to protobuf object *openapi.FlowMetric + ToProto() (*openapi.FlowMetric, error) + // ToPbText marshals FlowMetric to protobuf text + ToPbText() (string, error) + // ToYaml marshals FlowMetric to YAML text + ToYaml() (string, error) + // ToJson marshals FlowMetric to JSON text + ToJson() (string, error) + // FromProto unmarshals FlowMetric from protobuf object *openapi.FlowMetric + FromProto(msg *openapi.FlowMetric) (FlowMetric, error) + // FromPbText unmarshals FlowMetric from protobuf text + FromPbText(value string) error + // FromYaml unmarshals FlowMetric from YAML text + FromYaml(value string) error + // FromJson unmarshals FlowMetric from JSON text + FromJson(value string) error + // Validate validates FlowMetric + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (FlowMetric, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Name returns string, set in FlowMetric. + Name() string + // SetName assigns string provided by user to FlowMetric + SetName(value string) FlowMetric + // TxFrames returns float64, set in FlowMetric. + TxFrames() float64 + // SetTxFrames assigns float64 provided by user to FlowMetric + SetTxFrames(value float64) FlowMetric + // RxFrames returns float64, set in FlowMetric. + RxFrames() float64 + // SetRxFrames assigns float64 provided by user to FlowMetric + SetRxFrames(value float64) FlowMetric +} + +// description is TBD +// Name returns a string +func (obj *flowMetric) Name() string { + + return obj.obj.Name +} + +// description is TBD +// SetName sets the string value in the FlowMetric object +func (obj *flowMetric) SetName(value string) FlowMetric { + + obj.obj.Name = value + return obj +} + +// description is TBD +// TxFrames returns a float64 +func (obj *flowMetric) TxFrames() float64 { + + return obj.obj.TxFrames +} + +// description is TBD +// SetTxFrames sets the float64 value in the FlowMetric object +func (obj *flowMetric) SetTxFrames(value float64) FlowMetric { + + obj.obj.TxFrames = value + return obj +} + +// description is TBD +// RxFrames returns a float64 +func (obj *flowMetric) RxFrames() float64 { + + return obj.obj.RxFrames +} + +// description is TBD +// SetRxFrames sets the float64 value in the FlowMetric object +func (obj *flowMetric) SetRxFrames(value float64) FlowMetric { + + obj.obj.RxFrames = value + return obj +} + +func (obj *flowMetric) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + // Name is required + if obj.obj.Name == "" { + vObj.validationErrors = append(vObj.validationErrors, "Name is required field on interface FlowMetric") + } +} + +func (obj *flowMetric) setDefault() { + +} + +// ***** LevelThree ***** +type levelThree struct { + validation + obj *openapi.LevelThree +} + +func NewLevelThree() LevelThree { + obj := levelThree{obj: &openapi.LevelThree{}} + obj.setDefault() + return &obj +} + +func (obj *levelThree) Msg() *openapi.LevelThree { + return obj.obj +} + +func (obj *levelThree) SetMsg(msg *openapi.LevelThree) LevelThree { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *levelThree) ToProto() (*openapi.LevelThree, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *levelThree) FromProto(msg *openapi.LevelThree) (LevelThree, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *levelThree) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *levelThree) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *levelThree) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *levelThree) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *levelThree) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *levelThree) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *levelThree) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *levelThree) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *levelThree) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *levelThree) Clone() (LevelThree, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewLevelThree() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// LevelThree is test Level3 +type LevelThree interface { + Validation + // Msg marshals LevelThree to protobuf object *openapi.LevelThree + // and doesn't set defaults + Msg() *openapi.LevelThree + // SetMsg unmarshals LevelThree from protobuf object *openapi.LevelThree + // and doesn't set defaults + SetMsg(*openapi.LevelThree) LevelThree + // ToProto marshals LevelThree to protobuf object *openapi.LevelThree + ToProto() (*openapi.LevelThree, error) + // ToPbText marshals LevelThree to protobuf text + ToPbText() (string, error) + // ToYaml marshals LevelThree to YAML text + ToYaml() (string, error) + // ToJson marshals LevelThree to JSON text + ToJson() (string, error) + // FromProto unmarshals LevelThree from protobuf object *openapi.LevelThree + FromProto(msg *openapi.LevelThree) (LevelThree, error) + // FromPbText unmarshals LevelThree from protobuf text + FromPbText(value string) error + // FromYaml unmarshals LevelThree from YAML text + FromYaml(value string) error + // FromJson unmarshals LevelThree from JSON text + FromJson(value string) error + // Validate validates LevelThree + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (LevelThree, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // L3P1 returns string, set in LevelThree. + L3P1() string + // SetL3P1 assigns string provided by user to LevelThree + SetL3P1(value string) LevelThree + // HasL3P1 checks if L3P1 has been set in LevelThree + HasL3P1() bool +} + +// Set value at Level 3 +// L3P1 returns a string +func (obj *levelThree) L3P1() string { + + return *obj.obj.L3P1 + +} + +// Set value at Level 3 +// L3P1 returns a string +func (obj *levelThree) HasL3P1() bool { + return obj.obj.L3P1 != nil +} + +// Set value at Level 3 +// SetL3P1 sets the string value in the LevelThree object +func (obj *levelThree) SetL3P1(value string) LevelThree { + + obj.obj.L3P1 = &value + return obj +} + +func (obj *levelThree) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + +} + +func (obj *levelThree) setDefault() { + +} + +// ***** PatternIpv4PatternIpv4Counter ***** +type patternIpv4PatternIpv4Counter struct { + validation + obj *openapi.PatternIpv4PatternIpv4Counter +} + +func NewPatternIpv4PatternIpv4Counter() PatternIpv4PatternIpv4Counter { + obj := patternIpv4PatternIpv4Counter{obj: &openapi.PatternIpv4PatternIpv4Counter{}} + obj.setDefault() + return &obj +} + +func (obj *patternIpv4PatternIpv4Counter) Msg() *openapi.PatternIpv4PatternIpv4Counter { + return obj.obj +} + +func (obj *patternIpv4PatternIpv4Counter) SetMsg(msg *openapi.PatternIpv4PatternIpv4Counter) PatternIpv4PatternIpv4Counter { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *patternIpv4PatternIpv4Counter) ToProto() (*openapi.PatternIpv4PatternIpv4Counter, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *patternIpv4PatternIpv4Counter) FromProto(msg *openapi.PatternIpv4PatternIpv4Counter) (PatternIpv4PatternIpv4Counter, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *patternIpv4PatternIpv4Counter) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *patternIpv4PatternIpv4Counter) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *patternIpv4PatternIpv4Counter) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternIpv4PatternIpv4Counter) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *patternIpv4PatternIpv4Counter) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternIpv4PatternIpv4Counter) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *patternIpv4PatternIpv4Counter) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *patternIpv4PatternIpv4Counter) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *patternIpv4PatternIpv4Counter) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *patternIpv4PatternIpv4Counter) Clone() (PatternIpv4PatternIpv4Counter, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewPatternIpv4PatternIpv4Counter() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// PatternIpv4PatternIpv4Counter is ipv4 counter pattern +type PatternIpv4PatternIpv4Counter interface { + Validation + // Msg marshals PatternIpv4PatternIpv4Counter to protobuf object *openapi.PatternIpv4PatternIpv4Counter + // and doesn't set defaults + Msg() *openapi.PatternIpv4PatternIpv4Counter + // SetMsg unmarshals PatternIpv4PatternIpv4Counter from protobuf object *openapi.PatternIpv4PatternIpv4Counter + // and doesn't set defaults + SetMsg(*openapi.PatternIpv4PatternIpv4Counter) PatternIpv4PatternIpv4Counter + // ToProto marshals PatternIpv4PatternIpv4Counter to protobuf object *openapi.PatternIpv4PatternIpv4Counter + ToProto() (*openapi.PatternIpv4PatternIpv4Counter, error) + // ToPbText marshals PatternIpv4PatternIpv4Counter to protobuf text + ToPbText() (string, error) + // ToYaml marshals PatternIpv4PatternIpv4Counter to YAML text + ToYaml() (string, error) + // ToJson marshals PatternIpv4PatternIpv4Counter to JSON text + ToJson() (string, error) + // FromProto unmarshals PatternIpv4PatternIpv4Counter from protobuf object *openapi.PatternIpv4PatternIpv4Counter + FromProto(msg *openapi.PatternIpv4PatternIpv4Counter) (PatternIpv4PatternIpv4Counter, error) + // FromPbText unmarshals PatternIpv4PatternIpv4Counter from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PatternIpv4PatternIpv4Counter from YAML text + FromYaml(value string) error + // FromJson unmarshals PatternIpv4PatternIpv4Counter from JSON text + FromJson(value string) error + // Validate validates PatternIpv4PatternIpv4Counter + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (PatternIpv4PatternIpv4Counter, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Start returns string, set in PatternIpv4PatternIpv4Counter. + Start() string + // SetStart assigns string provided by user to PatternIpv4PatternIpv4Counter + SetStart(value string) PatternIpv4PatternIpv4Counter + // HasStart checks if Start has been set in PatternIpv4PatternIpv4Counter + HasStart() bool + // Step returns string, set in PatternIpv4PatternIpv4Counter. + Step() string + // SetStep assigns string provided by user to PatternIpv4PatternIpv4Counter + SetStep(value string) PatternIpv4PatternIpv4Counter + // HasStep checks if Step has been set in PatternIpv4PatternIpv4Counter + HasStep() bool + // Count returns uint32, set in PatternIpv4PatternIpv4Counter. + Count() uint32 + // SetCount assigns uint32 provided by user to PatternIpv4PatternIpv4Counter + SetCount(value uint32) PatternIpv4PatternIpv4Counter + // HasCount checks if Count has been set in PatternIpv4PatternIpv4Counter + HasCount() bool +} + +// description is TBD +// Start returns a string +func (obj *patternIpv4PatternIpv4Counter) Start() string { + + return *obj.obj.Start + +} + +// description is TBD +// Start returns a string +func (obj *patternIpv4PatternIpv4Counter) HasStart() bool { + return obj.obj.Start != nil +} + +// description is TBD +// SetStart sets the string value in the PatternIpv4PatternIpv4Counter object +func (obj *patternIpv4PatternIpv4Counter) SetStart(value string) PatternIpv4PatternIpv4Counter { + + obj.obj.Start = &value + return obj +} + +// description is TBD +// Step returns a string +func (obj *patternIpv4PatternIpv4Counter) Step() string { + + return *obj.obj.Step + +} + +// description is TBD +// Step returns a string +func (obj *patternIpv4PatternIpv4Counter) HasStep() bool { + return obj.obj.Step != nil +} + +// description is TBD +// SetStep sets the string value in the PatternIpv4PatternIpv4Counter object +func (obj *patternIpv4PatternIpv4Counter) SetStep(value string) PatternIpv4PatternIpv4Counter { + + obj.obj.Step = &value + return obj +} + +// description is TBD +// Count returns a uint32 +func (obj *patternIpv4PatternIpv4Counter) Count() uint32 { + + return *obj.obj.Count + +} + +// description is TBD +// Count returns a uint32 +func (obj *patternIpv4PatternIpv4Counter) HasCount() bool { + return obj.obj.Count != nil +} + +// description is TBD +// SetCount sets the uint32 value in the PatternIpv4PatternIpv4Counter object +func (obj *patternIpv4PatternIpv4Counter) SetCount(value uint32) PatternIpv4PatternIpv4Counter { + + obj.obj.Count = &value + return obj +} + +func (obj *patternIpv4PatternIpv4Counter) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Start != nil { + + err := obj.validateIpv4(obj.Start()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternIpv4PatternIpv4Counter.Start")) + } + + } + + if obj.obj.Step != nil { + + err := obj.validateIpv4(obj.Step()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternIpv4PatternIpv4Counter.Step")) + } + + } + +} + +func (obj *patternIpv4PatternIpv4Counter) setDefault() { + if obj.obj.Start == nil { + obj.SetStart("0.0.0.0") + } + if obj.obj.Step == nil { + obj.SetStep("0.0.0.1") + } + if obj.obj.Count == nil { + obj.SetCount(1) + } + +} + +// ***** PatternIpv6PatternIpv6Counter ***** +type patternIpv6PatternIpv6Counter struct { + validation + obj *openapi.PatternIpv6PatternIpv6Counter +} + +func NewPatternIpv6PatternIpv6Counter() PatternIpv6PatternIpv6Counter { + obj := patternIpv6PatternIpv6Counter{obj: &openapi.PatternIpv6PatternIpv6Counter{}} + obj.setDefault() + return &obj +} + +func (obj *patternIpv6PatternIpv6Counter) Msg() *openapi.PatternIpv6PatternIpv6Counter { + return obj.obj +} + +func (obj *patternIpv6PatternIpv6Counter) SetMsg(msg *openapi.PatternIpv6PatternIpv6Counter) PatternIpv6PatternIpv6Counter { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *patternIpv6PatternIpv6Counter) ToProto() (*openapi.PatternIpv6PatternIpv6Counter, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *patternIpv6PatternIpv6Counter) FromProto(msg *openapi.PatternIpv6PatternIpv6Counter) (PatternIpv6PatternIpv6Counter, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *patternIpv6PatternIpv6Counter) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *patternIpv6PatternIpv6Counter) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *patternIpv6PatternIpv6Counter) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternIpv6PatternIpv6Counter) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *patternIpv6PatternIpv6Counter) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternIpv6PatternIpv6Counter) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *patternIpv6PatternIpv6Counter) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *patternIpv6PatternIpv6Counter) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *patternIpv6PatternIpv6Counter) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *patternIpv6PatternIpv6Counter) Clone() (PatternIpv6PatternIpv6Counter, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewPatternIpv6PatternIpv6Counter() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// PatternIpv6PatternIpv6Counter is ipv6 counter pattern +type PatternIpv6PatternIpv6Counter interface { + Validation + // Msg marshals PatternIpv6PatternIpv6Counter to protobuf object *openapi.PatternIpv6PatternIpv6Counter + // and doesn't set defaults + Msg() *openapi.PatternIpv6PatternIpv6Counter + // SetMsg unmarshals PatternIpv6PatternIpv6Counter from protobuf object *openapi.PatternIpv6PatternIpv6Counter + // and doesn't set defaults + SetMsg(*openapi.PatternIpv6PatternIpv6Counter) PatternIpv6PatternIpv6Counter + // ToProto marshals PatternIpv6PatternIpv6Counter to protobuf object *openapi.PatternIpv6PatternIpv6Counter + ToProto() (*openapi.PatternIpv6PatternIpv6Counter, error) + // ToPbText marshals PatternIpv6PatternIpv6Counter to protobuf text + ToPbText() (string, error) + // ToYaml marshals PatternIpv6PatternIpv6Counter to YAML text + ToYaml() (string, error) + // ToJson marshals PatternIpv6PatternIpv6Counter to JSON text + ToJson() (string, error) + // FromProto unmarshals PatternIpv6PatternIpv6Counter from protobuf object *openapi.PatternIpv6PatternIpv6Counter + FromProto(msg *openapi.PatternIpv6PatternIpv6Counter) (PatternIpv6PatternIpv6Counter, error) + // FromPbText unmarshals PatternIpv6PatternIpv6Counter from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PatternIpv6PatternIpv6Counter from YAML text + FromYaml(value string) error + // FromJson unmarshals PatternIpv6PatternIpv6Counter from JSON text + FromJson(value string) error + // Validate validates PatternIpv6PatternIpv6Counter + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (PatternIpv6PatternIpv6Counter, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Start returns string, set in PatternIpv6PatternIpv6Counter. + Start() string + // SetStart assigns string provided by user to PatternIpv6PatternIpv6Counter + SetStart(value string) PatternIpv6PatternIpv6Counter + // HasStart checks if Start has been set in PatternIpv6PatternIpv6Counter + HasStart() bool + // Step returns string, set in PatternIpv6PatternIpv6Counter. + Step() string + // SetStep assigns string provided by user to PatternIpv6PatternIpv6Counter + SetStep(value string) PatternIpv6PatternIpv6Counter + // HasStep checks if Step has been set in PatternIpv6PatternIpv6Counter + HasStep() bool + // Count returns uint32, set in PatternIpv6PatternIpv6Counter. + Count() uint32 + // SetCount assigns uint32 provided by user to PatternIpv6PatternIpv6Counter + SetCount(value uint32) PatternIpv6PatternIpv6Counter + // HasCount checks if Count has been set in PatternIpv6PatternIpv6Counter + HasCount() bool +} + +// description is TBD +// Start returns a string +func (obj *patternIpv6PatternIpv6Counter) Start() string { + + return *obj.obj.Start + +} + +// description is TBD +// Start returns a string +func (obj *patternIpv6PatternIpv6Counter) HasStart() bool { + return obj.obj.Start != nil +} + +// description is TBD +// SetStart sets the string value in the PatternIpv6PatternIpv6Counter object +func (obj *patternIpv6PatternIpv6Counter) SetStart(value string) PatternIpv6PatternIpv6Counter { + + obj.obj.Start = &value + return obj +} + +// description is TBD +// Step returns a string +func (obj *patternIpv6PatternIpv6Counter) Step() string { + + return *obj.obj.Step + +} + +// description is TBD +// Step returns a string +func (obj *patternIpv6PatternIpv6Counter) HasStep() bool { + return obj.obj.Step != nil +} + +// description is TBD +// SetStep sets the string value in the PatternIpv6PatternIpv6Counter object +func (obj *patternIpv6PatternIpv6Counter) SetStep(value string) PatternIpv6PatternIpv6Counter { + + obj.obj.Step = &value + return obj +} + +// description is TBD +// Count returns a uint32 +func (obj *patternIpv6PatternIpv6Counter) Count() uint32 { + + return *obj.obj.Count + +} + +// description is TBD +// Count returns a uint32 +func (obj *patternIpv6PatternIpv6Counter) HasCount() bool { + return obj.obj.Count != nil +} + +// description is TBD +// SetCount sets the uint32 value in the PatternIpv6PatternIpv6Counter object +func (obj *patternIpv6PatternIpv6Counter) SetCount(value uint32) PatternIpv6PatternIpv6Counter { + + obj.obj.Count = &value + return obj +} + +func (obj *patternIpv6PatternIpv6Counter) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Start != nil { + + err := obj.validateIpv6(obj.Start()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternIpv6PatternIpv6Counter.Start")) + } + + } + + if obj.obj.Step != nil { + + err := obj.validateIpv6(obj.Step()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternIpv6PatternIpv6Counter.Step")) + } + + } + +} + +func (obj *patternIpv6PatternIpv6Counter) setDefault() { + if obj.obj.Start == nil { + obj.SetStart("::") + } + if obj.obj.Step == nil { + obj.SetStep("::1") + } + if obj.obj.Count == nil { + obj.SetCount(1) + } + +} + +// ***** PatternMacPatternMacCounter ***** +type patternMacPatternMacCounter struct { + validation + obj *openapi.PatternMacPatternMacCounter +} + +func NewPatternMacPatternMacCounter() PatternMacPatternMacCounter { + obj := patternMacPatternMacCounter{obj: &openapi.PatternMacPatternMacCounter{}} + obj.setDefault() + return &obj +} + +func (obj *patternMacPatternMacCounter) Msg() *openapi.PatternMacPatternMacCounter { + return obj.obj +} + +func (obj *patternMacPatternMacCounter) SetMsg(msg *openapi.PatternMacPatternMacCounter) PatternMacPatternMacCounter { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *patternMacPatternMacCounter) ToProto() (*openapi.PatternMacPatternMacCounter, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *patternMacPatternMacCounter) FromProto(msg *openapi.PatternMacPatternMacCounter) (PatternMacPatternMacCounter, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *patternMacPatternMacCounter) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *patternMacPatternMacCounter) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *patternMacPatternMacCounter) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternMacPatternMacCounter) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *patternMacPatternMacCounter) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternMacPatternMacCounter) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *patternMacPatternMacCounter) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *patternMacPatternMacCounter) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *patternMacPatternMacCounter) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *patternMacPatternMacCounter) Clone() (PatternMacPatternMacCounter, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewPatternMacPatternMacCounter() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// PatternMacPatternMacCounter is mac counter pattern +type PatternMacPatternMacCounter interface { + Validation + // Msg marshals PatternMacPatternMacCounter to protobuf object *openapi.PatternMacPatternMacCounter + // and doesn't set defaults + Msg() *openapi.PatternMacPatternMacCounter + // SetMsg unmarshals PatternMacPatternMacCounter from protobuf object *openapi.PatternMacPatternMacCounter + // and doesn't set defaults + SetMsg(*openapi.PatternMacPatternMacCounter) PatternMacPatternMacCounter + // ToProto marshals PatternMacPatternMacCounter to protobuf object *openapi.PatternMacPatternMacCounter + ToProto() (*openapi.PatternMacPatternMacCounter, error) + // ToPbText marshals PatternMacPatternMacCounter to protobuf text + ToPbText() (string, error) + // ToYaml marshals PatternMacPatternMacCounter to YAML text + ToYaml() (string, error) + // ToJson marshals PatternMacPatternMacCounter to JSON text + ToJson() (string, error) + // FromProto unmarshals PatternMacPatternMacCounter from protobuf object *openapi.PatternMacPatternMacCounter + FromProto(msg *openapi.PatternMacPatternMacCounter) (PatternMacPatternMacCounter, error) + // FromPbText unmarshals PatternMacPatternMacCounter from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PatternMacPatternMacCounter from YAML text + FromYaml(value string) error + // FromJson unmarshals PatternMacPatternMacCounter from JSON text + FromJson(value string) error + // Validate validates PatternMacPatternMacCounter + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (PatternMacPatternMacCounter, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Start returns string, set in PatternMacPatternMacCounter. + Start() string + // SetStart assigns string provided by user to PatternMacPatternMacCounter + SetStart(value string) PatternMacPatternMacCounter + // HasStart checks if Start has been set in PatternMacPatternMacCounter + HasStart() bool + // Step returns string, set in PatternMacPatternMacCounter. + Step() string + // SetStep assigns string provided by user to PatternMacPatternMacCounter + SetStep(value string) PatternMacPatternMacCounter + // HasStep checks if Step has been set in PatternMacPatternMacCounter + HasStep() bool + // Count returns uint32, set in PatternMacPatternMacCounter. + Count() uint32 + // SetCount assigns uint32 provided by user to PatternMacPatternMacCounter + SetCount(value uint32) PatternMacPatternMacCounter + // HasCount checks if Count has been set in PatternMacPatternMacCounter + HasCount() bool +} + +// description is TBD +// Start returns a string +func (obj *patternMacPatternMacCounter) Start() string { + + return *obj.obj.Start + +} + +// description is TBD +// Start returns a string +func (obj *patternMacPatternMacCounter) HasStart() bool { + return obj.obj.Start != nil +} + +// description is TBD +// SetStart sets the string value in the PatternMacPatternMacCounter object +func (obj *patternMacPatternMacCounter) SetStart(value string) PatternMacPatternMacCounter { + + obj.obj.Start = &value + return obj +} + +// description is TBD +// Step returns a string +func (obj *patternMacPatternMacCounter) Step() string { + + return *obj.obj.Step + +} + +// description is TBD +// Step returns a string +func (obj *patternMacPatternMacCounter) HasStep() bool { + return obj.obj.Step != nil +} + +// description is TBD +// SetStep sets the string value in the PatternMacPatternMacCounter object +func (obj *patternMacPatternMacCounter) SetStep(value string) PatternMacPatternMacCounter { + + obj.obj.Step = &value + return obj +} + +// description is TBD +// Count returns a uint32 +func (obj *patternMacPatternMacCounter) Count() uint32 { + + return *obj.obj.Count + +} + +// description is TBD +// Count returns a uint32 +func (obj *patternMacPatternMacCounter) HasCount() bool { + return obj.obj.Count != nil +} + +// description is TBD +// SetCount sets the uint32 value in the PatternMacPatternMacCounter object +func (obj *patternMacPatternMacCounter) SetCount(value uint32) PatternMacPatternMacCounter { + + obj.obj.Count = &value + return obj +} + +func (obj *patternMacPatternMacCounter) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Start != nil { + + err := obj.validateMac(obj.Start()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternMacPatternMacCounter.Start")) + } + + } + + if obj.obj.Step != nil { + + err := obj.validateMac(obj.Step()) + if err != nil { + vObj.validationErrors = append(vObj.validationErrors, fmt.Sprintf("%s %s", err.Error(), "on PatternMacPatternMacCounter.Step")) + } + + } + +} + +func (obj *patternMacPatternMacCounter) setDefault() { + if obj.obj.Start == nil { + obj.SetStart("00:00:00:00:00:00") + } + if obj.obj.Step == nil { + obj.SetStep("00:00:00:00:00:01") + } + if obj.obj.Count == nil { + obj.SetCount(1) + } + +} + +// ***** PatternIntegerPatternIntegerCounter ***** +type patternIntegerPatternIntegerCounter struct { + validation + obj *openapi.PatternIntegerPatternIntegerCounter +} + +func NewPatternIntegerPatternIntegerCounter() PatternIntegerPatternIntegerCounter { + obj := patternIntegerPatternIntegerCounter{obj: &openapi.PatternIntegerPatternIntegerCounter{}} + obj.setDefault() + return &obj +} + +func (obj *patternIntegerPatternIntegerCounter) Msg() *openapi.PatternIntegerPatternIntegerCounter { + return obj.obj +} + +func (obj *patternIntegerPatternIntegerCounter) SetMsg(msg *openapi.PatternIntegerPatternIntegerCounter) PatternIntegerPatternIntegerCounter { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *patternIntegerPatternIntegerCounter) ToProto() (*openapi.PatternIntegerPatternIntegerCounter, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *patternIntegerPatternIntegerCounter) FromProto(msg *openapi.PatternIntegerPatternIntegerCounter) (PatternIntegerPatternIntegerCounter, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *patternIntegerPatternIntegerCounter) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *patternIntegerPatternIntegerCounter) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *patternIntegerPatternIntegerCounter) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternIntegerPatternIntegerCounter) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *patternIntegerPatternIntegerCounter) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *patternIntegerPatternIntegerCounter) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *patternIntegerPatternIntegerCounter) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *patternIntegerPatternIntegerCounter) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *patternIntegerPatternIntegerCounter) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *patternIntegerPatternIntegerCounter) Clone() (PatternIntegerPatternIntegerCounter, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewPatternIntegerPatternIntegerCounter() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// PatternIntegerPatternIntegerCounter is integer counter pattern +type PatternIntegerPatternIntegerCounter interface { + Validation + // Msg marshals PatternIntegerPatternIntegerCounter to protobuf object *openapi.PatternIntegerPatternIntegerCounter + // and doesn't set defaults + Msg() *openapi.PatternIntegerPatternIntegerCounter + // SetMsg unmarshals PatternIntegerPatternIntegerCounter from protobuf object *openapi.PatternIntegerPatternIntegerCounter + // and doesn't set defaults + SetMsg(*openapi.PatternIntegerPatternIntegerCounter) PatternIntegerPatternIntegerCounter + // ToProto marshals PatternIntegerPatternIntegerCounter to protobuf object *openapi.PatternIntegerPatternIntegerCounter + ToProto() (*openapi.PatternIntegerPatternIntegerCounter, error) + // ToPbText marshals PatternIntegerPatternIntegerCounter to protobuf text + ToPbText() (string, error) + // ToYaml marshals PatternIntegerPatternIntegerCounter to YAML text + ToYaml() (string, error) + // ToJson marshals PatternIntegerPatternIntegerCounter to JSON text + ToJson() (string, error) + // FromProto unmarshals PatternIntegerPatternIntegerCounter from protobuf object *openapi.PatternIntegerPatternIntegerCounter + FromProto(msg *openapi.PatternIntegerPatternIntegerCounter) (PatternIntegerPatternIntegerCounter, error) + // FromPbText unmarshals PatternIntegerPatternIntegerCounter from protobuf text + FromPbText(value string) error + // FromYaml unmarshals PatternIntegerPatternIntegerCounter from YAML text + FromYaml(value string) error + // FromJson unmarshals PatternIntegerPatternIntegerCounter from JSON text + FromJson(value string) error + // Validate validates PatternIntegerPatternIntegerCounter + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (PatternIntegerPatternIntegerCounter, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Start returns uint32, set in PatternIntegerPatternIntegerCounter. + Start() uint32 + // SetStart assigns uint32 provided by user to PatternIntegerPatternIntegerCounter + SetStart(value uint32) PatternIntegerPatternIntegerCounter + // HasStart checks if Start has been set in PatternIntegerPatternIntegerCounter + HasStart() bool + // Step returns uint32, set in PatternIntegerPatternIntegerCounter. + Step() uint32 + // SetStep assigns uint32 provided by user to PatternIntegerPatternIntegerCounter + SetStep(value uint32) PatternIntegerPatternIntegerCounter + // HasStep checks if Step has been set in PatternIntegerPatternIntegerCounter + HasStep() bool + // Count returns uint32, set in PatternIntegerPatternIntegerCounter. + Count() uint32 + // SetCount assigns uint32 provided by user to PatternIntegerPatternIntegerCounter + SetCount(value uint32) PatternIntegerPatternIntegerCounter + // HasCount checks if Count has been set in PatternIntegerPatternIntegerCounter + HasCount() bool +} + +// description is TBD +// Start returns a uint32 +func (obj *patternIntegerPatternIntegerCounter) Start() uint32 { + + return *obj.obj.Start + +} + +// description is TBD +// Start returns a uint32 +func (obj *patternIntegerPatternIntegerCounter) HasStart() bool { + return obj.obj.Start != nil +} + +// description is TBD +// SetStart sets the uint32 value in the PatternIntegerPatternIntegerCounter object +func (obj *patternIntegerPatternIntegerCounter) SetStart(value uint32) PatternIntegerPatternIntegerCounter { + + obj.obj.Start = &value + return obj +} + +// description is TBD +// Step returns a uint32 +func (obj *patternIntegerPatternIntegerCounter) Step() uint32 { + + return *obj.obj.Step + +} + +// description is TBD +// Step returns a uint32 +func (obj *patternIntegerPatternIntegerCounter) HasStep() bool { + return obj.obj.Step != nil +} + +// description is TBD +// SetStep sets the uint32 value in the PatternIntegerPatternIntegerCounter object +func (obj *patternIntegerPatternIntegerCounter) SetStep(value uint32) PatternIntegerPatternIntegerCounter { + + obj.obj.Step = &value + return obj +} + +// description is TBD +// Count returns a uint32 +func (obj *patternIntegerPatternIntegerCounter) Count() uint32 { + + return *obj.obj.Count + +} + +// description is TBD +// Count returns a uint32 +func (obj *patternIntegerPatternIntegerCounter) HasCount() bool { + return obj.obj.Count != nil +} + +// description is TBD +// SetCount sets the uint32 value in the PatternIntegerPatternIntegerCounter object +func (obj *patternIntegerPatternIntegerCounter) SetCount(value uint32) PatternIntegerPatternIntegerCounter { + + obj.obj.Count = &value + return obj +} + +func (obj *patternIntegerPatternIntegerCounter) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + + if obj.obj.Start != nil { + + if *obj.obj.Start > 255 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("0 <= PatternIntegerPatternIntegerCounter.Start <= 255 but Got %d", *obj.obj.Start)) + } + + } + + if obj.obj.Step != nil { + + if *obj.obj.Step > 255 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("0 <= PatternIntegerPatternIntegerCounter.Step <= 255 but Got %d", *obj.obj.Step)) + } + + } + + if obj.obj.Count != nil { + + if *obj.obj.Count > 255 { + vObj.validationErrors = append( + vObj.validationErrors, + fmt.Sprintf("0 <= PatternIntegerPatternIntegerCounter.Count <= 255 but Got %d", *obj.obj.Count)) + } + + } + +} + +func (obj *patternIntegerPatternIntegerCounter) setDefault() { + if obj.obj.Start == nil { + obj.SetStart(0) + } + if obj.obj.Step == nil { + obj.SetStep(1) + } + if obj.obj.Count == nil { + obj.SetCount(1) + } + +} + +// ***** RequiredChoiceIntermeLeaf ***** +type requiredChoiceIntermeLeaf struct { + validation + obj *openapi.RequiredChoiceIntermeLeaf +} + +func NewRequiredChoiceIntermeLeaf() RequiredChoiceIntermeLeaf { + obj := requiredChoiceIntermeLeaf{obj: &openapi.RequiredChoiceIntermeLeaf{}} + obj.setDefault() + return &obj +} + +func (obj *requiredChoiceIntermeLeaf) Msg() *openapi.RequiredChoiceIntermeLeaf { + return obj.obj +} + +func (obj *requiredChoiceIntermeLeaf) SetMsg(msg *openapi.RequiredChoiceIntermeLeaf) RequiredChoiceIntermeLeaf { + + proto.Merge(obj.obj, msg) + return obj +} + +func (obj *requiredChoiceIntermeLeaf) ToProto() (*openapi.RequiredChoiceIntermeLeaf, error) { + err := obj.validateToAndFrom() + if err != nil { + return nil, err + } + return obj.Msg(), nil +} + +func (obj *requiredChoiceIntermeLeaf) FromProto(msg *openapi.RequiredChoiceIntermeLeaf) (RequiredChoiceIntermeLeaf, error) { + newObj := obj.SetMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (obj *requiredChoiceIntermeLeaf) ToPbText() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (obj *requiredChoiceIntermeLeaf) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), obj.Msg()) + if retObj != nil { + return retObj + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (obj *requiredChoiceIntermeLeaf) ToYaml() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *requiredChoiceIntermeLeaf) FromYaml(value string) error { + if value == "" { + value = "{}" + } + data, err := yaml.YAMLToJSON([]byte(value)) + if err != nil { + return err + } + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + uError := opts.Unmarshal([]byte(data), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (obj *requiredChoiceIntermeLeaf) ToJson() (string, error) { + vErr := obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(obj.Msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (obj *requiredChoiceIntermeLeaf) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), obj.Msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + err := obj.validateToAndFrom() + if err != nil { + return err + } + return nil +} + +func (obj *requiredChoiceIntermeLeaf) validateToAndFrom() error { + // emptyVars() + obj.validateObj(&obj.validation, true) + return obj.validationResult() +} + +func (obj *requiredChoiceIntermeLeaf) Validate() error { + // emptyVars() + obj.validateObj(&obj.validation, false) + return obj.validationResult() +} + +func (obj *requiredChoiceIntermeLeaf) String() string { + str, err := obj.ToYaml() + if err != nil { + return err.Error() + } + return str +} + +func (obj *requiredChoiceIntermeLeaf) Clone() (RequiredChoiceIntermeLeaf, error) { + vErr := obj.Validate() + if vErr != nil { + return nil, vErr + } + newObj := NewRequiredChoiceIntermeLeaf() + data, err := proto.Marshal(obj.Msg()) + if err != nil { + return nil, err + } + pbErr := proto.Unmarshal(data, newObj.Msg()) + if pbErr != nil { + return nil, pbErr + } + return newObj, nil +} + +// RequiredChoiceIntermeLeaf is description is TBD +type RequiredChoiceIntermeLeaf interface { + Validation + // Msg marshals RequiredChoiceIntermeLeaf to protobuf object *openapi.RequiredChoiceIntermeLeaf + // and doesn't set defaults + Msg() *openapi.RequiredChoiceIntermeLeaf + // SetMsg unmarshals RequiredChoiceIntermeLeaf from protobuf object *openapi.RequiredChoiceIntermeLeaf + // and doesn't set defaults + SetMsg(*openapi.RequiredChoiceIntermeLeaf) RequiredChoiceIntermeLeaf + // ToProto marshals RequiredChoiceIntermeLeaf to protobuf object *openapi.RequiredChoiceIntermeLeaf + ToProto() (*openapi.RequiredChoiceIntermeLeaf, error) + // ToPbText marshals RequiredChoiceIntermeLeaf to protobuf text + ToPbText() (string, error) + // ToYaml marshals RequiredChoiceIntermeLeaf to YAML text + ToYaml() (string, error) + // ToJson marshals RequiredChoiceIntermeLeaf to JSON text + ToJson() (string, error) + // FromProto unmarshals RequiredChoiceIntermeLeaf from protobuf object *openapi.RequiredChoiceIntermeLeaf + FromProto(msg *openapi.RequiredChoiceIntermeLeaf) (RequiredChoiceIntermeLeaf, error) + // FromPbText unmarshals RequiredChoiceIntermeLeaf from protobuf text + FromPbText(value string) error + // FromYaml unmarshals RequiredChoiceIntermeLeaf from YAML text + FromYaml(value string) error + // FromJson unmarshals RequiredChoiceIntermeLeaf from JSON text + FromJson(value string) error + // Validate validates RequiredChoiceIntermeLeaf + Validate() error + // A stringer function + String() string + // Clones the object + Clone() (RequiredChoiceIntermeLeaf, error) + validateToAndFrom() error + validateObj(vObj *validation, set_default bool) + setDefault() + // Name returns string, set in RequiredChoiceIntermeLeaf. + Name() string + // SetName assigns string provided by user to RequiredChoiceIntermeLeaf + SetName(value string) RequiredChoiceIntermeLeaf + // HasName checks if Name has been set in RequiredChoiceIntermeLeaf + HasName() bool +} + +// description is TBD +// Name returns a string +func (obj *requiredChoiceIntermeLeaf) Name() string { + + return *obj.obj.Name + +} + +// description is TBD +// Name returns a string +func (obj *requiredChoiceIntermeLeaf) HasName() bool { + return obj.obj.Name != nil +} + +// description is TBD +// SetName sets the string value in the RequiredChoiceIntermeLeaf object +func (obj *requiredChoiceIntermeLeaf) SetName(value string) RequiredChoiceIntermeLeaf { + + obj.obj.Name = &value + return obj +} + +func (obj *requiredChoiceIntermeLeaf) validateObj(vObj *validation, set_default bool) { + if set_default { + obj.setDefault() + } + +} + +func (obj *requiredChoiceIntermeLeaf) setDefault() { + +} diff --git a/artifacts/goapi/httpapi/controllers/apitest_controller.go b/artifacts/goapi/httpapi/controllers/apitest_controller.go new file mode 100644 index 00000000..4d19ebc7 --- /dev/null +++ b/artifacts/goapi/httpapi/controllers/apitest_controller.go @@ -0,0 +1,195 @@ +// This file is autogenerated. Do not modify +package controllers + +import ( + "errors" + "io" + "log" + "net/http" + + openapi "github.com/open-traffic-generator/goapi/pkg" + "github.com/open-traffic-generator/goapi/pkg/httpapi" + "github.com/open-traffic-generator/goapi/pkg/httpapi/interfaces" +) + +type apiTestController struct { + handler interfaces.ApiTestHandler +} + +func NewHttpApiTestController(handler interfaces.ApiTestHandler) interfaces.ApiTestController { + return &apiTestController{handler} +} + +func (ctrl *apiTestController) Routes() []httpapi.Route { + return []httpapi.Route{ + {Path: "/api/apitest", Method: "GET", Name: "GetRootResponse", Handler: ctrl.GetRootResponse}, + {Path: "/api/apitest", Method: "DELETE", Name: "DummyResponseTest", Handler: ctrl.DummyResponseTest}, + {Path: "/api/apitest", Method: "POST", Name: "PostRootResponse", Handler: ctrl.PostRootResponse}, + } +} + +/* +GetRootResponse: GET /api/apitest +Description: simple GET api with single return type +*/ +func (ctrl *apiTestController) GetRootResponse(w http.ResponseWriter, r *http.Request) { + result, err := ctrl.handler.GetRootResponse(r) + if err != nil { + ctrl.responseGetRootResponseError(w, "internal", err) + return + } + + if result.HasCommonResponseSuccess() { + if _, err := httpapi.WriteJSONResponse(w, 200, result.CommonResponseSuccess()); err != nil { + log.Print(err.Error()) + } + return + } + ctrl.responseGetRootResponseError(w, "internal", errors.New("Unknown error")) +} + +func (ctrl *apiTestController) responseGetRootResponseError(w http.ResponseWriter, errorKind openapi.ErrorKindEnum, rsp_err error) { + var result openapi.Error + var statusCode int32 + if errorKind == "validation" { + statusCode = 400 + } else if errorKind == "internal" { + statusCode = 500 + } + + if rErr, ok := rsp_err.(openapi.Error); ok { + result = rErr + } else { + result = openapi.NewError() + err := result.FromJson(rsp_err.Error()) + if err != nil { + result.Msg().Code = statusCode + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + result.Msg().Errors = []string{rsp_err.Error()} + } + } + + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + log.Print(err.Error()) + } +} + +/* +DummyResponseTest: DELETE /api/apitest +Description: +*/ +func (ctrl *apiTestController) DummyResponseTest(w http.ResponseWriter, r *http.Request) { + result, err := ctrl.handler.DummyResponseTest(r) + if err != nil { + ctrl.responseDummyResponseTestError(w, "internal", err) + return + } + + if result.HasResponseString() { + if _, err := httpapi.WriteAnyResponse(w, 200, result.ResponseString()); err != nil { + log.Print(err.Error()) + } + return + } + ctrl.responseDummyResponseTestError(w, "internal", errors.New("Unknown error")) +} + +func (ctrl *apiTestController) responseDummyResponseTestError(w http.ResponseWriter, errorKind openapi.ErrorKindEnum, rsp_err error) { + var result openapi.Error + var statusCode int32 + if errorKind == "validation" { + statusCode = 400 + } else if errorKind == "internal" { + statusCode = 500 + } + + if rErr, ok := rsp_err.(openapi.Error); ok { + result = rErr + } else { + result = openapi.NewError() + err := result.FromJson(rsp_err.Error()) + if err != nil { + result.Msg().Code = statusCode + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + result.Msg().Errors = []string{rsp_err.Error()} + } + } + + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + log.Print(err.Error()) + } +} + +/* +PostRootResponse: POST /api/apitest +Description: simple POST api with single return type +*/ +func (ctrl *apiTestController) PostRootResponse(w http.ResponseWriter, r *http.Request) { + var item openapi.ApiTestInputBody + if r.Body != nil { + body, readError := io.ReadAll(r.Body) + if body != nil { + item = openapi.NewApiTestInputBody() + err := item.FromJson(string(body)) + if err != nil { + ctrl.responsePostRootResponseError(w, "validation", err) + return + } + } else { + ctrl.responsePostRootResponseError(w, "validation", readError) + return + } + } else { + bodyError := errors.New("Request does not have a body") + ctrl.responsePostRootResponseError(w, "validation", bodyError) + return + } + result, err := ctrl.handler.PostRootResponse(item, r) + if err != nil { + ctrl.responsePostRootResponseError(w, "internal", err) + return + } + + if result.HasCommonResponseSuccess() { + if _, err := httpapi.WriteJSONResponse(w, 200, result.CommonResponseSuccess()); err != nil { + log.Print(err.Error()) + } + return + } + ctrl.responsePostRootResponseError(w, "internal", errors.New("Unknown error")) +} + +func (ctrl *apiTestController) responsePostRootResponseError(w http.ResponseWriter, errorKind openapi.ErrorKindEnum, rsp_err error) { + var result openapi.Error + var statusCode int32 + if errorKind == "validation" { + statusCode = 400 + } else if errorKind == "internal" { + statusCode = 500 + } + + if rErr, ok := rsp_err.(openapi.Error); ok { + result = rErr + } else { + result = openapi.NewError() + err := result.FromJson(rsp_err.Error()) + if err != nil { + result.Msg().Code = statusCode + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + result.Msg().Errors = []string{rsp_err.Error()} + } + } + + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + log.Print(err.Error()) + } +} diff --git a/artifacts/goapi/httpapi/controllers/bundler_controller.go b/artifacts/goapi/httpapi/controllers/bundler_controller.go new file mode 100644 index 00000000..f072deb5 --- /dev/null +++ b/artifacts/goapi/httpapi/controllers/bundler_controller.go @@ -0,0 +1,216 @@ +// This file is autogenerated. Do not modify +package controllers + +import ( + "errors" + "io" + "log" + "net/http" + + openapi "github.com/open-traffic-generator/goapi/pkg" + "github.com/open-traffic-generator/goapi/pkg/httpapi" + "github.com/open-traffic-generator/goapi/pkg/httpapi/interfaces" +) + +type bundlerController struct { + handler interfaces.BundlerHandler +} + +func NewHttpBundlerController(handler interfaces.BundlerHandler) interfaces.BundlerController { + return &bundlerController{handler} +} + +func (ctrl *bundlerController) Routes() []httpapi.Route { + return []httpapi.Route{ + {Path: "/api/config", Method: "POST", Name: "SetConfig", Handler: ctrl.SetConfig}, + {Path: "/api/config", Method: "PATCH", Name: "UpdateConfiguration", Handler: ctrl.UpdateConfiguration}, + {Path: "/api/config", Method: "GET", Name: "GetConfig", Handler: ctrl.GetConfig}, + } +} + +/* +SetConfig: POST /api/config +Description: Sets configuration resources. +*/ +func (ctrl *bundlerController) SetConfig(w http.ResponseWriter, r *http.Request) { + var item openapi.PrefixConfig + if r.Body != nil { + body, readError := io.ReadAll(r.Body) + if body != nil { + item = openapi.NewPrefixConfig() + err := item.FromJson(string(body)) + if err != nil { + ctrl.responseSetConfigError(w, "validation", err) + return + } + } else { + ctrl.responseSetConfigError(w, "validation", readError) + return + } + } else { + bodyError := errors.New("Request does not have a body") + ctrl.responseSetConfigError(w, "validation", bodyError) + return + } + result, err := ctrl.handler.SetConfig(item, r) + if err != nil { + ctrl.responseSetConfigError(w, "internal", err) + return + } + + if result.HasResponseBytes() { + if _, err := httpapi.WriteByteResponse(w, 200, result.ResponseBytes()); err != nil { + log.Print(err.Error()) + } + return + } + ctrl.responseSetConfigError(w, "internal", errors.New("Unknown error")) +} + +func (ctrl *bundlerController) responseSetConfigError(w http.ResponseWriter, errorKind openapi.ErrorKindEnum, rsp_err error) { + var result openapi.Error + var statusCode int32 + if errorKind == "validation" { + statusCode = 400 + } else if errorKind == "internal" { + statusCode = 500 + } + + if rErr, ok := rsp_err.(openapi.Error); ok { + result = rErr + } else { + result = openapi.NewError() + err := result.FromJson(rsp_err.Error()) + if err != nil { + result.Msg().Code = statusCode + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + result.Msg().Errors = []string{rsp_err.Error()} + } + } + + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + log.Print(err.Error()) + } +} + +/* +UpdateConfiguration: PATCH /api/config +Description: Deprecated: please use post instead + +Sets configuration resources. +*/ +func (ctrl *bundlerController) UpdateConfiguration(w http.ResponseWriter, r *http.Request) { + var item openapi.UpdateConfig + if r.Body != nil { + body, readError := io.ReadAll(r.Body) + if body != nil { + item = openapi.NewUpdateConfig() + err := item.FromJson(string(body)) + if err != nil { + ctrl.responseUpdateConfigurationError(w, "validation", err) + return + } + } else { + ctrl.responseUpdateConfigurationError(w, "validation", readError) + return + } + } else { + bodyError := errors.New("Request does not have a body") + ctrl.responseUpdateConfigurationError(w, "validation", bodyError) + return + } + result, err := ctrl.handler.UpdateConfiguration(item, r) + if err != nil { + ctrl.responseUpdateConfigurationError(w, "internal", err) + return + } + + if result.HasPrefixConfig() { + if _, err := httpapi.WriteJSONResponse(w, 200, result.PrefixConfig()); err != nil { + log.Print(err.Error()) + } + return + } + ctrl.responseUpdateConfigurationError(w, "internal", errors.New("Unknown error")) +} + +func (ctrl *bundlerController) responseUpdateConfigurationError(w http.ResponseWriter, errorKind openapi.ErrorKindEnum, rsp_err error) { + var result openapi.Error + var statusCode int32 + if errorKind == "validation" { + statusCode = 400 + } else if errorKind == "internal" { + statusCode = 500 + } + + if rErr, ok := rsp_err.(openapi.Error); ok { + result = rErr + } else { + result = openapi.NewError() + err := result.FromJson(rsp_err.Error()) + if err != nil { + result.Msg().Code = statusCode + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + result.Msg().Errors = []string{rsp_err.Error()} + } + } + + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + log.Print(err.Error()) + } +} + +/* +GetConfig: GET /api/config +Description: Gets the configuration resources. +*/ +func (ctrl *bundlerController) GetConfig(w http.ResponseWriter, r *http.Request) { + result, err := ctrl.handler.GetConfig(r) + if err != nil { + ctrl.responseGetConfigError(w, "internal", err) + return + } + + if result.HasPrefixConfig() { + if _, err := httpapi.WriteJSONResponse(w, 200, result.PrefixConfig()); err != nil { + log.Print(err.Error()) + } + return + } + ctrl.responseGetConfigError(w, "internal", errors.New("Unknown error")) +} + +func (ctrl *bundlerController) responseGetConfigError(w http.ResponseWriter, errorKind openapi.ErrorKindEnum, rsp_err error) { + var result openapi.Error + var statusCode int32 + if errorKind == "validation" { + statusCode = 400 + } else if errorKind == "internal" { + statusCode = 500 + } + + if rErr, ok := rsp_err.(openapi.Error); ok { + result = rErr + } else { + result = openapi.NewError() + err := result.FromJson(rsp_err.Error()) + if err != nil { + result.Msg().Code = statusCode + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + result.Msg().Errors = []string{rsp_err.Error()} + } + } + + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + log.Print(err.Error()) + } +} diff --git a/artifacts/goapi/httpapi/controllers/capabilities_controller.go b/artifacts/goapi/httpapi/controllers/capabilities_controller.go new file mode 100644 index 00000000..df342422 --- /dev/null +++ b/artifacts/goapi/httpapi/controllers/capabilities_controller.go @@ -0,0 +1,75 @@ +// This file is autogenerated. Do not modify +package controllers + +import ( + "errors" + "log" + "net/http" + + openapi "github.com/open-traffic-generator/goapi/pkg" + "github.com/open-traffic-generator/goapi/pkg/httpapi" + "github.com/open-traffic-generator/goapi/pkg/httpapi/interfaces" +) + +type capabilitiesController struct { + handler interfaces.CapabilitiesHandler +} + +func NewHttpCapabilitiesController(handler interfaces.CapabilitiesHandler) interfaces.CapabilitiesController { + return &capabilitiesController{handler} +} + +func (ctrl *capabilitiesController) Routes() []httpapi.Route { + return []httpapi.Route{ + {Path: "/api/capabilities/version", Method: "GET", Name: "GetVersion", Handler: ctrl.GetVersion}, + } +} + +/* +GetVersion: GET /api/capabilities/version +Description: +*/ +func (ctrl *capabilitiesController) GetVersion(w http.ResponseWriter, r *http.Request) { + result, err := ctrl.handler.GetVersion(r) + if err != nil { + ctrl.responseGetVersionError(w, "internal", err) + return + } + + if result.HasVersion() { + if _, err := httpapi.WriteJSONResponse(w, 200, result.Version()); err != nil { + log.Print(err.Error()) + } + return + } + ctrl.responseGetVersionError(w, "internal", errors.New("Unknown error")) +} + +func (ctrl *capabilitiesController) responseGetVersionError(w http.ResponseWriter, errorKind openapi.ErrorKindEnum, rsp_err error) { + var result openapi.Error + var statusCode int32 + if errorKind == "validation" { + statusCode = 400 + } else if errorKind == "internal" { + statusCode = 500 + } + + if rErr, ok := rsp_err.(openapi.Error); ok { + result = rErr + } else { + result = openapi.NewError() + err := result.FromJson(rsp_err.Error()) + if err != nil { + result.Msg().Code = statusCode + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + result.Msg().Errors = []string{rsp_err.Error()} + } + } + + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + log.Print(err.Error()) + } +} diff --git a/artifacts/goapi/httpapi/controllers/metrics_controller.go b/artifacts/goapi/httpapi/controllers/metrics_controller.go new file mode 100644 index 00000000..5d72a55a --- /dev/null +++ b/artifacts/goapi/httpapi/controllers/metrics_controller.go @@ -0,0 +1,195 @@ +// This file is autogenerated. Do not modify +package controllers + +import ( + "errors" + "io" + "log" + "net/http" + + openapi "github.com/open-traffic-generator/goapi/pkg" + "github.com/open-traffic-generator/goapi/pkg/httpapi" + "github.com/open-traffic-generator/goapi/pkg/httpapi/interfaces" +) + +type metricsController struct { + handler interfaces.MetricsHandler +} + +func NewHttpMetricsController(handler interfaces.MetricsHandler) interfaces.MetricsController { + return &metricsController{handler} +} + +func (ctrl *metricsController) Routes() []httpapi.Route { + return []httpapi.Route{ + {Path: "/api/metrics", Method: "GET", Name: "GetMetrics", Handler: ctrl.GetMetrics}, + {Path: "/api/warnings", Method: "GET", Name: "GetWarnings", Handler: ctrl.GetWarnings}, + {Path: "/api/warnings", Method: "DELETE", Name: "ClearWarnings", Handler: ctrl.ClearWarnings}, + } +} + +/* +GetMetrics: GET /api/metrics +Description: Gets metrics. +*/ +func (ctrl *metricsController) GetMetrics(w http.ResponseWriter, r *http.Request) { + var item openapi.MetricsRequest + if r.Body != nil { + body, readError := io.ReadAll(r.Body) + if body != nil { + item = openapi.NewMetricsRequest() + err := item.FromJson(string(body)) + if err != nil { + ctrl.responseGetMetricsError(w, "validation", err) + return + } + } else { + ctrl.responseGetMetricsError(w, "validation", readError) + return + } + } else { + bodyError := errors.New("Request does not have a body") + ctrl.responseGetMetricsError(w, "validation", bodyError) + return + } + result, err := ctrl.handler.GetMetrics(item, r) + if err != nil { + ctrl.responseGetMetricsError(w, "internal", err) + return + } + + if result.HasMetrics() { + if _, err := httpapi.WriteJSONResponse(w, 200, result.Metrics()); err != nil { + log.Print(err.Error()) + } + return + } + ctrl.responseGetMetricsError(w, "internal", errors.New("Unknown error")) +} + +func (ctrl *metricsController) responseGetMetricsError(w http.ResponseWriter, errorKind openapi.ErrorKindEnum, rsp_err error) { + var result openapi.Error + var statusCode int32 + if errorKind == "validation" { + statusCode = 400 + } else if errorKind == "internal" { + statusCode = 500 + } + + if rErr, ok := rsp_err.(openapi.Error); ok { + result = rErr + } else { + result = openapi.NewError() + err := result.FromJson(rsp_err.Error()) + if err != nil { + result.Msg().Code = statusCode + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + result.Msg().Errors = []string{rsp_err.Error()} + } + } + + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + log.Print(err.Error()) + } +} + +/* +GetWarnings: GET /api/warnings +Description: Gets warnings. +*/ +func (ctrl *metricsController) GetWarnings(w http.ResponseWriter, r *http.Request) { + result, err := ctrl.handler.GetWarnings(r) + if err != nil { + ctrl.responseGetWarningsError(w, "internal", err) + return + } + + if result.HasWarningDetails() { + if _, err := httpapi.WriteJSONResponse(w, 200, result.WarningDetails()); err != nil { + log.Print(err.Error()) + } + return + } + ctrl.responseGetWarningsError(w, "internal", errors.New("Unknown error")) +} + +func (ctrl *metricsController) responseGetWarningsError(w http.ResponseWriter, errorKind openapi.ErrorKindEnum, rsp_err error) { + var result openapi.Error + var statusCode int32 + if errorKind == "validation" { + statusCode = 400 + } else if errorKind == "internal" { + statusCode = 500 + } + + if rErr, ok := rsp_err.(openapi.Error); ok { + result = rErr + } else { + result = openapi.NewError() + err := result.FromJson(rsp_err.Error()) + if err != nil { + result.Msg().Code = statusCode + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + result.Msg().Errors = []string{rsp_err.Error()} + } + } + + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + log.Print(err.Error()) + } +} + +/* +ClearWarnings: DELETE /api/warnings +Description: Clears warnings. +*/ +func (ctrl *metricsController) ClearWarnings(w http.ResponseWriter, r *http.Request) { + result, err := ctrl.handler.ClearWarnings(r) + if err != nil { + ctrl.responseClearWarningsError(w, "internal", err) + return + } + + if result.HasResponseString() { + if _, err := httpapi.WriteAnyResponse(w, 200, result.ResponseString()); err != nil { + log.Print(err.Error()) + } + return + } + ctrl.responseClearWarningsError(w, "internal", errors.New("Unknown error")) +} + +func (ctrl *metricsController) responseClearWarningsError(w http.ResponseWriter, errorKind openapi.ErrorKindEnum, rsp_err error) { + var result openapi.Error + var statusCode int32 + if errorKind == "validation" { + statusCode = 400 + } else if errorKind == "internal" { + statusCode = 500 + } + + if rErr, ok := rsp_err.(openapi.Error); ok { + result = rErr + } else { + result = openapi.NewError() + err := result.FromJson(rsp_err.Error()) + if err != nil { + result.Msg().Code = statusCode + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + result.Msg().Errors = []string{rsp_err.Error()} + } + } + + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + log.Print(err.Error()) + } +} diff --git a/artifacts/goapi/httpapi/controllers/serviceabc_controller.go b/artifacts/goapi/httpapi/controllers/serviceabc_controller.go new file mode 100644 index 00000000..135379a7 --- /dev/null +++ b/artifacts/goapi/httpapi/controllers/serviceabc_controller.go @@ -0,0 +1,175 @@ +// This file is autogenerated. Do not modify +package controllers + +import ( + "errors" + "log" + "net/http" + + openapi "github.com/open-traffic-generator/goapi/pkg" + "github.com/open-traffic-generator/goapi/pkg/httpapi" + "github.com/open-traffic-generator/goapi/pkg/httpapi/interfaces" +) + +type serviceAbcController struct { + handler interfaces.ServiceAbcHandler +} + +func NewHttpServiceAbcController(handler interfaces.ServiceAbcHandler) interfaces.ServiceAbcController { + return &serviceAbcController{handler} +} + +func (ctrl *serviceAbcController) Routes() []httpapi.Route { + return []httpapi.Route{ + {Path: "/api/serviceb", Method: "GET", Name: "GetAllItems", Handler: ctrl.GetAllItems}, + {Path: "/api/serviceb/{item_id}", Method: "GET", Name: "GetSingleItem", Handler: ctrl.GetSingleItem}, + {Path: "/api/serviceb/{item_id}/{level_2}", Method: "GET", Name: "GetSingleItemLevel2", Handler: ctrl.GetSingleItemLevel2}, + } +} + +/* +GetAllItems: GET /api/serviceb +Description: return list of some items +*/ +func (ctrl *serviceAbcController) GetAllItems(w http.ResponseWriter, r *http.Request) { + result, err := ctrl.handler.GetAllItems(r) + if err != nil { + ctrl.responseGetAllItemsError(w, "internal", err) + return + } + + if result.HasServiceAbcItemList() { + if _, err := httpapi.WriteJSONResponse(w, 200, result.ServiceAbcItemList()); err != nil { + log.Print(err.Error()) + } + return + } + ctrl.responseGetAllItemsError(w, "internal", errors.New("Unknown error")) +} + +func (ctrl *serviceAbcController) responseGetAllItemsError(w http.ResponseWriter, errorKind openapi.ErrorKindEnum, rsp_err error) { + var result openapi.Error + var statusCode int32 + if errorKind == "validation" { + statusCode = 400 + } else if errorKind == "internal" { + statusCode = 500 + } + + if rErr, ok := rsp_err.(openapi.Error); ok { + result = rErr + } else { + result = openapi.NewError() + err := result.FromJson(rsp_err.Error()) + if err != nil { + result.Msg().Code = statusCode + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + result.Msg().Errors = []string{rsp_err.Error()} + } + } + + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + log.Print(err.Error()) + } +} + +/* +GetSingleItem: GET /api/serviceb/{item_id} +Description: return single item +*/ +func (ctrl *serviceAbcController) GetSingleItem(w http.ResponseWriter, r *http.Request) { + result, err := ctrl.handler.GetSingleItem(r) + if err != nil { + ctrl.responseGetSingleItemError(w, "internal", err) + return + } + + if result.HasServiceAbcItem() { + if _, err := httpapi.WriteJSONResponse(w, 200, result.ServiceAbcItem()); err != nil { + log.Print(err.Error()) + } + return + } + ctrl.responseGetSingleItemError(w, "internal", errors.New("Unknown error")) +} + +func (ctrl *serviceAbcController) responseGetSingleItemError(w http.ResponseWriter, errorKind openapi.ErrorKindEnum, rsp_err error) { + var result openapi.Error + var statusCode int32 + if errorKind == "validation" { + statusCode = 400 + } else if errorKind == "internal" { + statusCode = 500 + } + + if rErr, ok := rsp_err.(openapi.Error); ok { + result = rErr + } else { + result = openapi.NewError() + err := result.FromJson(rsp_err.Error()) + if err != nil { + result.Msg().Code = statusCode + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + result.Msg().Errors = []string{rsp_err.Error()} + } + } + + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + log.Print(err.Error()) + } +} + +/* +GetSingleItemLevel2: GET /api/serviceb/{item_id}/{level_2} +Description: return single item +*/ +func (ctrl *serviceAbcController) GetSingleItemLevel2(w http.ResponseWriter, r *http.Request) { + result, err := ctrl.handler.GetSingleItemLevel2(r) + if err != nil { + ctrl.responseGetSingleItemLevel2Error(w, "internal", err) + return + } + + if result.HasServiceAbcItem() { + if _, err := httpapi.WriteJSONResponse(w, 200, result.ServiceAbcItem()); err != nil { + log.Print(err.Error()) + } + return + } + ctrl.responseGetSingleItemLevel2Error(w, "internal", errors.New("Unknown error")) +} + +func (ctrl *serviceAbcController) responseGetSingleItemLevel2Error(w http.ResponseWriter, errorKind openapi.ErrorKindEnum, rsp_err error) { + var result openapi.Error + var statusCode int32 + if errorKind == "validation" { + statusCode = 400 + } else if errorKind == "internal" { + statusCode = 500 + } + + if rErr, ok := rsp_err.(openapi.Error); ok { + result = rErr + } else { + result = openapi.NewError() + err := result.FromJson(rsp_err.Error()) + if err != nil { + result.Msg().Code = statusCode + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + result.Msg().Errors = []string{rsp_err.Error()} + } + } + + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result); err != nil { + log.Print(err.Error()) + } +} diff --git a/artifacts/goapi/httpapi/http_setup.go b/artifacts/goapi/httpapi/http_setup.go new file mode 100644 index 00000000..21eda6d7 --- /dev/null +++ b/artifacts/goapi/httpapi/http_setup.go @@ -0,0 +1,40 @@ +// This file is autogenerated. Do not modify +package httpapi + +import ( + "net/http" + + "github.com/gorilla/mux" +) + +// Route defines the parameters for an api endpoint. +type Route struct { + Name string + Method string + Path string + Handler http.HandlerFunc +} + +// Controller creates a set of HTTP routes. +type HttpController interface { + Routes() []Route +} + +// AppendRoutes appends the routes of one or more Controllers to a mux.Router. +// If a nil router is passed, a new router will be created here. +func AppendRoutes(router *mux.Router, controllers ...HttpController) *mux.Router { + if router == nil { + router = mux.NewRouter() + } + + for _, controller := range controllers { + for _, route := range controller.Routes() { + router. + Methods(route.Method). + Path(route.Path). + Name(route.Name). + Handler(route.Handler) + } + } + return router +} diff --git a/artifacts/goapi/httpapi/interfaces/apitest_interface.go b/artifacts/goapi/httpapi/interfaces/apitest_interface.go new file mode 100644 index 00000000..349f2db0 --- /dev/null +++ b/artifacts/goapi/httpapi/interfaces/apitest_interface.go @@ -0,0 +1,35 @@ +// This file is autogenerated. Do not modify +package interfaces + +import ( + "net/http" + + openapi "github.com/open-traffic-generator/goapi/pkg" + "github.com/open-traffic-generator/goapi/pkg/httpapi" +) + +type ApiTestController interface { + Routes() []httpapi.Route + GetRootResponse(w http.ResponseWriter, r *http.Request) + DummyResponseTest(w http.ResponseWriter, r *http.Request) + PostRootResponse(w http.ResponseWriter, r *http.Request) +} + +type ApiTestHandler interface { + GetController() ApiTestController + /* + GetRootResponse: GET /api/apitest + Description: simple GET api with single return type + */ + GetRootResponse(r *http.Request) (openapi.GetRootResponseResponse, error) + /* + DummyResponseTest: DELETE /api/apitest + Description: + */ + DummyResponseTest(r *http.Request) (openapi.DummyResponseTestResponse, error) + /* + PostRootResponse: POST /api/apitest + Description: simple POST api with single return type + */ + PostRootResponse(rbody openapi.ApiTestInputBody, r *http.Request) (openapi.PostRootResponseResponse, error) +} diff --git a/artifacts/goapi/httpapi/interfaces/bundler_interface.go b/artifacts/goapi/httpapi/interfaces/bundler_interface.go new file mode 100644 index 00000000..ef075246 --- /dev/null +++ b/artifacts/goapi/httpapi/interfaces/bundler_interface.go @@ -0,0 +1,37 @@ +// This file is autogenerated. Do not modify +package interfaces + +import ( + "net/http" + + openapi "github.com/open-traffic-generator/goapi/pkg" + "github.com/open-traffic-generator/goapi/pkg/httpapi" +) + +type BundlerController interface { + Routes() []httpapi.Route + SetConfig(w http.ResponseWriter, r *http.Request) + UpdateConfiguration(w http.ResponseWriter, r *http.Request) + GetConfig(w http.ResponseWriter, r *http.Request) +} + +type BundlerHandler interface { + GetController() BundlerController + /* + SetConfig: POST /api/config + Description: Sets configuration resources. + */ + SetConfig(rbody openapi.PrefixConfig, r *http.Request) (openapi.SetConfigResponse, error) + /* + UpdateConfiguration: PATCH /api/config + Description: Deprecated: please use post instead + + Sets configuration resources. + */ + UpdateConfiguration(rbody openapi.UpdateConfig, r *http.Request) (openapi.UpdateConfigurationResponse, error) + /* + GetConfig: GET /api/config + Description: Gets the configuration resources. + */ + GetConfig(r *http.Request) (openapi.GetConfigResponse, error) +} diff --git a/artifacts/goapi/httpapi/interfaces/capabilities_interface.go b/artifacts/goapi/httpapi/interfaces/capabilities_interface.go new file mode 100644 index 00000000..e1ac4c94 --- /dev/null +++ b/artifacts/goapi/httpapi/interfaces/capabilities_interface.go @@ -0,0 +1,23 @@ +// This file is autogenerated. Do not modify +package interfaces + +import ( + "net/http" + + openapi "github.com/open-traffic-generator/goapi/pkg" + "github.com/open-traffic-generator/goapi/pkg/httpapi" +) + +type CapabilitiesController interface { + Routes() []httpapi.Route + GetVersion(w http.ResponseWriter, r *http.Request) +} + +type CapabilitiesHandler interface { + GetController() CapabilitiesController + /* + GetVersion: GET /api/capabilities/version + Description: + */ + GetVersion(r *http.Request) (openapi.GetVersionResponse, error) +} diff --git a/artifacts/goapi/httpapi/interfaces/metrics_interface.go b/artifacts/goapi/httpapi/interfaces/metrics_interface.go new file mode 100644 index 00000000..c9bb33bd --- /dev/null +++ b/artifacts/goapi/httpapi/interfaces/metrics_interface.go @@ -0,0 +1,35 @@ +// This file is autogenerated. Do not modify +package interfaces + +import ( + "net/http" + + openapi "github.com/open-traffic-generator/goapi/pkg" + "github.com/open-traffic-generator/goapi/pkg/httpapi" +) + +type MetricsController interface { + Routes() []httpapi.Route + GetMetrics(w http.ResponseWriter, r *http.Request) + GetWarnings(w http.ResponseWriter, r *http.Request) + ClearWarnings(w http.ResponseWriter, r *http.Request) +} + +type MetricsHandler interface { + GetController() MetricsController + /* + GetMetrics: GET /api/metrics + Description: Gets metrics. + */ + GetMetrics(rbody openapi.MetricsRequest, r *http.Request) (openapi.GetMetricsResponse, error) + /* + GetWarnings: GET /api/warnings + Description: Gets warnings. + */ + GetWarnings(r *http.Request) (openapi.GetWarningsResponse, error) + /* + ClearWarnings: DELETE /api/warnings + Description: Clears warnings. + */ + ClearWarnings(r *http.Request) (openapi.ClearWarningsResponse, error) +} diff --git a/artifacts/goapi/httpapi/interfaces/serviceabc_interface.go b/artifacts/goapi/httpapi/interfaces/serviceabc_interface.go new file mode 100644 index 00000000..9889cef0 --- /dev/null +++ b/artifacts/goapi/httpapi/interfaces/serviceabc_interface.go @@ -0,0 +1,40 @@ +// This file is autogenerated. Do not modify +package interfaces + +import ( + "net/http" + + openapi "github.com/open-traffic-generator/goapi/pkg" + "github.com/open-traffic-generator/goapi/pkg/httpapi" +) + +const ( + ServiceAbcItemId = "item_id" + ServiceAbcLevel2 = "level_2" +) + +type ServiceAbcController interface { + Routes() []httpapi.Route + GetAllItems(w http.ResponseWriter, r *http.Request) + GetSingleItem(w http.ResponseWriter, r *http.Request) + GetSingleItemLevel2(w http.ResponseWriter, r *http.Request) +} + +type ServiceAbcHandler interface { + GetController() ServiceAbcController + /* + GetAllItems: GET /api/serviceb + Description: return list of some items + */ + GetAllItems(r *http.Request) (openapi.GetAllItemsResponse, error) + /* + GetSingleItem: GET /api/serviceb/{item_id} + Description: return single item + */ + GetSingleItem(r *http.Request) (openapi.GetSingleItemResponse, error) + /* + GetSingleItemLevel2: GET /api/serviceb/{item_id}/{level_2} + Description: return single item + */ + GetSingleItemLevel2(r *http.Request) (openapi.GetSingleItemLevel2Response, error) +} diff --git a/artifacts/goapi/httpapi/response.go b/artifacts/goapi/httpapi/response.go new file mode 100644 index 00000000..abfe8cd6 --- /dev/null +++ b/artifacts/goapi/httpapi/response.go @@ -0,0 +1,69 @@ +// This file is autogenerated. Do not modify +package httpapi + +import ( + "encoding/json" + "fmt" + "log" + "net/http" +) + +// JSONWriter offers conversion to JSON. +type JSONWriter interface { + ToJson() (string, error) +} + +// WriteJSONResponse sets an HTTP response with the provided status-code and JSON body. +func WriteJSONResponse(w http.ResponseWriter, statuscode int, data JSONWriter) (int, error) { + w.Header().Set("Content-Type", "application/json; charset=UTF-8") + w.WriteHeader(statuscode) + dataStr, err := data.ToJson() + if err != nil { + if _, err := WriteDefaultResponse(w, http.StatusInternalServerError); err != nil { + log.Print(err.Error()) + } + } + return w.Write([]byte(dataStr)) +} + +// WriteJSONResponse sets an HTTP response with the provided status-code and JSON data. +func WriteCustomJSONResponse(w http.ResponseWriter, statuscode int, data []byte) (int, error) { + w.Header().Set("Content-Type", "application/json; charset=UTF-8") + w.WriteHeader(statuscode) + return w.Write([]byte(data)) +} + +func WriteByteResponse(w http.ResponseWriter, statuscode int, data []byte) (int, error) { + w.Header().Set("Content-Type", "application/octet-stream; charset=UTF-8") + w.WriteHeader(statuscode) + return w.Write(data) +} + +// WriteTextResponse sets an HTTP response with the provided status-code and string. +func WriteAnyResponse(w http.ResponseWriter, statuscode int, data interface{}) (int, error) { + w.Header().Set("Content-Type", "text/plain; charset=UTF-8") + w.WriteHeader(statuscode) + var dataBytes, _ = json.Marshal(data) + return w.Write(dataBytes) +} + +// YAMLWriter offers conversion to YAML. +type YAMLWriter interface { + ToYaml() string +} + +// WriteYAMLResponse sets an HTTP response with the provided status-code and JSON body. +func WriteYAMLResponse(w http.ResponseWriter, statuscode int, data YAMLWriter) (int, error) { + w.Header().Set("Content-Type", "application/yaml; charset=UTF-8") + w.WriteHeader(statuscode) + return w.Write([]byte(data.ToYaml())) +} + +// WriteDefaultResponse sets the body of a response with the text associated with the HTTP status. +func WriteDefaultResponse(w http.ResponseWriter, status int) (int, error) { + w.Header().Set("Content-Type", "text/plain; charset=utf-8") + w.Header().Set("X-Content-Type-Options", "nosniff") + w.WriteHeader(status) + fmt.Fprintf(w, "%d %s", status, http.StatusText(status)) + return status, nil +} diff --git a/artifacts/goapi/openapi/openapi.pb.go b/artifacts/goapi/openapi/openapi.pb.go new file mode 100644 index 00000000..36b819fc --- /dev/null +++ b/artifacts/goapi/openapi/openapi.pb.go @@ -0,0 +1,8932 @@ +// OpenAPIArt Test API 0.0.1 +// Demonstrates the features of the OpenAPIArt package +// License: NO-LICENSE-PRESENT + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v4.23.3 +// source: openapi.proto + +package openapi + +import ( + reflect "reflect" + sync "sync" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + _ "google.golang.org/protobuf/types/descriptorpb" + emptypb "google.golang.org/protobuf/types/known/emptypb" +) + +const ( + // Verify that this generated code 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 Error_Kind_Enum int32 + +const ( + Error_Kind_unspecified Error_Kind_Enum = 0 + Error_Kind_transport Error_Kind_Enum = 1 + Error_Kind_validation Error_Kind_Enum = 2 + Error_Kind_internal Error_Kind_Enum = 3 +) + +// Enum value maps for Error_Kind_Enum. +var ( + Error_Kind_Enum_name = map[int32]string{ + 0: "unspecified", + 1: "transport", + 2: "validation", + 3: "internal", + } + Error_Kind_Enum_value = map[string]int32{ + "unspecified": 0, + "transport": 1, + "validation": 2, + "internal": 3, + } +) + +func (x Error_Kind_Enum) Enum() *Error_Kind_Enum { + p := new(Error_Kind_Enum) + *p = x + return p +} + +func (x Error_Kind_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Error_Kind_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_openapi_proto_enumTypes[0].Descriptor() +} + +func (Error_Kind_Enum) Type() protoreflect.EnumType { + return &file_openapi_proto_enumTypes[0] +} + +func (x Error_Kind_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Error_Kind_Enum.Descriptor instead. +func (Error_Kind_Enum) EnumDescriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{2, 0, 0} +} + +type PrefixConfig_Response_Enum int32 + +const ( + PrefixConfig_Response_unspecified PrefixConfig_Response_Enum = 0 + PrefixConfig_Response_status_200 PrefixConfig_Response_Enum = 1 + PrefixConfig_Response_status_400 PrefixConfig_Response_Enum = 2 + PrefixConfig_Response_status_404 PrefixConfig_Response_Enum = 3 + PrefixConfig_Response_status_500 PrefixConfig_Response_Enum = 4 +) + +// Enum value maps for PrefixConfig_Response_Enum. +var ( + PrefixConfig_Response_Enum_name = map[int32]string{ + 0: "unspecified", + 1: "status_200", + 2: "status_400", + 3: "status_404", + 4: "status_500", + } + PrefixConfig_Response_Enum_value = map[string]int32{ + "unspecified": 0, + "status_200": 1, + "status_400": 2, + "status_404": 3, + "status_500": 4, + } +) + +func (x PrefixConfig_Response_Enum) Enum() *PrefixConfig_Response_Enum { + p := new(PrefixConfig_Response_Enum) + *p = x + return p +} + +func (x PrefixConfig_Response_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PrefixConfig_Response_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_openapi_proto_enumTypes[1].Descriptor() +} + +func (PrefixConfig_Response_Enum) Type() protoreflect.EnumType { + return &file_openapi_proto_enumTypes[1] +} + +func (x PrefixConfig_Response_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PrefixConfig_Response_Enum.Descriptor instead. +func (PrefixConfig_Response_Enum) EnumDescriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{3, 0, 0} +} + +type PrefixConfig_DValues_Enum int32 + +const ( + PrefixConfig_DValues_unspecified PrefixConfig_DValues_Enum = 0 + PrefixConfig_DValues_a PrefixConfig_DValues_Enum = 1 + PrefixConfig_DValues_b PrefixConfig_DValues_Enum = 2 + PrefixConfig_DValues_c PrefixConfig_DValues_Enum = 3 +) + +// Enum value maps for PrefixConfig_DValues_Enum. +var ( + PrefixConfig_DValues_Enum_name = map[int32]string{ + 0: "unspecified", + 1: "a", + 2: "b", + 3: "c", + } + PrefixConfig_DValues_Enum_value = map[string]int32{ + "unspecified": 0, + "a": 1, + "b": 2, + "c": 3, + } +) + +func (x PrefixConfig_DValues_Enum) Enum() *PrefixConfig_DValues_Enum { + p := new(PrefixConfig_DValues_Enum) + *p = x + return p +} + +func (x PrefixConfig_DValues_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PrefixConfig_DValues_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_openapi_proto_enumTypes[2].Descriptor() +} + +func (PrefixConfig_DValues_Enum) Type() protoreflect.EnumType { + return &file_openapi_proto_enumTypes[2] +} + +func (x PrefixConfig_DValues_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PrefixConfig_DValues_Enum.Descriptor instead. +func (PrefixConfig_DValues_Enum) EnumDescriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{3, 1, 0} +} + +type GObject_Choice_Enum int32 + +const ( + GObject_Choice_unspecified GObject_Choice_Enum = 0 + GObject_Choice_g_d GObject_Choice_Enum = 1 + GObject_Choice_g_e GObject_Choice_Enum = 2 +) + +// Enum value maps for GObject_Choice_Enum. +var ( + GObject_Choice_Enum_name = map[int32]string{ + 0: "unspecified", + 1: "g_d", + 2: "g_e", + } + GObject_Choice_Enum_value = map[string]int32{ + "unspecified": 0, + "g_d": 1, + "g_e": 2, + } +) + +func (x GObject_Choice_Enum) Enum() *GObject_Choice_Enum { + p := new(GObject_Choice_Enum) + *p = x + return p +} + +func (x GObject_Choice_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (GObject_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_openapi_proto_enumTypes[3].Descriptor() +} + +func (GObject_Choice_Enum) Type() protoreflect.EnumType { + return &file_openapi_proto_enumTypes[3] +} + +func (x GObject_Choice_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use GObject_Choice_Enum.Descriptor instead. +func (GObject_Choice_Enum) EnumDescriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{8, 0, 0} +} + +type GObject_GF_Enum int32 + +const ( + GObject_GF_unspecified GObject_GF_Enum = 0 + GObject_GF_a GObject_GF_Enum = 1 + GObject_GF_b GObject_GF_Enum = 2 + GObject_GF_c GObject_GF_Enum = 3 +) + +// Enum value maps for GObject_GF_Enum. +var ( + GObject_GF_Enum_name = map[int32]string{ + 0: "unspecified", + 1: "a", + 2: "b", + 3: "c", + } + GObject_GF_Enum_value = map[string]int32{ + "unspecified": 0, + "a": 1, + "b": 2, + "c": 3, + } +) + +func (x GObject_GF_Enum) Enum() *GObject_GF_Enum { + p := new(GObject_GF_Enum) + *p = x + return p +} + +func (x GObject_GF_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (GObject_GF_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_openapi_proto_enumTypes[4].Descriptor() +} + +func (GObject_GF_Enum) Type() protoreflect.EnumType { + return &file_openapi_proto_enumTypes[4] +} + +func (x GObject_GF_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use GObject_GF_Enum.Descriptor instead. +func (GObject_GF_Enum) EnumDescriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{8, 1, 0} +} + +type FObject_Choice_Enum int32 + +const ( + FObject_Choice_unspecified FObject_Choice_Enum = 0 + FObject_Choice_f_a FObject_Choice_Enum = 1 + FObject_Choice_f_b FObject_Choice_Enum = 2 + FObject_Choice_f_c FObject_Choice_Enum = 3 +) + +// Enum value maps for FObject_Choice_Enum. +var ( + FObject_Choice_Enum_name = map[int32]string{ + 0: "unspecified", + 1: "f_a", + 2: "f_b", + 3: "f_c", + } + FObject_Choice_Enum_value = map[string]int32{ + "unspecified": 0, + "f_a": 1, + "f_b": 2, + "f_c": 3, + } +) + +func (x FObject_Choice_Enum) Enum() *FObject_Choice_Enum { + p := new(FObject_Choice_Enum) + *p = x + return p +} + +func (x FObject_Choice_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (FObject_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_openapi_proto_enumTypes[5].Descriptor() +} + +func (FObject_Choice_Enum) Type() protoreflect.EnumType { + return &file_openapi_proto_enumTypes[5] +} + +func (x FObject_Choice_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use FObject_Choice_Enum.Descriptor instead. +func (FObject_Choice_Enum) EnumDescriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{10, 0, 0} +} + +type JObject_Choice_Enum int32 + +const ( + JObject_Choice_unspecified JObject_Choice_Enum = 0 + JObject_Choice_j_a JObject_Choice_Enum = 1 + JObject_Choice_j_b JObject_Choice_Enum = 2 +) + +// Enum value maps for JObject_Choice_Enum. +var ( + JObject_Choice_Enum_name = map[int32]string{ + 0: "unspecified", + 1: "j_a", + 2: "j_b", + } + JObject_Choice_Enum_value = map[string]int32{ + "unspecified": 0, + "j_a": 1, + "j_b": 2, + } +) + +func (x JObject_Choice_Enum) Enum() *JObject_Choice_Enum { + p := new(JObject_Choice_Enum) + *p = x + return p +} + +func (x JObject_Choice_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (JObject_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_openapi_proto_enumTypes[6].Descriptor() +} + +func (JObject_Choice_Enum) Type() protoreflect.EnumType { + return &file_openapi_proto_enumTypes[6] +} + +func (x JObject_Choice_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use JObject_Choice_Enum.Descriptor instead. +func (JObject_Choice_Enum) EnumDescriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{11, 0, 0} +} + +type ChoiceObject_Choice_Enum int32 + +const ( + ChoiceObject_Choice_unspecified ChoiceObject_Choice_Enum = 0 + ChoiceObject_Choice_e_obj ChoiceObject_Choice_Enum = 1 + ChoiceObject_Choice_f_obj ChoiceObject_Choice_Enum = 2 + ChoiceObject_Choice_no_obj ChoiceObject_Choice_Enum = 3 +) + +// Enum value maps for ChoiceObject_Choice_Enum. +var ( + ChoiceObject_Choice_Enum_name = map[int32]string{ + 0: "unspecified", + 1: "e_obj", + 2: "f_obj", + 3: "no_obj", + } + ChoiceObject_Choice_Enum_value = map[string]int32{ + "unspecified": 0, + "e_obj": 1, + "f_obj": 2, + "no_obj": 3, + } +) + +func (x ChoiceObject_Choice_Enum) Enum() *ChoiceObject_Choice_Enum { + p := new(ChoiceObject_Choice_Enum) + *p = x + return p +} + +func (x ChoiceObject_Choice_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ChoiceObject_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_openapi_proto_enumTypes[7].Descriptor() +} + +func (ChoiceObject_Choice_Enum) Type() protoreflect.EnumType { + return &file_openapi_proto_enumTypes[7] +} + +func (x ChoiceObject_Choice_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ChoiceObject_Choice_Enum.Descriptor instead. +func (ChoiceObject_Choice_Enum) EnumDescriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{12, 0, 0} +} + +type MetricsRequest_Choice_Enum int32 + +const ( + MetricsRequest_Choice_unspecified MetricsRequest_Choice_Enum = 0 + MetricsRequest_Choice_port MetricsRequest_Choice_Enum = 1 + MetricsRequest_Choice_flow MetricsRequest_Choice_Enum = 2 +) + +// Enum value maps for MetricsRequest_Choice_Enum. +var ( + MetricsRequest_Choice_Enum_name = map[int32]string{ + 0: "unspecified", + 1: "port", + 2: "flow", + } + MetricsRequest_Choice_Enum_value = map[string]int32{ + "unspecified": 0, + "port": 1, + "flow": 2, + } +) + +func (x MetricsRequest_Choice_Enum) Enum() *MetricsRequest_Choice_Enum { + p := new(MetricsRequest_Choice_Enum) + *p = x + return p +} + +func (x MetricsRequest_Choice_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (MetricsRequest_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_openapi_proto_enumTypes[8].Descriptor() +} + +func (MetricsRequest_Choice_Enum) Type() protoreflect.EnumType { + return &file_openapi_proto_enumTypes[8] +} + +func (x MetricsRequest_Choice_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use MetricsRequest_Choice_Enum.Descriptor instead. +func (MetricsRequest_Choice_Enum) EnumDescriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{18, 0, 0} +} + +type Metrics_Choice_Enum int32 + +const ( + Metrics_Choice_unspecified Metrics_Choice_Enum = 0 + Metrics_Choice_ports Metrics_Choice_Enum = 1 + Metrics_Choice_flows Metrics_Choice_Enum = 2 +) + +// Enum value maps for Metrics_Choice_Enum. +var ( + Metrics_Choice_Enum_name = map[int32]string{ + 0: "unspecified", + 1: "ports", + 2: "flows", + } + Metrics_Choice_Enum_value = map[string]int32{ + "unspecified": 0, + "ports": 1, + "flows": 2, + } +) + +func (x Metrics_Choice_Enum) Enum() *Metrics_Choice_Enum { + p := new(Metrics_Choice_Enum) + *p = x + return p +} + +func (x Metrics_Choice_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Metrics_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_openapi_proto_enumTypes[9].Descriptor() +} + +func (Metrics_Choice_Enum) Type() protoreflect.EnumType { + return &file_openapi_proto_enumTypes[9] +} + +func (x Metrics_Choice_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Metrics_Choice_Enum.Descriptor instead. +func (Metrics_Choice_Enum) EnumDescriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{19, 0, 0} +} + +type RequiredChoiceParent_Choice_Enum int32 + +const ( + RequiredChoiceParent_Choice_unspecified RequiredChoiceParent_Choice_Enum = 0 + RequiredChoiceParent_Choice_intermediate_obj RequiredChoiceParent_Choice_Enum = 1 + RequiredChoiceParent_Choice_no_obj RequiredChoiceParent_Choice_Enum = 2 +) + +// Enum value maps for RequiredChoiceParent_Choice_Enum. +var ( + RequiredChoiceParent_Choice_Enum_name = map[int32]string{ + 0: "unspecified", + 1: "intermediate_obj", + 2: "no_obj", + } + RequiredChoiceParent_Choice_Enum_value = map[string]int32{ + "unspecified": 0, + "intermediate_obj": 1, + "no_obj": 2, + } +) + +func (x RequiredChoiceParent_Choice_Enum) Enum() *RequiredChoiceParent_Choice_Enum { + p := new(RequiredChoiceParent_Choice_Enum) + *p = x + return p +} + +func (x RequiredChoiceParent_Choice_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (RequiredChoiceParent_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_openapi_proto_enumTypes[10].Descriptor() +} + +func (RequiredChoiceParent_Choice_Enum) Type() protoreflect.EnumType { + return &file_openapi_proto_enumTypes[10] +} + +func (x RequiredChoiceParent_Choice_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use RequiredChoiceParent_Choice_Enum.Descriptor instead. +func (RequiredChoiceParent_Choice_Enum) EnumDescriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{22, 0, 0} +} + +type RequiredChoiceIntermediate_Choice_Enum int32 + +const ( + RequiredChoiceIntermediate_Choice_unspecified RequiredChoiceIntermediate_Choice_Enum = 0 + RequiredChoiceIntermediate_Choice_f_a RequiredChoiceIntermediate_Choice_Enum = 1 + RequiredChoiceIntermediate_Choice_leaf RequiredChoiceIntermediate_Choice_Enum = 2 +) + +// Enum value maps for RequiredChoiceIntermediate_Choice_Enum. +var ( + RequiredChoiceIntermediate_Choice_Enum_name = map[int32]string{ + 0: "unspecified", + 1: "f_a", + 2: "leaf", + } + RequiredChoiceIntermediate_Choice_Enum_value = map[string]int32{ + "unspecified": 0, + "f_a": 1, + "leaf": 2, + } +) + +func (x RequiredChoiceIntermediate_Choice_Enum) Enum() *RequiredChoiceIntermediate_Choice_Enum { + p := new(RequiredChoiceIntermediate_Choice_Enum) + *p = x + return p +} + +func (x RequiredChoiceIntermediate_Choice_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (RequiredChoiceIntermediate_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_openapi_proto_enumTypes[11].Descriptor() +} + +func (RequiredChoiceIntermediate_Choice_Enum) Type() protoreflect.EnumType { + return &file_openapi_proto_enumTypes[11] +} + +func (x RequiredChoiceIntermediate_Choice_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use RequiredChoiceIntermediate_Choice_Enum.Descriptor instead. +func (RequiredChoiceIntermediate_Choice_Enum) EnumDescriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{23, 0, 0} +} + +type PatternPrefixConfigHeaderChecksum_Choice_Enum int32 + +const ( + PatternPrefixConfigHeaderChecksum_Choice_unspecified PatternPrefixConfigHeaderChecksum_Choice_Enum = 0 + PatternPrefixConfigHeaderChecksum_Choice_generated PatternPrefixConfigHeaderChecksum_Choice_Enum = 1 + PatternPrefixConfigHeaderChecksum_Choice_custom PatternPrefixConfigHeaderChecksum_Choice_Enum = 2 +) + +// Enum value maps for PatternPrefixConfigHeaderChecksum_Choice_Enum. +var ( + PatternPrefixConfigHeaderChecksum_Choice_Enum_name = map[int32]string{ + 0: "unspecified", + 1: "generated", + 2: "custom", + } + PatternPrefixConfigHeaderChecksum_Choice_Enum_value = map[string]int32{ + "unspecified": 0, + "generated": 1, + "custom": 2, + } +) + +func (x PatternPrefixConfigHeaderChecksum_Choice_Enum) Enum() *PatternPrefixConfigHeaderChecksum_Choice_Enum { + p := new(PatternPrefixConfigHeaderChecksum_Choice_Enum) + *p = x + return p +} + +func (x PatternPrefixConfigHeaderChecksum_Choice_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PatternPrefixConfigHeaderChecksum_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_openapi_proto_enumTypes[12].Descriptor() +} + +func (PatternPrefixConfigHeaderChecksum_Choice_Enum) Type() protoreflect.EnumType { + return &file_openapi_proto_enumTypes[12] +} + +func (x PatternPrefixConfigHeaderChecksum_Choice_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PatternPrefixConfigHeaderChecksum_Choice_Enum.Descriptor instead. +func (PatternPrefixConfigHeaderChecksum_Choice_Enum) EnumDescriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{38, 0, 0} +} + +type PatternPrefixConfigHeaderChecksum_Generated_Enum int32 + +const ( + PatternPrefixConfigHeaderChecksum_Generated_unspecified PatternPrefixConfigHeaderChecksum_Generated_Enum = 0 + PatternPrefixConfigHeaderChecksum_Generated_good PatternPrefixConfigHeaderChecksum_Generated_Enum = 1 + PatternPrefixConfigHeaderChecksum_Generated_bad PatternPrefixConfigHeaderChecksum_Generated_Enum = 2 +) + +// Enum value maps for PatternPrefixConfigHeaderChecksum_Generated_Enum. +var ( + PatternPrefixConfigHeaderChecksum_Generated_Enum_name = map[int32]string{ + 0: "unspecified", + 1: "good", + 2: "bad", + } + PatternPrefixConfigHeaderChecksum_Generated_Enum_value = map[string]int32{ + "unspecified": 0, + "good": 1, + "bad": 2, + } +) + +func (x PatternPrefixConfigHeaderChecksum_Generated_Enum) Enum() *PatternPrefixConfigHeaderChecksum_Generated_Enum { + p := new(PatternPrefixConfigHeaderChecksum_Generated_Enum) + *p = x + return p +} + +func (x PatternPrefixConfigHeaderChecksum_Generated_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PatternPrefixConfigHeaderChecksum_Generated_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_openapi_proto_enumTypes[13].Descriptor() +} + +func (PatternPrefixConfigHeaderChecksum_Generated_Enum) Type() protoreflect.EnumType { + return &file_openapi_proto_enumTypes[13] +} + +func (x PatternPrefixConfigHeaderChecksum_Generated_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PatternPrefixConfigHeaderChecksum_Generated_Enum.Descriptor instead. +func (PatternPrefixConfigHeaderChecksum_Generated_Enum) EnumDescriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{38, 1, 0} +} + +type PatternPrefixConfigAutoFieldTest_Choice_Enum int32 + +const ( + PatternPrefixConfigAutoFieldTest_Choice_unspecified PatternPrefixConfigAutoFieldTest_Choice_Enum = 0 + PatternPrefixConfigAutoFieldTest_Choice_value PatternPrefixConfigAutoFieldTest_Choice_Enum = 2 + PatternPrefixConfigAutoFieldTest_Choice_values PatternPrefixConfigAutoFieldTest_Choice_Enum = 3 + PatternPrefixConfigAutoFieldTest_Choice_auto PatternPrefixConfigAutoFieldTest_Choice_Enum = 1 + PatternPrefixConfigAutoFieldTest_Choice_increment PatternPrefixConfigAutoFieldTest_Choice_Enum = 4 + PatternPrefixConfigAutoFieldTest_Choice_decrement PatternPrefixConfigAutoFieldTest_Choice_Enum = 5 +) + +// Enum value maps for PatternPrefixConfigAutoFieldTest_Choice_Enum. +var ( + PatternPrefixConfigAutoFieldTest_Choice_Enum_name = map[int32]string{ + 0: "unspecified", + 2: "value", + 3: "values", + 1: "auto", + 4: "increment", + 5: "decrement", + } + PatternPrefixConfigAutoFieldTest_Choice_Enum_value = map[string]int32{ + "unspecified": 0, + "value": 2, + "values": 3, + "auto": 1, + "increment": 4, + "decrement": 5, + } +) + +func (x PatternPrefixConfigAutoFieldTest_Choice_Enum) Enum() *PatternPrefixConfigAutoFieldTest_Choice_Enum { + p := new(PatternPrefixConfigAutoFieldTest_Choice_Enum) + *p = x + return p +} + +func (x PatternPrefixConfigAutoFieldTest_Choice_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PatternPrefixConfigAutoFieldTest_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_openapi_proto_enumTypes[14].Descriptor() +} + +func (PatternPrefixConfigAutoFieldTest_Choice_Enum) Type() protoreflect.EnumType { + return &file_openapi_proto_enumTypes[14] +} + +func (x PatternPrefixConfigAutoFieldTest_Choice_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PatternPrefixConfigAutoFieldTest_Choice_Enum.Descriptor instead. +func (PatternPrefixConfigAutoFieldTest_Choice_Enum) EnumDescriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{40, 0, 0} +} + +type PatternIpv4PatternIpv4_Choice_Enum int32 + +const ( + PatternIpv4PatternIpv4_Choice_unspecified PatternIpv4PatternIpv4_Choice_Enum = 0 + PatternIpv4PatternIpv4_Choice_value PatternIpv4PatternIpv4_Choice_Enum = 2 + PatternIpv4PatternIpv4_Choice_values PatternIpv4PatternIpv4_Choice_Enum = 3 + PatternIpv4PatternIpv4_Choice_increment PatternIpv4PatternIpv4_Choice_Enum = 4 + PatternIpv4PatternIpv4_Choice_decrement PatternIpv4PatternIpv4_Choice_Enum = 5 +) + +// Enum value maps for PatternIpv4PatternIpv4_Choice_Enum. +var ( + PatternIpv4PatternIpv4_Choice_Enum_name = map[int32]string{ + 0: "unspecified", + 2: "value", + 3: "values", + 4: "increment", + 5: "decrement", + } + PatternIpv4PatternIpv4_Choice_Enum_value = map[string]int32{ + "unspecified": 0, + "value": 2, + "values": 3, + "increment": 4, + "decrement": 5, + } +) + +func (x PatternIpv4PatternIpv4_Choice_Enum) Enum() *PatternIpv4PatternIpv4_Choice_Enum { + p := new(PatternIpv4PatternIpv4_Choice_Enum) + *p = x + return p +} + +func (x PatternIpv4PatternIpv4_Choice_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PatternIpv4PatternIpv4_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_openapi_proto_enumTypes[15].Descriptor() +} + +func (PatternIpv4PatternIpv4_Choice_Enum) Type() protoreflect.EnumType { + return &file_openapi_proto_enumTypes[15] +} + +func (x PatternIpv4PatternIpv4_Choice_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PatternIpv4PatternIpv4_Choice_Enum.Descriptor instead. +func (PatternIpv4PatternIpv4_Choice_Enum) EnumDescriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{42, 0, 0} +} + +type PatternIpv6PatternIpv6_Choice_Enum int32 + +const ( + PatternIpv6PatternIpv6_Choice_unspecified PatternIpv6PatternIpv6_Choice_Enum = 0 + PatternIpv6PatternIpv6_Choice_value PatternIpv6PatternIpv6_Choice_Enum = 2 + PatternIpv6PatternIpv6_Choice_values PatternIpv6PatternIpv6_Choice_Enum = 3 + PatternIpv6PatternIpv6_Choice_increment PatternIpv6PatternIpv6_Choice_Enum = 4 + PatternIpv6PatternIpv6_Choice_decrement PatternIpv6PatternIpv6_Choice_Enum = 5 +) + +// Enum value maps for PatternIpv6PatternIpv6_Choice_Enum. +var ( + PatternIpv6PatternIpv6_Choice_Enum_name = map[int32]string{ + 0: "unspecified", + 2: "value", + 3: "values", + 4: "increment", + 5: "decrement", + } + PatternIpv6PatternIpv6_Choice_Enum_value = map[string]int32{ + "unspecified": 0, + "value": 2, + "values": 3, + "increment": 4, + "decrement": 5, + } +) + +func (x PatternIpv6PatternIpv6_Choice_Enum) Enum() *PatternIpv6PatternIpv6_Choice_Enum { + p := new(PatternIpv6PatternIpv6_Choice_Enum) + *p = x + return p +} + +func (x PatternIpv6PatternIpv6_Choice_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PatternIpv6PatternIpv6_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_openapi_proto_enumTypes[16].Descriptor() +} + +func (PatternIpv6PatternIpv6_Choice_Enum) Type() protoreflect.EnumType { + return &file_openapi_proto_enumTypes[16] +} + +func (x PatternIpv6PatternIpv6_Choice_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PatternIpv6PatternIpv6_Choice_Enum.Descriptor instead. +func (PatternIpv6PatternIpv6_Choice_Enum) EnumDescriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{44, 0, 0} +} + +type PatternMacPatternMac_Choice_Enum int32 + +const ( + PatternMacPatternMac_Choice_unspecified PatternMacPatternMac_Choice_Enum = 0 + PatternMacPatternMac_Choice_value PatternMacPatternMac_Choice_Enum = 2 + PatternMacPatternMac_Choice_values PatternMacPatternMac_Choice_Enum = 3 + PatternMacPatternMac_Choice_auto PatternMacPatternMac_Choice_Enum = 1 + PatternMacPatternMac_Choice_increment PatternMacPatternMac_Choice_Enum = 4 + PatternMacPatternMac_Choice_decrement PatternMacPatternMac_Choice_Enum = 5 +) + +// Enum value maps for PatternMacPatternMac_Choice_Enum. +var ( + PatternMacPatternMac_Choice_Enum_name = map[int32]string{ + 0: "unspecified", + 2: "value", + 3: "values", + 1: "auto", + 4: "increment", + 5: "decrement", + } + PatternMacPatternMac_Choice_Enum_value = map[string]int32{ + "unspecified": 0, + "value": 2, + "values": 3, + "auto": 1, + "increment": 4, + "decrement": 5, + } +) + +func (x PatternMacPatternMac_Choice_Enum) Enum() *PatternMacPatternMac_Choice_Enum { + p := new(PatternMacPatternMac_Choice_Enum) + *p = x + return p +} + +func (x PatternMacPatternMac_Choice_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PatternMacPatternMac_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_openapi_proto_enumTypes[17].Descriptor() +} + +func (PatternMacPatternMac_Choice_Enum) Type() protoreflect.EnumType { + return &file_openapi_proto_enumTypes[17] +} + +func (x PatternMacPatternMac_Choice_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PatternMacPatternMac_Choice_Enum.Descriptor instead. +func (PatternMacPatternMac_Choice_Enum) EnumDescriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{46, 0, 0} +} + +type PatternIntegerPatternInteger_Choice_Enum int32 + +const ( + PatternIntegerPatternInteger_Choice_unspecified PatternIntegerPatternInteger_Choice_Enum = 0 + PatternIntegerPatternInteger_Choice_value PatternIntegerPatternInteger_Choice_Enum = 2 + PatternIntegerPatternInteger_Choice_values PatternIntegerPatternInteger_Choice_Enum = 3 + PatternIntegerPatternInteger_Choice_increment PatternIntegerPatternInteger_Choice_Enum = 4 + PatternIntegerPatternInteger_Choice_decrement PatternIntegerPatternInteger_Choice_Enum = 5 +) + +// Enum value maps for PatternIntegerPatternInteger_Choice_Enum. +var ( + PatternIntegerPatternInteger_Choice_Enum_name = map[int32]string{ + 0: "unspecified", + 2: "value", + 3: "values", + 4: "increment", + 5: "decrement", + } + PatternIntegerPatternInteger_Choice_Enum_value = map[string]int32{ + "unspecified": 0, + "value": 2, + "values": 3, + "increment": 4, + "decrement": 5, + } +) + +func (x PatternIntegerPatternInteger_Choice_Enum) Enum() *PatternIntegerPatternInteger_Choice_Enum { + p := new(PatternIntegerPatternInteger_Choice_Enum) + *p = x + return p +} + +func (x PatternIntegerPatternInteger_Choice_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PatternIntegerPatternInteger_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_openapi_proto_enumTypes[18].Descriptor() +} + +func (PatternIntegerPatternInteger_Choice_Enum) Type() protoreflect.EnumType { + return &file_openapi_proto_enumTypes[18] +} + +func (x PatternIntegerPatternInteger_Choice_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PatternIntegerPatternInteger_Choice_Enum.Descriptor instead. +func (PatternIntegerPatternInteger_Choice_Enum) EnumDescriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{48, 0, 0} +} + +type PatternChecksumPatternChecksum_Choice_Enum int32 + +const ( + PatternChecksumPatternChecksum_Choice_unspecified PatternChecksumPatternChecksum_Choice_Enum = 0 + PatternChecksumPatternChecksum_Choice_generated PatternChecksumPatternChecksum_Choice_Enum = 1 + PatternChecksumPatternChecksum_Choice_custom PatternChecksumPatternChecksum_Choice_Enum = 2 +) + +// Enum value maps for PatternChecksumPatternChecksum_Choice_Enum. +var ( + PatternChecksumPatternChecksum_Choice_Enum_name = map[int32]string{ + 0: "unspecified", + 1: "generated", + 2: "custom", + } + PatternChecksumPatternChecksum_Choice_Enum_value = map[string]int32{ + "unspecified": 0, + "generated": 1, + "custom": 2, + } +) + +func (x PatternChecksumPatternChecksum_Choice_Enum) Enum() *PatternChecksumPatternChecksum_Choice_Enum { + p := new(PatternChecksumPatternChecksum_Choice_Enum) + *p = x + return p +} + +func (x PatternChecksumPatternChecksum_Choice_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PatternChecksumPatternChecksum_Choice_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_openapi_proto_enumTypes[19].Descriptor() +} + +func (PatternChecksumPatternChecksum_Choice_Enum) Type() protoreflect.EnumType { + return &file_openapi_proto_enumTypes[19] +} + +func (x PatternChecksumPatternChecksum_Choice_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PatternChecksumPatternChecksum_Choice_Enum.Descriptor instead. +func (PatternChecksumPatternChecksum_Choice_Enum) EnumDescriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{49, 0, 0} +} + +type PatternChecksumPatternChecksum_Generated_Enum int32 + +const ( + PatternChecksumPatternChecksum_Generated_unspecified PatternChecksumPatternChecksum_Generated_Enum = 0 + PatternChecksumPatternChecksum_Generated_good PatternChecksumPatternChecksum_Generated_Enum = 1 + PatternChecksumPatternChecksum_Generated_bad PatternChecksumPatternChecksum_Generated_Enum = 2 +) + +// Enum value maps for PatternChecksumPatternChecksum_Generated_Enum. +var ( + PatternChecksumPatternChecksum_Generated_Enum_name = map[int32]string{ + 0: "unspecified", + 1: "good", + 2: "bad", + } + PatternChecksumPatternChecksum_Generated_Enum_value = map[string]int32{ + "unspecified": 0, + "good": 1, + "bad": 2, + } +) + +func (x PatternChecksumPatternChecksum_Generated_Enum) Enum() *PatternChecksumPatternChecksum_Generated_Enum { + p := new(PatternChecksumPatternChecksum_Generated_Enum) + *p = x + return p +} + +func (x PatternChecksumPatternChecksum_Generated_Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PatternChecksumPatternChecksum_Generated_Enum) Descriptor() protoreflect.EnumDescriptor { + return file_openapi_proto_enumTypes[20].Descriptor() +} + +func (PatternChecksumPatternChecksum_Generated_Enum) Type() protoreflect.EnumType { + return &file_openapi_proto_enumTypes[20] +} + +func (x PatternChecksumPatternChecksum_Generated_Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PatternChecksumPatternChecksum_Generated_Enum.Descriptor instead. +func (PatternChecksumPatternChecksum_Generated_Enum) EnumDescriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{49, 1, 0} +} + +// Description missing in models +type ErrorDetails struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + Errors []string `protobuf:"bytes,1,rep,name=errors,proto3" json:"errors,omitempty"` +} + +func (x *ErrorDetails) Reset() { + *x = ErrorDetails{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ErrorDetails) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ErrorDetails) ProtoMessage() {} + +func (x *ErrorDetails) ProtoReflect() protoreflect.Message { + mi := &file_openapi_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ErrorDetails.ProtoReflect.Descriptor instead. +func (*ErrorDetails) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{0} +} + +func (x *ErrorDetails) GetErrors() []string { + if x != nil { + return x.Errors + } + return nil +} + +// Description missing in models +type WarningDetails struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + Warnings []string `protobuf:"bytes,1,rep,name=warnings,proto3" json:"warnings,omitempty"` +} + +func (x *WarningDetails) Reset() { + *x = WarningDetails{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WarningDetails) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WarningDetails) ProtoMessage() {} + +func (x *WarningDetails) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 WarningDetails.ProtoReflect.Descriptor instead. +func (*WarningDetails) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{1} +} + +func (x *WarningDetails) GetWarnings() []string { + if x != nil { + return x.Warnings + } + return nil +} + +// Error response generated while serving API request. +type Error struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Numeric status code based on underlying transport being used. + // required = true + Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` + // Kind of error message. + Kind *Error_Kind_Enum `protobuf:"varint,2,opt,name=kind,proto3,enum=openapi.Error_Kind_Enum,oneof" json:"kind,omitempty"` + // List of error messages generated while serving API request. + Errors []string `protobuf:"bytes,3,rep,name=errors,proto3" json:"errors,omitempty"` +} + +func (x *Error) Reset() { + *x = Error{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Error) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Error) ProtoMessage() {} + +func (x *Error) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 Error.ProtoReflect.Descriptor instead. +func (*Error) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{2} +} + +func (x *Error) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *Error) GetKind() Error_Kind_Enum { + if x != nil && x.Kind != nil { + return *x.Kind + } + return Error_Kind_unspecified +} + +func (x *Error) GetErrors() []string { + if x != nil { + return x.Errors + } + return nil +} + +// Container which retains the configuration +type PrefixConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A required object that MUST be generated as such. + // required = true + RequiredObject *EObject `protobuf:"bytes,1,opt,name=required_object,json=requiredObject,proto3" json:"required_object,omitempty"` + // An optional object that MUST be generated as such. + OptionalObject *EObject `protobuf:"bytes,2,opt,name=optional_object,json=optionalObject,proto3,oneof" json:"optional_object,omitempty"` + // Description missing in models + Ieee_802_1Qbb *bool `protobuf:"varint,3,opt,name=ieee_802_1qbb,json=ieee8021qbb,proto3,oneof" json:"ieee_802_1qbb,omitempty"` + // Deprecated: Information TBD + // + // Description TBD + Space_1 *int32 `protobuf:"varint,4,opt,name=space_1,json=space1,proto3,oneof" json:"space_1,omitempty"` + // Description missing in models + FullDuplex_100Mb *int64 `protobuf:"varint,5,opt,name=full_duplex_100_mb,json=fullDuplex100Mb,proto3,oneof" json:"full_duplex_100_mb,omitempty"` + // Indicate to the server what response should be returned + // default = Response.Enum.status_200 + Response *PrefixConfig_Response_Enum `protobuf:"varint,6,opt,name=response,proto3,enum=openapi.PrefixConfig_Response_Enum,oneof" json:"response,omitempty"` + // Under Review: Information TBD + // + // Small single line description + // required = true + A string `protobuf:"bytes,7,opt,name=a,proto3" json:"a,omitempty"` + // Longer multi-line description + // Second line is here + // Third line + // required = true + B float32 `protobuf:"fixed32,8,opt,name=b,proto3" json:"b,omitempty"` + // Description missing in models + // required = true + C int32 `protobuf:"varint,9,opt,name=c,proto3" json:"c,omitempty"` + // Deprecated: Information TBD + // + // A list of enum values + DValues []PrefixConfig_DValues_Enum `protobuf:"varint,10,rep,packed,name=d_values,json=dValues,proto3,enum=openapi.PrefixConfig_DValues_Enum" json:"d_values,omitempty"` + // Deprecated: Information TBD + // + // A child object + E *EObject `protobuf:"bytes,11,opt,name=e,proto3,oneof" json:"e,omitempty"` + // An object with only choice(s) + F *FObject `protobuf:"bytes,12,opt,name=f,proto3,oneof" json:"f,omitempty"` + // A list of objects with choice and properties + G []*GObject `protobuf:"bytes,13,rep,name=g,proto3" json:"g,omitempty"` + // A boolean value + // default = True + H *bool `protobuf:"varint,14,opt,name=h,proto3,oneof" json:"h,omitempty"` + // A byte string + I []byte `protobuf:"bytes,15,opt,name=i,proto3,oneof" json:"i,omitempty"` + // A list of objects with only choice + J []*JObject `protobuf:"bytes,16,rep,name=j,proto3" json:"j,omitempty"` + // A nested object with only one property which is a choice object + K *KObject `protobuf:"bytes,17,opt,name=k,proto3,oneof" json:"k,omitempty"` + // Description missing in models + L *LObject `protobuf:"bytes,18,opt,name=l,proto3,oneof" json:"l,omitempty"` + // A list of string values + ListOfStringValues []string `protobuf:"bytes,19,rep,name=list_of_string_values,json=listOfStringValues,proto3" json:"list_of_string_values,omitempty"` + // A list of integer values + ListOfIntegerValues []int32 `protobuf:"varint,20,rep,packed,name=list_of_integer_values,json=listOfIntegerValues,proto3" json:"list_of_integer_values,omitempty"` + // Description missing in models + Level *LevelOne `protobuf:"bytes,21,opt,name=level,proto3,oneof" json:"level,omitempty"` + // Description missing in models + Mandatory *Mandate `protobuf:"bytes,22,opt,name=mandatory,proto3,oneof" json:"mandatory,omitempty"` + // Description missing in models + Ipv4Pattern *Ipv4Pattern `protobuf:"bytes,23,opt,name=ipv4_pattern,json=ipv4Pattern,proto3,oneof" json:"ipv4_pattern,omitempty"` + // Description missing in models + Ipv6Pattern *Ipv6Pattern `protobuf:"bytes,24,opt,name=ipv6_pattern,json=ipv6Pattern,proto3,oneof" json:"ipv6_pattern,omitempty"` + // Description missing in models + MacPattern *MacPattern `protobuf:"bytes,25,opt,name=mac_pattern,json=macPattern,proto3,oneof" json:"mac_pattern,omitempty"` + // Description missing in models + IntegerPattern *IntegerPattern `protobuf:"bytes,26,opt,name=integer_pattern,json=integerPattern,proto3,oneof" json:"integer_pattern,omitempty"` + // Description missing in models + ChecksumPattern *ChecksumPattern `protobuf:"bytes,27,opt,name=checksum_pattern,json=checksumPattern,proto3,oneof" json:"checksum_pattern,omitempty"` + // Description missing in models + Case *Layer1Ieee802X `protobuf:"bytes,28,opt,name=case,proto3,oneof" json:"case,omitempty"` + // Description missing in models + MObject *MObject `protobuf:"bytes,29,opt,name=m_object,json=mObject,proto3,oneof" json:"m_object,omitempty"` + // int64 type + Integer64 *int64 `protobuf:"varint,30,opt,name=integer64,proto3,oneof" json:"integer64,omitempty"` + // int64 type list + Integer64List []int64 `protobuf:"varint,31,rep,packed,name=integer64_list,json=integer64List,proto3" json:"integer64_list,omitempty"` + // Description missing in models + HeaderChecksum *PatternPrefixConfigHeaderChecksum `protobuf:"bytes,32,opt,name=header_checksum,json=headerChecksum,proto3,oneof" json:"header_checksum,omitempty"` + // Under Review: Information TBD + // + // string minimum&maximum Length + StrLen *string `protobuf:"bytes,33,opt,name=str_len,json=strLen,proto3,oneof" json:"str_len,omitempty"` + // Under Review: Information TBD + // + // Array of Hex + HexSlice []string `protobuf:"bytes,34,rep,name=hex_slice,json=hexSlice,proto3" json:"hex_slice,omitempty"` + // Description missing in models + AutoFieldTest *PatternPrefixConfigAutoFieldTest `protobuf:"bytes,35,opt,name=auto_field_test,json=autoFieldTest,proto3,oneof" json:"auto_field_test,omitempty"` + // Description missing in models + Name *string `protobuf:"bytes,36,opt,name=name,proto3,oneof" json:"name,omitempty"` + // Description missing in models + WList []*WObject `protobuf:"bytes,37,rep,name=w_list,json=wList,proto3" json:"w_list,omitempty"` + // Description missing in models + XList []*ZObject `protobuf:"bytes,38,rep,name=x_list,json=xList,proto3" json:"x_list,omitempty"` + // Description missing in models + ZObject *ZObject `protobuf:"bytes,39,opt,name=z_object,json=zObject,proto3,oneof" json:"z_object,omitempty"` + // Description missing in models + YObject *YObject `protobuf:"bytes,40,opt,name=y_object,json=yObject,proto3,oneof" json:"y_object,omitempty"` + // A list of objects with choice with and without properties + ChoiceObject []*ChoiceObject `protobuf:"bytes,41,rep,name=choice_object,json=choiceObject,proto3" json:"choice_object,omitempty"` + // Description missing in models + RequiredChoiceObject *RequiredChoiceParent `protobuf:"bytes,42,opt,name=required_choice_object,json=requiredChoiceObject,proto3,oneof" json:"required_choice_object,omitempty"` + // A list of objects with choice and properties + G1 []*GObject `protobuf:"bytes,43,rep,name=g1,proto3" json:"g1,omitempty"` + // A list of objects with choice and properties + G2 []*GObject `protobuf:"bytes,44,rep,name=g2,proto3" json:"g2,omitempty"` + // int32 type + Int32Param *int32 `protobuf:"varint,45,opt,name=int32_param,json=int32Param,proto3,oneof" json:"int32_param,omitempty"` + // int32 type list + Int32ListParam []int32 `protobuf:"varint,46,rep,packed,name=int32_list_param,json=int32ListParam,proto3" json:"int32_list_param,omitempty"` + // uint32 type + Uint32Param *uint32 `protobuf:"varint,47,opt,name=uint32_param,json=uint32Param,proto3,oneof" json:"uint32_param,omitempty"` + // uint32 type list + Uint32ListParam []uint32 `protobuf:"varint,48,rep,packed,name=uint32_list_param,json=uint32ListParam,proto3" json:"uint32_list_param,omitempty"` + // uint64 type + Uint64Param *uint64 `protobuf:"varint,49,opt,name=uint64_param,json=uint64Param,proto3,oneof" json:"uint64_param,omitempty"` + // uint64 type list + Uint64ListParam []uint64 `protobuf:"varint,50,rep,packed,name=uint64_list_param,json=uint64ListParam,proto3" json:"uint64_list_param,omitempty"` + // should automatically set type to int32 + AutoInt32Param *int32 `protobuf:"varint,51,opt,name=auto_int32_param,json=autoInt32Param,proto3,oneof" json:"auto_int32_param,omitempty"` + // should automatically set type to []int32 + AutoInt32ListParam []int32 `protobuf:"varint,52,rep,packed,name=auto_int32_list_param,json=autoInt32ListParam,proto3" json:"auto_int32_list_param,omitempty"` +} + +func (x *PrefixConfig) Reset() { + *x = PrefixConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PrefixConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PrefixConfig) ProtoMessage() {} + +func (x *PrefixConfig) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 PrefixConfig.ProtoReflect.Descriptor instead. +func (*PrefixConfig) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{3} +} + +func (x *PrefixConfig) GetRequiredObject() *EObject { + if x != nil { + return x.RequiredObject + } + return nil +} + +func (x *PrefixConfig) GetOptionalObject() *EObject { + if x != nil { + return x.OptionalObject + } + return nil +} + +func (x *PrefixConfig) GetIeee_802_1Qbb() bool { + if x != nil && x.Ieee_802_1Qbb != nil { + return *x.Ieee_802_1Qbb + } + return false +} + +func (x *PrefixConfig) GetSpace_1() int32 { + if x != nil && x.Space_1 != nil { + return *x.Space_1 + } + return 0 +} + +func (x *PrefixConfig) GetFullDuplex_100Mb() int64 { + if x != nil && x.FullDuplex_100Mb != nil { + return *x.FullDuplex_100Mb + } + return 0 +} + +func (x *PrefixConfig) GetResponse() PrefixConfig_Response_Enum { + if x != nil && x.Response != nil { + return *x.Response + } + return PrefixConfig_Response_unspecified +} + +func (x *PrefixConfig) GetA() string { + if x != nil { + return x.A + } + return "" +} + +func (x *PrefixConfig) GetB() float32 { + if x != nil { + return x.B + } + return 0 +} + +func (x *PrefixConfig) GetC() int32 { + if x != nil { + return x.C + } + return 0 +} + +func (x *PrefixConfig) GetDValues() []PrefixConfig_DValues_Enum { + if x != nil { + return x.DValues + } + return nil +} + +func (x *PrefixConfig) GetE() *EObject { + if x != nil { + return x.E + } + return nil +} + +func (x *PrefixConfig) GetF() *FObject { + if x != nil { + return x.F + } + return nil +} + +func (x *PrefixConfig) GetG() []*GObject { + if x != nil { + return x.G + } + return nil +} + +func (x *PrefixConfig) GetH() bool { + if x != nil && x.H != nil { + return *x.H + } + return false +} + +func (x *PrefixConfig) GetI() []byte { + if x != nil { + return x.I + } + return nil +} + +func (x *PrefixConfig) GetJ() []*JObject { + if x != nil { + return x.J + } + return nil +} + +func (x *PrefixConfig) GetK() *KObject { + if x != nil { + return x.K + } + return nil +} + +func (x *PrefixConfig) GetL() *LObject { + if x != nil { + return x.L + } + return nil +} + +func (x *PrefixConfig) GetListOfStringValues() []string { + if x != nil { + return x.ListOfStringValues + } + return nil +} + +func (x *PrefixConfig) GetListOfIntegerValues() []int32 { + if x != nil { + return x.ListOfIntegerValues + } + return nil +} + +func (x *PrefixConfig) GetLevel() *LevelOne { + if x != nil { + return x.Level + } + return nil +} + +func (x *PrefixConfig) GetMandatory() *Mandate { + if x != nil { + return x.Mandatory + } + return nil +} + +func (x *PrefixConfig) GetIpv4Pattern() *Ipv4Pattern { + if x != nil { + return x.Ipv4Pattern + } + return nil +} + +func (x *PrefixConfig) GetIpv6Pattern() *Ipv6Pattern { + if x != nil { + return x.Ipv6Pattern + } + return nil +} + +func (x *PrefixConfig) GetMacPattern() *MacPattern { + if x != nil { + return x.MacPattern + } + return nil +} + +func (x *PrefixConfig) GetIntegerPattern() *IntegerPattern { + if x != nil { + return x.IntegerPattern + } + return nil +} + +func (x *PrefixConfig) GetChecksumPattern() *ChecksumPattern { + if x != nil { + return x.ChecksumPattern + } + return nil +} + +func (x *PrefixConfig) GetCase() *Layer1Ieee802X { + if x != nil { + return x.Case + } + return nil +} + +func (x *PrefixConfig) GetMObject() *MObject { + if x != nil { + return x.MObject + } + return nil +} + +func (x *PrefixConfig) GetInteger64() int64 { + if x != nil && x.Integer64 != nil { + return *x.Integer64 + } + return 0 +} + +func (x *PrefixConfig) GetInteger64List() []int64 { + if x != nil { + return x.Integer64List + } + return nil +} + +func (x *PrefixConfig) GetHeaderChecksum() *PatternPrefixConfigHeaderChecksum { + if x != nil { + return x.HeaderChecksum + } + return nil +} + +func (x *PrefixConfig) GetStrLen() string { + if x != nil && x.StrLen != nil { + return *x.StrLen + } + return "" +} + +func (x *PrefixConfig) GetHexSlice() []string { + if x != nil { + return x.HexSlice + } + return nil +} + +func (x *PrefixConfig) GetAutoFieldTest() *PatternPrefixConfigAutoFieldTest { + if x != nil { + return x.AutoFieldTest + } + return nil +} + +func (x *PrefixConfig) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *PrefixConfig) GetWList() []*WObject { + if x != nil { + return x.WList + } + return nil +} + +func (x *PrefixConfig) GetXList() []*ZObject { + if x != nil { + return x.XList + } + return nil +} + +func (x *PrefixConfig) GetZObject() *ZObject { + if x != nil { + return x.ZObject + } + return nil +} + +func (x *PrefixConfig) GetYObject() *YObject { + if x != nil { + return x.YObject + } + return nil +} + +func (x *PrefixConfig) GetChoiceObject() []*ChoiceObject { + if x != nil { + return x.ChoiceObject + } + return nil +} + +func (x *PrefixConfig) GetRequiredChoiceObject() *RequiredChoiceParent { + if x != nil { + return x.RequiredChoiceObject + } + return nil +} + +func (x *PrefixConfig) GetG1() []*GObject { + if x != nil { + return x.G1 + } + return nil +} + +func (x *PrefixConfig) GetG2() []*GObject { + if x != nil { + return x.G2 + } + return nil +} + +func (x *PrefixConfig) GetInt32Param() int32 { + if x != nil && x.Int32Param != nil { + return *x.Int32Param + } + return 0 +} + +func (x *PrefixConfig) GetInt32ListParam() []int32 { + if x != nil { + return x.Int32ListParam + } + return nil +} + +func (x *PrefixConfig) GetUint32Param() uint32 { + if x != nil && x.Uint32Param != nil { + return *x.Uint32Param + } + return 0 +} + +func (x *PrefixConfig) GetUint32ListParam() []uint32 { + if x != nil { + return x.Uint32ListParam + } + return nil +} + +func (x *PrefixConfig) GetUint64Param() uint64 { + if x != nil && x.Uint64Param != nil { + return *x.Uint64Param + } + return 0 +} + +func (x *PrefixConfig) GetUint64ListParam() []uint64 { + if x != nil { + return x.Uint64ListParam + } + return nil +} + +func (x *PrefixConfig) GetAutoInt32Param() int32 { + if x != nil && x.AutoInt32Param != nil { + return *x.AutoInt32Param + } + return 0 +} + +func (x *PrefixConfig) GetAutoInt32ListParam() []int32 { + if x != nil { + return x.AutoInt32ListParam + } + return nil +} + +// Description missing in models +type WObject struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // required = true + WName string `protobuf:"bytes,1,opt,name=w_name,json=wName,proto3" json:"w_name,omitempty"` +} + +func (x *WObject) Reset() { + *x = WObject{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WObject) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WObject) ProtoMessage() {} + +func (x *WObject) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 WObject.ProtoReflect.Descriptor instead. +func (*WObject) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{4} +} + +func (x *WObject) GetWName() string { + if x != nil { + return x.WName + } + return "" +} + +// Description missing in models +type ZObject struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // required = true + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *ZObject) Reset() { + *x = ZObject{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ZObject) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ZObject) ProtoMessage() {} + +func (x *ZObject) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 ZObject.ProtoReflect.Descriptor instead. +func (*ZObject) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{5} +} + +func (x *ZObject) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Description missing in models +type YObject struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // TBD + // + // x-constraint: + // - /components/schemas/ZObject/properties/name + // - /components/schemas/WObject/properties/w_name + YName *string `protobuf:"bytes,1,opt,name=y_name,json=yName,proto3,oneof" json:"y_name,omitempty"` +} + +func (x *YObject) Reset() { + *x = YObject{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *YObject) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*YObject) ProtoMessage() {} + +func (x *YObject) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 YObject.ProtoReflect.Descriptor instead. +func (*YObject) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{6} +} + +func (x *YObject) GetYName() string { + if x != nil && x.YName != nil { + return *x.YName + } + return "" +} + +// Description missing in models +type Layer1Ieee802X struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + FlowControl *bool `protobuf:"varint,1,opt,name=flow_control,json=flowControl,proto3,oneof" json:"flow_control,omitempty"` +} + +func (x *Layer1Ieee802X) Reset() { + *x = Layer1Ieee802X{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Layer1Ieee802X) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Layer1Ieee802X) ProtoMessage() {} + +func (x *Layer1Ieee802X) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 Layer1Ieee802X.ProtoReflect.Descriptor instead. +func (*Layer1Ieee802X) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{7} +} + +func (x *Layer1Ieee802X) GetFlowControl() bool { + if x != nil && x.FlowControl != nil { + return *x.FlowControl + } + return false +} + +// Deprecated: new schema Jobject to be used +// +// Description TBD +type GObject struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // default = asdf + GA *string `protobuf:"bytes,1,opt,name=g_a,json=gA,proto3,oneof" json:"g_a,omitempty"` + // Description missing in models + // default = 6 + GB *int32 `protobuf:"varint,2,opt,name=g_b,json=gB,proto3,oneof" json:"g_b,omitempty"` + // Deprecated: Information TBD + // + // Description TBD + // default = 77.7 + GC *float32 `protobuf:"fixed32,3,opt,name=g_c,json=gC,proto3,oneof" json:"g_c,omitempty"` + // Description missing in models + // default = Choice.Enum.g_d + Choice *GObject_Choice_Enum `protobuf:"varint,4,opt,name=choice,proto3,enum=openapi.GObject_Choice_Enum,oneof" json:"choice,omitempty"` + // Description missing in models + // default = some string + GD *string `protobuf:"bytes,5,opt,name=g_d,json=gD,proto3,oneof" json:"g_d,omitempty"` + // Description missing in models + // default = 3.0 + GE *float64 `protobuf:"fixed64,6,opt,name=g_e,json=gE,proto3,oneof" json:"g_e,omitempty"` + // Another enum to test protbuf enum generation + // default = GF.Enum.a + GF *GObject_GF_Enum `protobuf:"varint,7,opt,name=g_f,json=gF,proto3,enum=openapi.GObject_GF_Enum,oneof" json:"g_f,omitempty"` + // Description missing in models + Name *string `protobuf:"bytes,8,opt,name=name,proto3,oneof" json:"name,omitempty"` +} + +func (x *GObject) Reset() { + *x = GObject{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GObject) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GObject) ProtoMessage() {} + +func (x *GObject) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 GObject.ProtoReflect.Descriptor instead. +func (*GObject) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{8} +} + +func (x *GObject) GetGA() string { + if x != nil && x.GA != nil { + return *x.GA + } + return "" +} + +func (x *GObject) GetGB() int32 { + if x != nil && x.GB != nil { + return *x.GB + } + return 0 +} + +func (x *GObject) GetGC() float32 { + if x != nil && x.GC != nil { + return *x.GC + } + return 0 +} + +func (x *GObject) GetChoice() GObject_Choice_Enum { + if x != nil && x.Choice != nil { + return *x.Choice + } + return GObject_Choice_unspecified +} + +func (x *GObject) GetGD() string { + if x != nil && x.GD != nil { + return *x.GD + } + return "" +} + +func (x *GObject) GetGE() float64 { + if x != nil && x.GE != nil { + return *x.GE + } + return 0 +} + +func (x *GObject) GetGF() GObject_GF_Enum { + if x != nil && x.GF != nil { + return *x.GF + } + return GObject_GF_unspecified +} + +func (x *GObject) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +// Description missing in models +type EObject struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // required = true + EA float32 `protobuf:"fixed32,1,opt,name=e_a,json=eA,proto3" json:"e_a,omitempty"` + // Description missing in models + // required = true + EB float64 `protobuf:"fixed64,2,opt,name=e_b,json=eB,proto3" json:"e_b,omitempty"` + // Description missing in models + Name *string `protobuf:"bytes,3,opt,name=name,proto3,oneof" json:"name,omitempty"` + // Description missing in models + MParam1 *string `protobuf:"bytes,4,opt,name=m_param1,json=mParam1,proto3,oneof" json:"m_param1,omitempty"` + // Description missing in models + MParam2 *string `protobuf:"bytes,5,opt,name=m_param2,json=mParam2,proto3,oneof" json:"m_param2,omitempty"` +} + +func (x *EObject) Reset() { + *x = EObject{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EObject) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EObject) ProtoMessage() {} + +func (x *EObject) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 EObject.ProtoReflect.Descriptor instead. +func (*EObject) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{9} +} + +func (x *EObject) GetEA() float32 { + if x != nil { + return x.EA + } + return 0 +} + +func (x *EObject) GetEB() float64 { + if x != nil { + return x.EB + } + return 0 +} + +func (x *EObject) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *EObject) GetMParam1() string { + if x != nil && x.MParam1 != nil { + return *x.MParam1 + } + return "" +} + +func (x *EObject) GetMParam2() string { + if x != nil && x.MParam2 != nil { + return *x.MParam2 + } + return "" +} + +// Description missing in models +type FObject struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // default = Choice.Enum.f_a + Choice *FObject_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=openapi.FObject_Choice_Enum,oneof" json:"choice,omitempty"` + // Description missing in models + // default = some string + FA *string `protobuf:"bytes,2,opt,name=f_a,json=fA,proto3,oneof" json:"f_a,omitempty"` + // Description missing in models + // default = 3.0 + FB *float64 `protobuf:"fixed64,3,opt,name=f_b,json=fB,proto3,oneof" json:"f_b,omitempty"` +} + +func (x *FObject) Reset() { + *x = FObject{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FObject) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FObject) ProtoMessage() {} + +func (x *FObject) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 FObject.ProtoReflect.Descriptor instead. +func (*FObject) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{10} +} + +func (x *FObject) GetChoice() FObject_Choice_Enum { + if x != nil && x.Choice != nil { + return *x.Choice + } + return FObject_Choice_unspecified +} + +func (x *FObject) GetFA() string { + if x != nil && x.FA != nil { + return *x.FA + } + return "" +} + +func (x *FObject) GetFB() float64 { + if x != nil && x.FB != nil { + return *x.FB + } + return 0 +} + +// Description missing in models +type JObject struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // default = Choice.Enum.j_a + Choice *JObject_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=openapi.JObject_Choice_Enum,oneof" json:"choice,omitempty"` + // Description missing in models + JA *EObject `protobuf:"bytes,2,opt,name=j_a,json=jA,proto3,oneof" json:"j_a,omitempty"` + // Description missing in models + JB *FObject `protobuf:"bytes,3,opt,name=j_b,json=jB,proto3,oneof" json:"j_b,omitempty"` +} + +func (x *JObject) Reset() { + *x = JObject{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JObject) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JObject) ProtoMessage() {} + +func (x *JObject) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 JObject.ProtoReflect.Descriptor instead. +func (*JObject) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{11} +} + +func (x *JObject) GetChoice() JObject_Choice_Enum { + if x != nil && x.Choice != nil { + return *x.Choice + } + return JObject_Choice_unspecified +} + +func (x *JObject) GetJA() *EObject { + if x != nil { + return x.JA + } + return nil +} + +func (x *JObject) GetJB() *FObject { + if x != nil { + return x.JB + } + return nil +} + +// Description missing in models +type ChoiceObject struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // default = Choice.Enum.no_obj + Choice *ChoiceObject_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=openapi.ChoiceObject_Choice_Enum,oneof" json:"choice,omitempty"` + // Description missing in models + EObj *EObject `protobuf:"bytes,2,opt,name=e_obj,json=eObj,proto3,oneof" json:"e_obj,omitempty"` + // Description missing in models + FObj *FObject `protobuf:"bytes,3,opt,name=f_obj,json=fObj,proto3,oneof" json:"f_obj,omitempty"` +} + +func (x *ChoiceObject) Reset() { + *x = ChoiceObject{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChoiceObject) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChoiceObject) ProtoMessage() {} + +func (x *ChoiceObject) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 ChoiceObject.ProtoReflect.Descriptor instead. +func (*ChoiceObject) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{12} +} + +func (x *ChoiceObject) GetChoice() ChoiceObject_Choice_Enum { + if x != nil && x.Choice != nil { + return *x.Choice + } + return ChoiceObject_Choice_unspecified +} + +func (x *ChoiceObject) GetEObj() *EObject { + if x != nil { + return x.EObj + } + return nil +} + +func (x *ChoiceObject) GetFObj() *FObject { + if x != nil { + return x.FObj + } + return nil +} + +// Description missing in models +type KObject struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + EObject *EObject `protobuf:"bytes,1,opt,name=e_object,json=eObject,proto3,oneof" json:"e_object,omitempty"` + // Description missing in models + FObject *FObject `protobuf:"bytes,2,opt,name=f_object,json=fObject,proto3,oneof" json:"f_object,omitempty"` +} + +func (x *KObject) Reset() { + *x = KObject{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *KObject) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*KObject) ProtoMessage() {} + +func (x *KObject) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 KObject.ProtoReflect.Descriptor instead. +func (*KObject) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{13} +} + +func (x *KObject) GetEObject() *EObject { + if x != nil { + return x.EObject + } + return nil +} + +func (x *KObject) GetFObject() *FObject { + if x != nil { + return x.FObject + } + return nil +} + +// Format validation object +type LObject struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + StringParam *string `protobuf:"bytes,1,opt,name=string_param,json=stringParam,proto3,oneof" json:"string_param,omitempty"` + // Description missing in models + Integer *int32 `protobuf:"varint,2,opt,name=integer,proto3,oneof" json:"integer,omitempty"` + // Description missing in models + Float *float32 `protobuf:"fixed32,3,opt,name=float,proto3,oneof" json:"float,omitempty"` + // Description missing in models + Double *float64 `protobuf:"fixed64,4,opt,name=double,proto3,oneof" json:"double,omitempty"` + // Description missing in models + Mac *string `protobuf:"bytes,5,opt,name=mac,proto3,oneof" json:"mac,omitempty"` + // Description missing in models + Ipv4 *string `protobuf:"bytes,6,opt,name=ipv4,proto3,oneof" json:"ipv4,omitempty"` + // Description missing in models + Ipv6 *string `protobuf:"bytes,7,opt,name=ipv6,proto3,oneof" json:"ipv6,omitempty"` + // Description missing in models + Hex *string `protobuf:"bytes,8,opt,name=hex,proto3,oneof" json:"hex,omitempty"` +} + +func (x *LObject) Reset() { + *x = LObject{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LObject) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LObject) ProtoMessage() {} + +func (x *LObject) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 LObject.ProtoReflect.Descriptor instead. +func (*LObject) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{14} +} + +func (x *LObject) GetStringParam() string { + if x != nil && x.StringParam != nil { + return *x.StringParam + } + return "" +} + +func (x *LObject) GetInteger() int32 { + if x != nil && x.Integer != nil { + return *x.Integer + } + return 0 +} + +func (x *LObject) GetFloat() float32 { + if x != nil && x.Float != nil { + return *x.Float + } + return 0 +} + +func (x *LObject) GetDouble() float64 { + if x != nil && x.Double != nil { + return *x.Double + } + return 0 +} + +func (x *LObject) GetMac() string { + if x != nil && x.Mac != nil { + return *x.Mac + } + return "" +} + +func (x *LObject) GetIpv4() string { + if x != nil && x.Ipv4 != nil { + return *x.Ipv4 + } + return "" +} + +func (x *LObject) GetIpv6() string { + if x != nil && x.Ipv6 != nil { + return *x.Ipv6 + } + return "" +} + +func (x *LObject) GetHex() string { + if x != nil && x.Hex != nil { + return *x.Hex + } + return "" +} + +// Required format validation object +type MObject struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // required = true + StringParam string `protobuf:"bytes,1,opt,name=string_param,json=stringParam,proto3" json:"string_param,omitempty"` + // Description missing in models + // required = true + Integer int32 `protobuf:"varint,2,opt,name=integer,proto3" json:"integer,omitempty"` + // Description missing in models + // required = true + Float float32 `protobuf:"fixed32,3,opt,name=float,proto3" json:"float,omitempty"` + // Description missing in models + // required = true + Double float64 `protobuf:"fixed64,4,opt,name=double,proto3" json:"double,omitempty"` + // Description missing in models + // required = true + Mac string `protobuf:"bytes,5,opt,name=mac,proto3" json:"mac,omitempty"` + // Description missing in models + // required = true + Ipv4 string `protobuf:"bytes,6,opt,name=ipv4,proto3" json:"ipv4,omitempty"` + // Description missing in models + // required = true + Ipv6 string `protobuf:"bytes,7,opt,name=ipv6,proto3" json:"ipv6,omitempty"` + // Description missing in models + // required = true + Hex string `protobuf:"bytes,8,opt,name=hex,proto3" json:"hex,omitempty"` +} + +func (x *MObject) Reset() { + *x = MObject{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MObject) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MObject) ProtoMessage() {} + +func (x *MObject) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 MObject.ProtoReflect.Descriptor instead. +func (*MObject) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{15} +} + +func (x *MObject) GetStringParam() string { + if x != nil { + return x.StringParam + } + return "" +} + +func (x *MObject) GetInteger() int32 { + if x != nil { + return x.Integer + } + return 0 +} + +func (x *MObject) GetFloat() float32 { + if x != nil { + return x.Float + } + return 0 +} + +func (x *MObject) GetDouble() float64 { + if x != nil { + return x.Double + } + return 0 +} + +func (x *MObject) GetMac() string { + if x != nil { + return x.Mac + } + return "" +} + +func (x *MObject) GetIpv4() string { + if x != nil { + return x.Ipv4 + } + return "" +} + +func (x *MObject) GetIpv6() string { + if x != nil { + return x.Ipv6 + } + return "" +} + +func (x *MObject) GetHex() string { + if x != nil { + return x.Hex + } + return "" +} + +// Object to Test required Parameter +type Mandate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // required = true + RequiredParam string `protobuf:"bytes,1,opt,name=required_param,json=requiredParam,proto3" json:"required_param,omitempty"` +} + +func (x *Mandate) Reset() { + *x = Mandate{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Mandate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Mandate) ProtoMessage() {} + +func (x *Mandate) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 Mandate.ProtoReflect.Descriptor instead. +func (*Mandate) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{16} +} + +func (x *Mandate) GetRequiredParam() string { + if x != nil { + return x.RequiredParam + } + return "" +} + +// Under Review: the whole schema is being reviewed +// +// Object to Test required Parameter +type UpdateConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of objects with choice and properties + G []*GObject `protobuf:"bytes,1,rep,name=g,proto3" json:"g,omitempty"` +} + +func (x *UpdateConfig) Reset() { + *x = UpdateConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateConfig) ProtoMessage() {} + +func (x *UpdateConfig) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 UpdateConfig.ProtoReflect.Descriptor instead. +func (*UpdateConfig) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{17} +} + +func (x *UpdateConfig) GetG() []*GObject { + if x != nil { + return x.G + } + return nil +} + +// Description missing in models +type MetricsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // default = Choice.Enum.port + Choice *MetricsRequest_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=openapi.MetricsRequest_Choice_Enum,oneof" json:"choice,omitempty"` + // Description missing in models + Port *string `protobuf:"bytes,2,opt,name=port,proto3,oneof" json:"port,omitempty"` + // Description missing in models + Flow *string `protobuf:"bytes,3,opt,name=flow,proto3,oneof" json:"flow,omitempty"` +} + +func (x *MetricsRequest) Reset() { + *x = MetricsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MetricsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MetricsRequest) ProtoMessage() {} + +func (x *MetricsRequest) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 MetricsRequest.ProtoReflect.Descriptor instead. +func (*MetricsRequest) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{18} +} + +func (x *MetricsRequest) GetChoice() MetricsRequest_Choice_Enum { + if x != nil && x.Choice != nil { + return *x.Choice + } + return MetricsRequest_Choice_unspecified +} + +func (x *MetricsRequest) GetPort() string { + if x != nil && x.Port != nil { + return *x.Port + } + return "" +} + +func (x *MetricsRequest) GetFlow() string { + if x != nil && x.Flow != nil { + return *x.Flow + } + return "" +} + +// Description missing in models +type Metrics struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // default = Choice.Enum.ports + Choice *Metrics_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=openapi.Metrics_Choice_Enum,oneof" json:"choice,omitempty"` + // Description missing in models + Ports []*PortMetric `protobuf:"bytes,2,rep,name=ports,proto3" json:"ports,omitempty"` + // Description missing in models + Flows []*FlowMetric `protobuf:"bytes,3,rep,name=flows,proto3" json:"flows,omitempty"` +} + +func (x *Metrics) Reset() { + *x = Metrics{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Metrics) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Metrics) ProtoMessage() {} + +func (x *Metrics) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 Metrics.ProtoReflect.Descriptor instead. +func (*Metrics) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{19} +} + +func (x *Metrics) GetChoice() Metrics_Choice_Enum { + if x != nil && x.Choice != nil { + return *x.Choice + } + return Metrics_Choice_unspecified +} + +func (x *Metrics) GetPorts() []*PortMetric { + if x != nil { + return x.Ports + } + return nil +} + +func (x *Metrics) GetFlows() []*FlowMetric { + if x != nil { + return x.Flows + } + return nil +} + +// Description missing in models +type PortMetric struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // required = true + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Description missing in models + // required = true + TxFrames float64 `protobuf:"fixed64,2,opt,name=tx_frames,json=txFrames,proto3" json:"tx_frames,omitempty"` + // Description missing in models + // required = true + RxFrames float64 `protobuf:"fixed64,3,opt,name=rx_frames,json=rxFrames,proto3" json:"rx_frames,omitempty"` +} + +func (x *PortMetric) Reset() { + *x = PortMetric{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PortMetric) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PortMetric) ProtoMessage() {} + +func (x *PortMetric) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 PortMetric.ProtoReflect.Descriptor instead. +func (*PortMetric) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{20} +} + +func (x *PortMetric) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *PortMetric) GetTxFrames() float64 { + if x != nil { + return x.TxFrames + } + return 0 +} + +func (x *PortMetric) GetRxFrames() float64 { + if x != nil { + return x.RxFrames + } + return 0 +} + +// Description missing in models +type FlowMetric struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // required = true + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Description missing in models + // required = true + TxFrames float64 `protobuf:"fixed64,2,opt,name=tx_frames,json=txFrames,proto3" json:"tx_frames,omitempty"` + // Description missing in models + // required = true + RxFrames float64 `protobuf:"fixed64,3,opt,name=rx_frames,json=rxFrames,proto3" json:"rx_frames,omitempty"` +} + +func (x *FlowMetric) Reset() { + *x = FlowMetric{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FlowMetric) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FlowMetric) ProtoMessage() {} + +func (x *FlowMetric) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 FlowMetric.ProtoReflect.Descriptor instead. +func (*FlowMetric) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{21} +} + +func (x *FlowMetric) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *FlowMetric) GetTxFrames() float64 { + if x != nil { + return x.TxFrames + } + return 0 +} + +func (x *FlowMetric) GetRxFrames() float64 { + if x != nil { + return x.RxFrames + } + return 0 +} + +// Description missing in models +type RequiredChoiceParent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // required = true + Choice RequiredChoiceParent_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=openapi.RequiredChoiceParent_Choice_Enum" json:"choice,omitempty"` + // Description missing in models + IntermediateObj *RequiredChoiceIntermediate `protobuf:"bytes,2,opt,name=intermediate_obj,json=intermediateObj,proto3,oneof" json:"intermediate_obj,omitempty"` +} + +func (x *RequiredChoiceParent) Reset() { + *x = RequiredChoiceParent{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RequiredChoiceParent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RequiredChoiceParent) ProtoMessage() {} + +func (x *RequiredChoiceParent) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 RequiredChoiceParent.ProtoReflect.Descriptor instead. +func (*RequiredChoiceParent) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{22} +} + +func (x *RequiredChoiceParent) GetChoice() RequiredChoiceParent_Choice_Enum { + if x != nil { + return x.Choice + } + return RequiredChoiceParent_Choice_unspecified +} + +func (x *RequiredChoiceParent) GetIntermediateObj() *RequiredChoiceIntermediate { + if x != nil { + return x.IntermediateObj + } + return nil +} + +// Description missing in models +type RequiredChoiceIntermediate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // required = true + Choice RequiredChoiceIntermediate_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=openapi.RequiredChoiceIntermediate_Choice_Enum" json:"choice,omitempty"` + // Description missing in models + // default = some string + FA *string `protobuf:"bytes,2,opt,name=f_a,json=fA,proto3,oneof" json:"f_a,omitempty"` + // Description missing in models + Leaf *RequiredChoiceIntermeLeaf `protobuf:"bytes,3,opt,name=leaf,proto3,oneof" json:"leaf,omitempty"` +} + +func (x *RequiredChoiceIntermediate) Reset() { + *x = RequiredChoiceIntermediate{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RequiredChoiceIntermediate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RequiredChoiceIntermediate) ProtoMessage() {} + +func (x *RequiredChoiceIntermediate) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 RequiredChoiceIntermediate.ProtoReflect.Descriptor instead. +func (*RequiredChoiceIntermediate) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{23} +} + +func (x *RequiredChoiceIntermediate) GetChoice() RequiredChoiceIntermediate_Choice_Enum { + if x != nil { + return x.Choice + } + return RequiredChoiceIntermediate_Choice_unspecified +} + +func (x *RequiredChoiceIntermediate) GetFA() string { + if x != nil && x.FA != nil { + return *x.FA + } + return "" +} + +func (x *RequiredChoiceIntermediate) GetLeaf() *RequiredChoiceIntermeLeaf { + if x != nil { + return x.Leaf + } + return nil +} + +// Description missing in models +type RequiredChoiceIntermeLeaf struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + Name *string `protobuf:"bytes,1,opt,name=name,proto3,oneof" json:"name,omitempty"` +} + +func (x *RequiredChoiceIntermeLeaf) Reset() { + *x = RequiredChoiceIntermeLeaf{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RequiredChoiceIntermeLeaf) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RequiredChoiceIntermeLeaf) ProtoMessage() {} + +func (x *RequiredChoiceIntermeLeaf) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 RequiredChoiceIntermeLeaf.ProtoReflect.Descriptor instead. +func (*RequiredChoiceIntermeLeaf) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{24} +} + +func (x *RequiredChoiceIntermeLeaf) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +// To Test Multi level non-primitive types +type LevelOne struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Level one + L1P1 *LevelTwo `protobuf:"bytes,1,opt,name=l1_p1,json=l1P1,proto3,oneof" json:"l1_p1,omitempty"` + // Level one to four + L1P2 *LevelFour `protobuf:"bytes,2,opt,name=l1_p2,json=l1P2,proto3,oneof" json:"l1_p2,omitempty"` +} + +func (x *LevelOne) Reset() { + *x = LevelOne{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LevelOne) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LevelOne) ProtoMessage() {} + +func (x *LevelOne) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 LevelOne.ProtoReflect.Descriptor instead. +func (*LevelOne) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{25} +} + +func (x *LevelOne) GetL1P1() *LevelTwo { + if x != nil { + return x.L1P1 + } + return nil +} + +func (x *LevelOne) GetL1P2() *LevelFour { + if x != nil { + return x.L1P2 + } + return nil +} + +// Test Level 2 +type LevelTwo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Level Two + L2P1 *LevelThree `protobuf:"bytes,1,opt,name=l2_p1,json=l2P1,proto3,oneof" json:"l2_p1,omitempty"` +} + +func (x *LevelTwo) Reset() { + *x = LevelTwo{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LevelTwo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LevelTwo) ProtoMessage() {} + +func (x *LevelTwo) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 LevelTwo.ProtoReflect.Descriptor instead. +func (*LevelTwo) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{26} +} + +func (x *LevelTwo) GetL2P1() *LevelThree { + if x != nil { + return x.L2P1 + } + return nil +} + +// Test Level3 +type LevelThree struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Set value at Level 3 + L3P1 *string `protobuf:"bytes,1,opt,name=l3_p1,json=l3P1,proto3,oneof" json:"l3_p1,omitempty"` +} + +func (x *LevelThree) Reset() { + *x = LevelThree{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LevelThree) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LevelThree) ProtoMessage() {} + +func (x *LevelThree) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 LevelThree.ProtoReflect.Descriptor instead. +func (*LevelThree) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{27} +} + +func (x *LevelThree) GetL3P1() string { + if x != nil && x.L3P1 != nil { + return *x.L3P1 + } + return "" +} + +// Test level4 redundant junk testing +type LevelFour struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // loop over level 1 + L4P1 *LevelOne `protobuf:"bytes,1,opt,name=l4_p1,json=l4P1,proto3,oneof" json:"l4_p1,omitempty"` +} + +func (x *LevelFour) Reset() { + *x = LevelFour{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LevelFour) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LevelFour) ProtoMessage() {} + +func (x *LevelFour) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 LevelFour.ProtoReflect.Descriptor instead. +func (*LevelFour) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{28} +} + +func (x *LevelFour) GetL4P1() *LevelOne { + if x != nil { + return x.L4P1 + } + return nil +} + +// Test ipv4 pattern +type Ipv4Pattern struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + Ipv4 *PatternIpv4PatternIpv4 `protobuf:"bytes,1,opt,name=ipv4,proto3,oneof" json:"ipv4,omitempty"` +} + +func (x *Ipv4Pattern) Reset() { + *x = Ipv4Pattern{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Ipv4Pattern) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Ipv4Pattern) ProtoMessage() {} + +func (x *Ipv4Pattern) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 Ipv4Pattern.ProtoReflect.Descriptor instead. +func (*Ipv4Pattern) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{29} +} + +func (x *Ipv4Pattern) GetIpv4() *PatternIpv4PatternIpv4 { + if x != nil { + return x.Ipv4 + } + return nil +} + +// Test ipv6 pattern +type Ipv6Pattern struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + Ipv6 *PatternIpv6PatternIpv6 `protobuf:"bytes,1,opt,name=ipv6,proto3,oneof" json:"ipv6,omitempty"` +} + +func (x *Ipv6Pattern) Reset() { + *x = Ipv6Pattern{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Ipv6Pattern) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Ipv6Pattern) ProtoMessage() {} + +func (x *Ipv6Pattern) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 Ipv6Pattern.ProtoReflect.Descriptor instead. +func (*Ipv6Pattern) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{30} +} + +func (x *Ipv6Pattern) GetIpv6() *PatternIpv6PatternIpv6 { + if x != nil { + return x.Ipv6 + } + return nil +} + +// Test mac pattern +type MacPattern struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + Mac *PatternMacPatternMac `protobuf:"bytes,1,opt,name=mac,proto3,oneof" json:"mac,omitempty"` +} + +func (x *MacPattern) Reset() { + *x = MacPattern{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MacPattern) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MacPattern) ProtoMessage() {} + +func (x *MacPattern) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 MacPattern.ProtoReflect.Descriptor instead. +func (*MacPattern) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{31} +} + +func (x *MacPattern) GetMac() *PatternMacPatternMac { + if x != nil { + return x.Mac + } + return nil +} + +// Test integer pattern +type IntegerPattern struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + Integer *PatternIntegerPatternInteger `protobuf:"bytes,1,opt,name=integer,proto3,oneof" json:"integer,omitempty"` +} + +func (x *IntegerPattern) Reset() { + *x = IntegerPattern{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IntegerPattern) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IntegerPattern) ProtoMessage() {} + +func (x *IntegerPattern) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 IntegerPattern.ProtoReflect.Descriptor instead. +func (*IntegerPattern) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{32} +} + +func (x *IntegerPattern) GetInteger() *PatternIntegerPatternInteger { + if x != nil { + return x.Integer + } + return nil +} + +// Test checksum pattern +type ChecksumPattern struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + Checksum *PatternChecksumPatternChecksum `protobuf:"bytes,1,opt,name=checksum,proto3,oneof" json:"checksum,omitempty"` +} + +func (x *ChecksumPattern) Reset() { + *x = ChecksumPattern{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChecksumPattern) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChecksumPattern) ProtoMessage() {} + +func (x *ChecksumPattern) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 ChecksumPattern.ProtoReflect.Descriptor instead. +func (*ChecksumPattern) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{33} +} + +func (x *ChecksumPattern) GetChecksum() *PatternChecksumPatternChecksum { + if x != nil { + return x.Checksum + } + return nil +} + +// Description missing in models +type CommonResponseSuccess struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + Message *string `protobuf:"bytes,1,opt,name=message,proto3,oneof" json:"message,omitempty"` +} + +func (x *CommonResponseSuccess) Reset() { + *x = CommonResponseSuccess{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommonResponseSuccess) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommonResponseSuccess) ProtoMessage() {} + +func (x *CommonResponseSuccess) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 CommonResponseSuccess.ProtoReflect.Descriptor instead. +func (*CommonResponseSuccess) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{34} +} + +func (x *CommonResponseSuccess) GetMessage() string { + if x != nil && x.Message != nil { + return *x.Message + } + return "" +} + +// Description missing in models +type ApiTestInputBody struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + SomeString *string `protobuf:"bytes,1,opt,name=some_string,json=someString,proto3,oneof" json:"some_string,omitempty"` +} + +func (x *ApiTestInputBody) Reset() { + *x = ApiTestInputBody{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApiTestInputBody) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApiTestInputBody) ProtoMessage() {} + +func (x *ApiTestInputBody) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 ApiTestInputBody.ProtoReflect.Descriptor instead. +func (*ApiTestInputBody) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{35} +} + +func (x *ApiTestInputBody) GetSomeString() string { + if x != nil && x.SomeString != nil { + return *x.SomeString + } + return "" +} + +// Description missing in models +type ServiceAbcItem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + SomeId *string `protobuf:"bytes,1,opt,name=some_id,json=someId,proto3,oneof" json:"some_id,omitempty"` + // Description missing in models + SomeString *string `protobuf:"bytes,2,opt,name=some_string,json=someString,proto3,oneof" json:"some_string,omitempty"` + // Description missing in models + PathId *string `protobuf:"bytes,3,opt,name=path_id,json=pathId,proto3,oneof" json:"path_id,omitempty"` + // Description missing in models + Level_2 *string `protobuf:"bytes,4,opt,name=level_2,json=level2,proto3,oneof" json:"level_2,omitempty"` +} + +func (x *ServiceAbcItem) Reset() { + *x = ServiceAbcItem{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServiceAbcItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServiceAbcItem) ProtoMessage() {} + +func (x *ServiceAbcItem) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 ServiceAbcItem.ProtoReflect.Descriptor instead. +func (*ServiceAbcItem) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{36} +} + +func (x *ServiceAbcItem) GetSomeId() string { + if x != nil && x.SomeId != nil { + return *x.SomeId + } + return "" +} + +func (x *ServiceAbcItem) GetSomeString() string { + if x != nil && x.SomeString != nil { + return *x.SomeString + } + return "" +} + +func (x *ServiceAbcItem) GetPathId() string { + if x != nil && x.PathId != nil { + return *x.PathId + } + return "" +} + +func (x *ServiceAbcItem) GetLevel_2() string { + if x != nil && x.Level_2 != nil { + return *x.Level_2 + } + return "" +} + +// Description missing in models +type ServiceAbcItemList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + Items []*ServiceAbcItem `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` +} + +func (x *ServiceAbcItemList) Reset() { + *x = ServiceAbcItemList{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ServiceAbcItemList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServiceAbcItemList) ProtoMessage() {} + +func (x *ServiceAbcItemList) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 ServiceAbcItemList.ProtoReflect.Descriptor instead. +func (*ServiceAbcItemList) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{37} +} + +func (x *ServiceAbcItemList) GetItems() []*ServiceAbcItem { + if x != nil { + return x.Items + } + return nil +} + +// Header checksum +type PatternPrefixConfigHeaderChecksum struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The type of checksum + // default = Choice.Enum.generated + Choice *PatternPrefixConfigHeaderChecksum_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=openapi.PatternPrefixConfigHeaderChecksum_Choice_Enum,oneof" json:"choice,omitempty"` + // A system generated checksum value + // default = Generated.Enum.good + Generated *PatternPrefixConfigHeaderChecksum_Generated_Enum `protobuf:"varint,2,opt,name=generated,proto3,enum=openapi.PatternPrefixConfigHeaderChecksum_Generated_Enum,oneof" json:"generated,omitempty"` + // A custom checksum value + Custom *uint32 `protobuf:"varint,3,opt,name=custom,proto3,oneof" json:"custom,omitempty"` +} + +func (x *PatternPrefixConfigHeaderChecksum) Reset() { + *x = PatternPrefixConfigHeaderChecksum{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternPrefixConfigHeaderChecksum) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternPrefixConfigHeaderChecksum) ProtoMessage() {} + +func (x *PatternPrefixConfigHeaderChecksum) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 PatternPrefixConfigHeaderChecksum.ProtoReflect.Descriptor instead. +func (*PatternPrefixConfigHeaderChecksum) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{38} +} + +func (x *PatternPrefixConfigHeaderChecksum) GetChoice() PatternPrefixConfigHeaderChecksum_Choice_Enum { + if x != nil && x.Choice != nil { + return *x.Choice + } + return PatternPrefixConfigHeaderChecksum_Choice_unspecified +} + +func (x *PatternPrefixConfigHeaderChecksum) GetGenerated() PatternPrefixConfigHeaderChecksum_Generated_Enum { + if x != nil && x.Generated != nil { + return *x.Generated + } + return PatternPrefixConfigHeaderChecksum_Generated_unspecified +} + +func (x *PatternPrefixConfigHeaderChecksum) GetCustom() uint32 { + if x != nil && x.Custom != nil { + return *x.Custom + } + return 0 +} + +// integer counter pattern +type PatternPrefixConfigAutoFieldTestCounter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // default = 0 + Start *uint32 `protobuf:"varint,1,opt,name=start,proto3,oneof" json:"start,omitempty"` + // Description missing in models + // default = 1 + Step *uint32 `protobuf:"varint,2,opt,name=step,proto3,oneof" json:"step,omitempty"` + // Description missing in models + // default = 1 + Count *uint32 `protobuf:"varint,3,opt,name=count,proto3,oneof" json:"count,omitempty"` +} + +func (x *PatternPrefixConfigAutoFieldTestCounter) Reset() { + *x = PatternPrefixConfigAutoFieldTestCounter{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternPrefixConfigAutoFieldTestCounter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternPrefixConfigAutoFieldTestCounter) ProtoMessage() {} + +func (x *PatternPrefixConfigAutoFieldTestCounter) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 PatternPrefixConfigAutoFieldTestCounter.ProtoReflect.Descriptor instead. +func (*PatternPrefixConfigAutoFieldTestCounter) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{39} +} + +func (x *PatternPrefixConfigAutoFieldTestCounter) GetStart() uint32 { + if x != nil && x.Start != nil { + return *x.Start + } + return 0 +} + +func (x *PatternPrefixConfigAutoFieldTestCounter) GetStep() uint32 { + if x != nil && x.Step != nil { + return *x.Step + } + return 0 +} + +func (x *PatternPrefixConfigAutoFieldTestCounter) GetCount() uint32 { + if x != nil && x.Count != nil { + return *x.Count + } + return 0 +} + +// TBD +type PatternPrefixConfigAutoFieldTest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // default = Choice.Enum.auto + Choice *PatternPrefixConfigAutoFieldTest_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=openapi.PatternPrefixConfigAutoFieldTest_Choice_Enum,oneof" json:"choice,omitempty"` + // Description missing in models + // default = 0 + Value *uint32 `protobuf:"varint,2,opt,name=value,proto3,oneof" json:"value,omitempty"` + // Description missing in models + // default = [0] + Values []uint32 `protobuf:"varint,3,rep,packed,name=values,proto3" json:"values,omitempty"` + // The OTG implementation can provide a system generated + // value for this property. If the OTG is unable to generate a value + // the default value must be used. + // default = 0 + Auto *uint32 `protobuf:"varint,4,opt,name=auto,proto3,oneof" json:"auto,omitempty"` + // Description missing in models + Increment *PatternPrefixConfigAutoFieldTestCounter `protobuf:"bytes,6,opt,name=increment,proto3,oneof" json:"increment,omitempty"` + // Description missing in models + Decrement *PatternPrefixConfigAutoFieldTestCounter `protobuf:"bytes,7,opt,name=decrement,proto3,oneof" json:"decrement,omitempty"` +} + +func (x *PatternPrefixConfigAutoFieldTest) Reset() { + *x = PatternPrefixConfigAutoFieldTest{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternPrefixConfigAutoFieldTest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternPrefixConfigAutoFieldTest) ProtoMessage() {} + +func (x *PatternPrefixConfigAutoFieldTest) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 PatternPrefixConfigAutoFieldTest.ProtoReflect.Descriptor instead. +func (*PatternPrefixConfigAutoFieldTest) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{40} +} + +func (x *PatternPrefixConfigAutoFieldTest) GetChoice() PatternPrefixConfigAutoFieldTest_Choice_Enum { + if x != nil && x.Choice != nil { + return *x.Choice + } + return PatternPrefixConfigAutoFieldTest_Choice_unspecified +} + +func (x *PatternPrefixConfigAutoFieldTest) GetValue() uint32 { + if x != nil && x.Value != nil { + return *x.Value + } + return 0 +} + +func (x *PatternPrefixConfigAutoFieldTest) GetValues() []uint32 { + if x != nil { + return x.Values + } + return nil +} + +func (x *PatternPrefixConfigAutoFieldTest) GetAuto() uint32 { + if x != nil && x.Auto != nil { + return *x.Auto + } + return 0 +} + +func (x *PatternPrefixConfigAutoFieldTest) GetIncrement() *PatternPrefixConfigAutoFieldTestCounter { + if x != nil { + return x.Increment + } + return nil +} + +func (x *PatternPrefixConfigAutoFieldTest) GetDecrement() *PatternPrefixConfigAutoFieldTestCounter { + if x != nil { + return x.Decrement + } + return nil +} + +// ipv4 counter pattern +type PatternIpv4PatternIpv4Counter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // default = 0.0.0.0 + Start *string `protobuf:"bytes,1,opt,name=start,proto3,oneof" json:"start,omitempty"` + // Description missing in models + // default = 0.0.0.1 + Step *string `protobuf:"bytes,2,opt,name=step,proto3,oneof" json:"step,omitempty"` + // Description missing in models + // default = 1 + Count *uint32 `protobuf:"varint,3,opt,name=count,proto3,oneof" json:"count,omitempty"` +} + +func (x *PatternIpv4PatternIpv4Counter) Reset() { + *x = PatternIpv4PatternIpv4Counter{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternIpv4PatternIpv4Counter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternIpv4PatternIpv4Counter) ProtoMessage() {} + +func (x *PatternIpv4PatternIpv4Counter) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 PatternIpv4PatternIpv4Counter.ProtoReflect.Descriptor instead. +func (*PatternIpv4PatternIpv4Counter) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{41} +} + +func (x *PatternIpv4PatternIpv4Counter) GetStart() string { + if x != nil && x.Start != nil { + return *x.Start + } + return "" +} + +func (x *PatternIpv4PatternIpv4Counter) GetStep() string { + if x != nil && x.Step != nil { + return *x.Step + } + return "" +} + +func (x *PatternIpv4PatternIpv4Counter) GetCount() uint32 { + if x != nil && x.Count != nil { + return *x.Count + } + return 0 +} + +// TBD +type PatternIpv4PatternIpv4 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // default = Choice.Enum.value + Choice *PatternIpv4PatternIpv4_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=openapi.PatternIpv4PatternIpv4_Choice_Enum,oneof" json:"choice,omitempty"` + // Description missing in models + // default = 0.0.0.0 + Value *string `protobuf:"bytes,2,opt,name=value,proto3,oneof" json:"value,omitempty"` + // Description missing in models + // default = ['0.0.0.0'] + Values []string `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"` + // Description missing in models + Increment *PatternIpv4PatternIpv4Counter `protobuf:"bytes,5,opt,name=increment,proto3,oneof" json:"increment,omitempty"` + // Description missing in models + Decrement *PatternIpv4PatternIpv4Counter `protobuf:"bytes,6,opt,name=decrement,proto3,oneof" json:"decrement,omitempty"` +} + +func (x *PatternIpv4PatternIpv4) Reset() { + *x = PatternIpv4PatternIpv4{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternIpv4PatternIpv4) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternIpv4PatternIpv4) ProtoMessage() {} + +func (x *PatternIpv4PatternIpv4) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 PatternIpv4PatternIpv4.ProtoReflect.Descriptor instead. +func (*PatternIpv4PatternIpv4) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{42} +} + +func (x *PatternIpv4PatternIpv4) GetChoice() PatternIpv4PatternIpv4_Choice_Enum { + if x != nil && x.Choice != nil { + return *x.Choice + } + return PatternIpv4PatternIpv4_Choice_unspecified +} + +func (x *PatternIpv4PatternIpv4) GetValue() string { + if x != nil && x.Value != nil { + return *x.Value + } + return "" +} + +func (x *PatternIpv4PatternIpv4) GetValues() []string { + if x != nil { + return x.Values + } + return nil +} + +func (x *PatternIpv4PatternIpv4) GetIncrement() *PatternIpv4PatternIpv4Counter { + if x != nil { + return x.Increment + } + return nil +} + +func (x *PatternIpv4PatternIpv4) GetDecrement() *PatternIpv4PatternIpv4Counter { + if x != nil { + return x.Decrement + } + return nil +} + +// ipv6 counter pattern +type PatternIpv6PatternIpv6Counter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // default = :: + Start *string `protobuf:"bytes,1,opt,name=start,proto3,oneof" json:"start,omitempty"` + // Description missing in models + // default = ::1 + Step *string `protobuf:"bytes,2,opt,name=step,proto3,oneof" json:"step,omitempty"` + // Description missing in models + // default = 1 + Count *uint32 `protobuf:"varint,3,opt,name=count,proto3,oneof" json:"count,omitempty"` +} + +func (x *PatternIpv6PatternIpv6Counter) Reset() { + *x = PatternIpv6PatternIpv6Counter{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternIpv6PatternIpv6Counter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternIpv6PatternIpv6Counter) ProtoMessage() {} + +func (x *PatternIpv6PatternIpv6Counter) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 PatternIpv6PatternIpv6Counter.ProtoReflect.Descriptor instead. +func (*PatternIpv6PatternIpv6Counter) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{43} +} + +func (x *PatternIpv6PatternIpv6Counter) GetStart() string { + if x != nil && x.Start != nil { + return *x.Start + } + return "" +} + +func (x *PatternIpv6PatternIpv6Counter) GetStep() string { + if x != nil && x.Step != nil { + return *x.Step + } + return "" +} + +func (x *PatternIpv6PatternIpv6Counter) GetCount() uint32 { + if x != nil && x.Count != nil { + return *x.Count + } + return 0 +} + +// TBD +type PatternIpv6PatternIpv6 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // default = Choice.Enum.value + Choice *PatternIpv6PatternIpv6_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=openapi.PatternIpv6PatternIpv6_Choice_Enum,oneof" json:"choice,omitempty"` + // Description missing in models + // default = :: + Value *string `protobuf:"bytes,2,opt,name=value,proto3,oneof" json:"value,omitempty"` + // Description missing in models + // default = ['::'] + Values []string `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"` + // Description missing in models + Increment *PatternIpv6PatternIpv6Counter `protobuf:"bytes,5,opt,name=increment,proto3,oneof" json:"increment,omitempty"` + // Description missing in models + Decrement *PatternIpv6PatternIpv6Counter `protobuf:"bytes,6,opt,name=decrement,proto3,oneof" json:"decrement,omitempty"` +} + +func (x *PatternIpv6PatternIpv6) Reset() { + *x = PatternIpv6PatternIpv6{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternIpv6PatternIpv6) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternIpv6PatternIpv6) ProtoMessage() {} + +func (x *PatternIpv6PatternIpv6) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 PatternIpv6PatternIpv6.ProtoReflect.Descriptor instead. +func (*PatternIpv6PatternIpv6) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{44} +} + +func (x *PatternIpv6PatternIpv6) GetChoice() PatternIpv6PatternIpv6_Choice_Enum { + if x != nil && x.Choice != nil { + return *x.Choice + } + return PatternIpv6PatternIpv6_Choice_unspecified +} + +func (x *PatternIpv6PatternIpv6) GetValue() string { + if x != nil && x.Value != nil { + return *x.Value + } + return "" +} + +func (x *PatternIpv6PatternIpv6) GetValues() []string { + if x != nil { + return x.Values + } + return nil +} + +func (x *PatternIpv6PatternIpv6) GetIncrement() *PatternIpv6PatternIpv6Counter { + if x != nil { + return x.Increment + } + return nil +} + +func (x *PatternIpv6PatternIpv6) GetDecrement() *PatternIpv6PatternIpv6Counter { + if x != nil { + return x.Decrement + } + return nil +} + +// mac counter pattern +type PatternMacPatternMacCounter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // default = 00:00:00:00:00:00 + Start *string `protobuf:"bytes,1,opt,name=start,proto3,oneof" json:"start,omitempty"` + // Description missing in models + // default = 00:00:00:00:00:01 + Step *string `protobuf:"bytes,2,opt,name=step,proto3,oneof" json:"step,omitempty"` + // Description missing in models + // default = 1 + Count *uint32 `protobuf:"varint,3,opt,name=count,proto3,oneof" json:"count,omitempty"` +} + +func (x *PatternMacPatternMacCounter) Reset() { + *x = PatternMacPatternMacCounter{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternMacPatternMacCounter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternMacPatternMacCounter) ProtoMessage() {} + +func (x *PatternMacPatternMacCounter) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 PatternMacPatternMacCounter.ProtoReflect.Descriptor instead. +func (*PatternMacPatternMacCounter) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{45} +} + +func (x *PatternMacPatternMacCounter) GetStart() string { + if x != nil && x.Start != nil { + return *x.Start + } + return "" +} + +func (x *PatternMacPatternMacCounter) GetStep() string { + if x != nil && x.Step != nil { + return *x.Step + } + return "" +} + +func (x *PatternMacPatternMacCounter) GetCount() uint32 { + if x != nil && x.Count != nil { + return *x.Count + } + return 0 +} + +// TBD +type PatternMacPatternMac struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // default = Choice.Enum.auto + Choice *PatternMacPatternMac_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=openapi.PatternMacPatternMac_Choice_Enum,oneof" json:"choice,omitempty"` + // Description missing in models + // default = 00:00:00:00:00:00 + Value *string `protobuf:"bytes,2,opt,name=value,proto3,oneof" json:"value,omitempty"` + // Description missing in models + // default = ['00:00:00:00:00:00'] + Values []string `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"` + // The OTG implementation can provide a system generated + // value for this property. If the OTG is unable to generate a value + // the default value must be used. + // default = 00:00:00:00:00:00 + Auto *string `protobuf:"bytes,4,opt,name=auto,proto3,oneof" json:"auto,omitempty"` + // Description missing in models + Increment *PatternMacPatternMacCounter `protobuf:"bytes,6,opt,name=increment,proto3,oneof" json:"increment,omitempty"` + // Description missing in models + Decrement *PatternMacPatternMacCounter `protobuf:"bytes,7,opt,name=decrement,proto3,oneof" json:"decrement,omitempty"` +} + +func (x *PatternMacPatternMac) Reset() { + *x = PatternMacPatternMac{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternMacPatternMac) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternMacPatternMac) ProtoMessage() {} + +func (x *PatternMacPatternMac) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 PatternMacPatternMac.ProtoReflect.Descriptor instead. +func (*PatternMacPatternMac) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{46} +} + +func (x *PatternMacPatternMac) GetChoice() PatternMacPatternMac_Choice_Enum { + if x != nil && x.Choice != nil { + return *x.Choice + } + return PatternMacPatternMac_Choice_unspecified +} + +func (x *PatternMacPatternMac) GetValue() string { + if x != nil && x.Value != nil { + return *x.Value + } + return "" +} + +func (x *PatternMacPatternMac) GetValues() []string { + if x != nil { + return x.Values + } + return nil +} + +func (x *PatternMacPatternMac) GetAuto() string { + if x != nil && x.Auto != nil { + return *x.Auto + } + return "" +} + +func (x *PatternMacPatternMac) GetIncrement() *PatternMacPatternMacCounter { + if x != nil { + return x.Increment + } + return nil +} + +func (x *PatternMacPatternMac) GetDecrement() *PatternMacPatternMacCounter { + if x != nil { + return x.Decrement + } + return nil +} + +// integer counter pattern +type PatternIntegerPatternIntegerCounter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // default = 0 + Start *uint32 `protobuf:"varint,1,opt,name=start,proto3,oneof" json:"start,omitempty"` + // Description missing in models + // default = 1 + Step *uint32 `protobuf:"varint,2,opt,name=step,proto3,oneof" json:"step,omitempty"` + // Description missing in models + // default = 1 + Count *uint32 `protobuf:"varint,3,opt,name=count,proto3,oneof" json:"count,omitempty"` +} + +func (x *PatternIntegerPatternIntegerCounter) Reset() { + *x = PatternIntegerPatternIntegerCounter{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternIntegerPatternIntegerCounter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternIntegerPatternIntegerCounter) ProtoMessage() {} + +func (x *PatternIntegerPatternIntegerCounter) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 PatternIntegerPatternIntegerCounter.ProtoReflect.Descriptor instead. +func (*PatternIntegerPatternIntegerCounter) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{47} +} + +func (x *PatternIntegerPatternIntegerCounter) GetStart() uint32 { + if x != nil && x.Start != nil { + return *x.Start + } + return 0 +} + +func (x *PatternIntegerPatternIntegerCounter) GetStep() uint32 { + if x != nil && x.Step != nil { + return *x.Step + } + return 0 +} + +func (x *PatternIntegerPatternIntegerCounter) GetCount() uint32 { + if x != nil && x.Count != nil { + return *x.Count + } + return 0 +} + +// TBD +type PatternIntegerPatternInteger struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Description missing in models + // default = Choice.Enum.value + Choice *PatternIntegerPatternInteger_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=openapi.PatternIntegerPatternInteger_Choice_Enum,oneof" json:"choice,omitempty"` + // Description missing in models + // default = 0 + Value *uint32 `protobuf:"varint,2,opt,name=value,proto3,oneof" json:"value,omitempty"` + // Description missing in models + // default = [0] + Values []uint32 `protobuf:"varint,3,rep,packed,name=values,proto3" json:"values,omitempty"` + // Description missing in models + Increment *PatternIntegerPatternIntegerCounter `protobuf:"bytes,5,opt,name=increment,proto3,oneof" json:"increment,omitempty"` + // Description missing in models + Decrement *PatternIntegerPatternIntegerCounter `protobuf:"bytes,6,opt,name=decrement,proto3,oneof" json:"decrement,omitempty"` +} + +func (x *PatternIntegerPatternInteger) Reset() { + *x = PatternIntegerPatternInteger{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternIntegerPatternInteger) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternIntegerPatternInteger) ProtoMessage() {} + +func (x *PatternIntegerPatternInteger) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 PatternIntegerPatternInteger.ProtoReflect.Descriptor instead. +func (*PatternIntegerPatternInteger) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{48} +} + +func (x *PatternIntegerPatternInteger) GetChoice() PatternIntegerPatternInteger_Choice_Enum { + if x != nil && x.Choice != nil { + return *x.Choice + } + return PatternIntegerPatternInteger_Choice_unspecified +} + +func (x *PatternIntegerPatternInteger) GetValue() uint32 { + if x != nil && x.Value != nil { + return *x.Value + } + return 0 +} + +func (x *PatternIntegerPatternInteger) GetValues() []uint32 { + if x != nil { + return x.Values + } + return nil +} + +func (x *PatternIntegerPatternInteger) GetIncrement() *PatternIntegerPatternIntegerCounter { + if x != nil { + return x.Increment + } + return nil +} + +func (x *PatternIntegerPatternInteger) GetDecrement() *PatternIntegerPatternIntegerCounter { + if x != nil { + return x.Decrement + } + return nil +} + +// TBD +type PatternChecksumPatternChecksum struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The type of checksum + // default = Choice.Enum.generated + Choice *PatternChecksumPatternChecksum_Choice_Enum `protobuf:"varint,1,opt,name=choice,proto3,enum=openapi.PatternChecksumPatternChecksum_Choice_Enum,oneof" json:"choice,omitempty"` + // A system generated checksum value + // default = Generated.Enum.good + Generated *PatternChecksumPatternChecksum_Generated_Enum `protobuf:"varint,2,opt,name=generated,proto3,enum=openapi.PatternChecksumPatternChecksum_Generated_Enum,oneof" json:"generated,omitempty"` + // A custom checksum value + Custom *uint32 `protobuf:"varint,3,opt,name=custom,proto3,oneof" json:"custom,omitempty"` +} + +func (x *PatternChecksumPatternChecksum) Reset() { + *x = PatternChecksumPatternChecksum{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternChecksumPatternChecksum) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternChecksumPatternChecksum) ProtoMessage() {} + +func (x *PatternChecksumPatternChecksum) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 PatternChecksumPatternChecksum.ProtoReflect.Descriptor instead. +func (*PatternChecksumPatternChecksum) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{49} +} + +func (x *PatternChecksumPatternChecksum) GetChoice() PatternChecksumPatternChecksum_Choice_Enum { + if x != nil && x.Choice != nil { + return *x.Choice + } + return PatternChecksumPatternChecksum_Choice_unspecified +} + +func (x *PatternChecksumPatternChecksum) GetGenerated() PatternChecksumPatternChecksum_Generated_Enum { + if x != nil && x.Generated != nil { + return *x.Generated + } + return PatternChecksumPatternChecksum_Generated_unspecified +} + +func (x *PatternChecksumPatternChecksum) GetCustom() uint32 { + if x != nil && x.Custom != nil { + return *x.Custom + } + return 0 +} + +// Version details +type Version struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Version of API specification + // default = + ApiSpecVersion *string `protobuf:"bytes,1,opt,name=api_spec_version,json=apiSpecVersion,proto3,oneof" json:"api_spec_version,omitempty"` + // Version of SDK generated from API specification + // default = + SdkVersion *string `protobuf:"bytes,2,opt,name=sdk_version,json=sdkVersion,proto3,oneof" json:"sdk_version,omitempty"` + // Version of application consuming or serving the API + // default = + AppVersion *string `protobuf:"bytes,3,opt,name=app_version,json=appVersion,proto3,oneof" json:"app_version,omitempty"` +} + +func (x *Version) Reset() { + *x = Version{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Version) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Version) ProtoMessage() {} + +func (x *Version) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 Version.ProtoReflect.Descriptor instead. +func (*Version) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{50} +} + +func (x *Version) GetApiSpecVersion() string { + if x != nil && x.ApiSpecVersion != nil { + return *x.ApiSpecVersion + } + return "" +} + +func (x *Version) GetSdkVersion() string { + if x != nil && x.SdkVersion != nil { + return *x.SdkVersion + } + return "" +} + +func (x *Version) GetAppVersion() string { + if x != nil && x.AppVersion != nil { + return *x.AppVersion + } + return "" +} + +// Success warning payload similar to otg Success +type Warnings struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + WarningDetails *WarningDetails `protobuf:"bytes,1,opt,name=warning_details,json=warningDetails,proto3" json:"warning_details,omitempty"` +} + +func (x *Warnings) Reset() { + *x = Warnings{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Warnings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Warnings) ProtoMessage() {} + +func (x *Warnings) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 Warnings.ProtoReflect.Descriptor instead. +func (*Warnings) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{51} +} + +func (x *Warnings) GetWarningDetails() *WarningDetails { + if x != nil { + return x.WarningDetails + } + return nil +} + +type SetConfigRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PrefixConfig *PrefixConfig `protobuf:"bytes,1,opt,name=prefix_config,json=prefixConfig,proto3" json:"prefix_config,omitempty"` +} + +func (x *SetConfigRequest) Reset() { + *x = SetConfigRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetConfigRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetConfigRequest) ProtoMessage() {} + +func (x *SetConfigRequest) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 SetConfigRequest.ProtoReflect.Descriptor instead. +func (*SetConfigRequest) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{52} +} + +func (x *SetConfigRequest) GetPrefixConfig() *PrefixConfig { + if x != nil { + return x.PrefixConfig + } + return nil +} + +type UpdateConfigurationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + UpdateConfig *UpdateConfig `protobuf:"bytes,1,opt,name=update_config,json=updateConfig,proto3" json:"update_config,omitempty"` +} + +func (x *UpdateConfigurationRequest) Reset() { + *x = UpdateConfigurationRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateConfigurationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateConfigurationRequest) ProtoMessage() {} + +func (x *UpdateConfigurationRequest) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 UpdateConfigurationRequest.ProtoReflect.Descriptor instead. +func (*UpdateConfigurationRequest) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{53} +} + +func (x *UpdateConfigurationRequest) GetUpdateConfig() *UpdateConfig { + if x != nil { + return x.UpdateConfig + } + return nil +} + +type SetConfigResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ResponseBytes []byte `protobuf:"bytes,1,opt,name=response_bytes,json=responseBytes,proto3" json:"response_bytes,omitempty"` +} + +func (x *SetConfigResponse) Reset() { + *x = SetConfigResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetConfigResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetConfigResponse) ProtoMessage() {} + +func (x *SetConfigResponse) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 SetConfigResponse.ProtoReflect.Descriptor instead. +func (*SetConfigResponse) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{54} +} + +func (x *SetConfigResponse) GetResponseBytes() []byte { + if x != nil { + return x.ResponseBytes + } + return nil +} + +type UpdateConfigurationResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PrefixConfig *PrefixConfig `protobuf:"bytes,1,opt,name=prefix_config,json=prefixConfig,proto3" json:"prefix_config,omitempty"` +} + +func (x *UpdateConfigurationResponse) Reset() { + *x = UpdateConfigurationResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateConfigurationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateConfigurationResponse) ProtoMessage() {} + +func (x *UpdateConfigurationResponse) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 UpdateConfigurationResponse.ProtoReflect.Descriptor instead. +func (*UpdateConfigurationResponse) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{55} +} + +func (x *UpdateConfigurationResponse) GetPrefixConfig() *PrefixConfig { + if x != nil { + return x.PrefixConfig + } + return nil +} + +type GetConfigResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PrefixConfig *PrefixConfig `protobuf:"bytes,1,opt,name=prefix_config,json=prefixConfig,proto3" json:"prefix_config,omitempty"` +} + +func (x *GetConfigResponse) Reset() { + *x = GetConfigResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetConfigResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetConfigResponse) ProtoMessage() {} + +func (x *GetConfigResponse) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 GetConfigResponse.ProtoReflect.Descriptor instead. +func (*GetConfigResponse) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{56} +} + +func (x *GetConfigResponse) GetPrefixConfig() *PrefixConfig { + if x != nil { + return x.PrefixConfig + } + return nil +} + +type GetMetricsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MetricsRequest *MetricsRequest `protobuf:"bytes,1,opt,name=metrics_request,json=metricsRequest,proto3" json:"metrics_request,omitempty"` +} + +func (x *GetMetricsRequest) Reset() { + *x = GetMetricsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetMetricsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetMetricsRequest) ProtoMessage() {} + +func (x *GetMetricsRequest) ProtoReflect() protoreflect.Message { + mi := &file_openapi_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 GetMetricsRequest.ProtoReflect.Descriptor instead. +func (*GetMetricsRequest) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{57} +} + +func (x *GetMetricsRequest) GetMetricsRequest() *MetricsRequest { + if x != nil { + return x.MetricsRequest + } + return nil +} + +type GetMetricsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Metrics *Metrics `protobuf:"bytes,1,opt,name=metrics,proto3" json:"metrics,omitempty"` +} + +func (x *GetMetricsResponse) Reset() { + *x = GetMetricsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetMetricsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetMetricsResponse) ProtoMessage() {} + +func (x *GetMetricsResponse) ProtoReflect() protoreflect.Message { + mi := &file_openapi_proto_msgTypes[58] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetMetricsResponse.ProtoReflect.Descriptor instead. +func (*GetMetricsResponse) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{58} +} + +func (x *GetMetricsResponse) GetMetrics() *Metrics { + if x != nil { + return x.Metrics + } + return nil +} + +type GetWarningsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + WarningDetails *WarningDetails `protobuf:"bytes,1,opt,name=warning_details,json=warningDetails,proto3" json:"warning_details,omitempty"` +} + +func (x *GetWarningsResponse) Reset() { + *x = GetWarningsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetWarningsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetWarningsResponse) ProtoMessage() {} + +func (x *GetWarningsResponse) ProtoReflect() protoreflect.Message { + mi := &file_openapi_proto_msgTypes[59] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetWarningsResponse.ProtoReflect.Descriptor instead. +func (*GetWarningsResponse) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{59} +} + +func (x *GetWarningsResponse) GetWarningDetails() *WarningDetails { + if x != nil { + return x.WarningDetails + } + return nil +} + +type ClearWarningsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + String_ string `protobuf:"bytes,1,opt,name=string,proto3" json:"string,omitempty"` +} + +func (x *ClearWarningsResponse) Reset() { + *x = ClearWarningsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClearWarningsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClearWarningsResponse) ProtoMessage() {} + +func (x *ClearWarningsResponse) ProtoReflect() protoreflect.Message { + mi := &file_openapi_proto_msgTypes[60] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClearWarningsResponse.ProtoReflect.Descriptor instead. +func (*ClearWarningsResponse) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{60} +} + +func (x *ClearWarningsResponse) GetString_() string { + if x != nil { + return x.String_ + } + return "" +} + +type PostRootResponseRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ApiTestInputBody *ApiTestInputBody `protobuf:"bytes,1,opt,name=api_test_input_body,json=apiTestInputBody,proto3" json:"api_test_input_body,omitempty"` +} + +func (x *PostRootResponseRequest) Reset() { + *x = PostRootResponseRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostRootResponseRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostRootResponseRequest) ProtoMessage() {} + +func (x *PostRootResponseRequest) ProtoReflect() protoreflect.Message { + mi := &file_openapi_proto_msgTypes[61] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostRootResponseRequest.ProtoReflect.Descriptor instead. +func (*PostRootResponseRequest) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{61} +} + +func (x *PostRootResponseRequest) GetApiTestInputBody() *ApiTestInputBody { + if x != nil { + return x.ApiTestInputBody + } + return nil +} + +type GetRootResponseResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CommonResponseSuccess *CommonResponseSuccess `protobuf:"bytes,1,opt,name=common_response_success,json=commonResponseSuccess,proto3" json:"common_response_success,omitempty"` +} + +func (x *GetRootResponseResponse) Reset() { + *x = GetRootResponseResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetRootResponseResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetRootResponseResponse) ProtoMessage() {} + +func (x *GetRootResponseResponse) ProtoReflect() protoreflect.Message { + mi := &file_openapi_proto_msgTypes[62] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetRootResponseResponse.ProtoReflect.Descriptor instead. +func (*GetRootResponseResponse) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{62} +} + +func (x *GetRootResponseResponse) GetCommonResponseSuccess() *CommonResponseSuccess { + if x != nil { + return x.CommonResponseSuccess + } + return nil +} + +type DummyResponseTestResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + String_ string `protobuf:"bytes,1,opt,name=string,proto3" json:"string,omitempty"` +} + +func (x *DummyResponseTestResponse) Reset() { + *x = DummyResponseTestResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DummyResponseTestResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DummyResponseTestResponse) ProtoMessage() {} + +func (x *DummyResponseTestResponse) ProtoReflect() protoreflect.Message { + mi := &file_openapi_proto_msgTypes[63] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DummyResponseTestResponse.ProtoReflect.Descriptor instead. +func (*DummyResponseTestResponse) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{63} +} + +func (x *DummyResponseTestResponse) GetString_() string { + if x != nil { + return x.String_ + } + return "" +} + +type PostRootResponseResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CommonResponseSuccess *CommonResponseSuccess `protobuf:"bytes,1,opt,name=common_response_success,json=commonResponseSuccess,proto3" json:"common_response_success,omitempty"` +} + +func (x *PostRootResponseResponse) Reset() { + *x = PostRootResponseResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[64] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostRootResponseResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostRootResponseResponse) ProtoMessage() {} + +func (x *PostRootResponseResponse) ProtoReflect() protoreflect.Message { + mi := &file_openapi_proto_msgTypes[64] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostRootResponseResponse.ProtoReflect.Descriptor instead. +func (*PostRootResponseResponse) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{64} +} + +func (x *PostRootResponseResponse) GetCommonResponseSuccess() *CommonResponseSuccess { + if x != nil { + return x.CommonResponseSuccess + } + return nil +} + +type GetAllItemsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ServiceAbcItemList *ServiceAbcItemList `protobuf:"bytes,1,opt,name=service_abc_item_list,json=serviceAbcItemList,proto3" json:"service_abc_item_list,omitempty"` +} + +func (x *GetAllItemsResponse) Reset() { + *x = GetAllItemsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetAllItemsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetAllItemsResponse) ProtoMessage() {} + +func (x *GetAllItemsResponse) ProtoReflect() protoreflect.Message { + mi := &file_openapi_proto_msgTypes[65] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetAllItemsResponse.ProtoReflect.Descriptor instead. +func (*GetAllItemsResponse) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{65} +} + +func (x *GetAllItemsResponse) GetServiceAbcItemList() *ServiceAbcItemList { + if x != nil { + return x.ServiceAbcItemList + } + return nil +} + +type GetSingleItemResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ServiceAbcItem *ServiceAbcItem `protobuf:"bytes,1,opt,name=service_abc_item,json=serviceAbcItem,proto3" json:"service_abc_item,omitempty"` +} + +func (x *GetSingleItemResponse) Reset() { + *x = GetSingleItemResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[66] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetSingleItemResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetSingleItemResponse) ProtoMessage() {} + +func (x *GetSingleItemResponse) ProtoReflect() protoreflect.Message { + mi := &file_openapi_proto_msgTypes[66] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetSingleItemResponse.ProtoReflect.Descriptor instead. +func (*GetSingleItemResponse) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{66} +} + +func (x *GetSingleItemResponse) GetServiceAbcItem() *ServiceAbcItem { + if x != nil { + return x.ServiceAbcItem + } + return nil +} + +type GetSingleItemLevel2Response struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ServiceAbcItem *ServiceAbcItem `protobuf:"bytes,1,opt,name=service_abc_item,json=serviceAbcItem,proto3" json:"service_abc_item,omitempty"` +} + +func (x *GetSingleItemLevel2Response) Reset() { + *x = GetSingleItemLevel2Response{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[67] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetSingleItemLevel2Response) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetSingleItemLevel2Response) ProtoMessage() {} + +func (x *GetSingleItemLevel2Response) ProtoReflect() protoreflect.Message { + mi := &file_openapi_proto_msgTypes[67] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetSingleItemLevel2Response.ProtoReflect.Descriptor instead. +func (*GetSingleItemLevel2Response) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{67} +} + +func (x *GetSingleItemLevel2Response) GetServiceAbcItem() *ServiceAbcItem { + if x != nil { + return x.ServiceAbcItem + } + return nil +} + +type GetVersionResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Version *Version `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` +} + +func (x *GetVersionResponse) Reset() { + *x = GetVersionResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[68] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetVersionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetVersionResponse) ProtoMessage() {} + +func (x *GetVersionResponse) ProtoReflect() protoreflect.Message { + mi := &file_openapi_proto_msgTypes[68] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetVersionResponse.ProtoReflect.Descriptor instead. +func (*GetVersionResponse) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{68} +} + +func (x *GetVersionResponse) GetVersion() *Version { + if x != nil { + return x.Version + } + return nil +} + +type Error_Kind struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *Error_Kind) Reset() { + *x = Error_Kind{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[69] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Error_Kind) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Error_Kind) ProtoMessage() {} + +func (x *Error_Kind) ProtoReflect() protoreflect.Message { + mi := &file_openapi_proto_msgTypes[69] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Error_Kind.ProtoReflect.Descriptor instead. +func (*Error_Kind) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{2, 0} +} + +type PrefixConfig_Response struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *PrefixConfig_Response) Reset() { + *x = PrefixConfig_Response{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[70] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PrefixConfig_Response) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PrefixConfig_Response) ProtoMessage() {} + +func (x *PrefixConfig_Response) ProtoReflect() protoreflect.Message { + mi := &file_openapi_proto_msgTypes[70] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PrefixConfig_Response.ProtoReflect.Descriptor instead. +func (*PrefixConfig_Response) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{3, 0} +} + +type PrefixConfig_DValues struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *PrefixConfig_DValues) Reset() { + *x = PrefixConfig_DValues{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[71] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PrefixConfig_DValues) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PrefixConfig_DValues) ProtoMessage() {} + +func (x *PrefixConfig_DValues) ProtoReflect() protoreflect.Message { + mi := &file_openapi_proto_msgTypes[71] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PrefixConfig_DValues.ProtoReflect.Descriptor instead. +func (*PrefixConfig_DValues) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{3, 1} +} + +type GObject_Choice struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *GObject_Choice) Reset() { + *x = GObject_Choice{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[72] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GObject_Choice) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GObject_Choice) ProtoMessage() {} + +func (x *GObject_Choice) ProtoReflect() protoreflect.Message { + mi := &file_openapi_proto_msgTypes[72] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GObject_Choice.ProtoReflect.Descriptor instead. +func (*GObject_Choice) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{8, 0} +} + +type GObject_GF struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *GObject_GF) Reset() { + *x = GObject_GF{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[73] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GObject_GF) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GObject_GF) ProtoMessage() {} + +func (x *GObject_GF) ProtoReflect() protoreflect.Message { + mi := &file_openapi_proto_msgTypes[73] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GObject_GF.ProtoReflect.Descriptor instead. +func (*GObject_GF) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{8, 1} +} + +type FObject_Choice struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *FObject_Choice) Reset() { + *x = FObject_Choice{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[74] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FObject_Choice) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FObject_Choice) ProtoMessage() {} + +func (x *FObject_Choice) ProtoReflect() protoreflect.Message { + mi := &file_openapi_proto_msgTypes[74] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FObject_Choice.ProtoReflect.Descriptor instead. +func (*FObject_Choice) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{10, 0} +} + +type JObject_Choice struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *JObject_Choice) Reset() { + *x = JObject_Choice{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[75] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JObject_Choice) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JObject_Choice) ProtoMessage() {} + +func (x *JObject_Choice) ProtoReflect() protoreflect.Message { + mi := &file_openapi_proto_msgTypes[75] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JObject_Choice.ProtoReflect.Descriptor instead. +func (*JObject_Choice) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{11, 0} +} + +type ChoiceObject_Choice struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ChoiceObject_Choice) Reset() { + *x = ChoiceObject_Choice{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[76] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChoiceObject_Choice) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChoiceObject_Choice) ProtoMessage() {} + +func (x *ChoiceObject_Choice) ProtoReflect() protoreflect.Message { + mi := &file_openapi_proto_msgTypes[76] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChoiceObject_Choice.ProtoReflect.Descriptor instead. +func (*ChoiceObject_Choice) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{12, 0} +} + +type MetricsRequest_Choice struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MetricsRequest_Choice) Reset() { + *x = MetricsRequest_Choice{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[77] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MetricsRequest_Choice) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MetricsRequest_Choice) ProtoMessage() {} + +func (x *MetricsRequest_Choice) ProtoReflect() protoreflect.Message { + mi := &file_openapi_proto_msgTypes[77] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MetricsRequest_Choice.ProtoReflect.Descriptor instead. +func (*MetricsRequest_Choice) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{18, 0} +} + +type Metrics_Choice struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *Metrics_Choice) Reset() { + *x = Metrics_Choice{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[78] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Metrics_Choice) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Metrics_Choice) ProtoMessage() {} + +func (x *Metrics_Choice) ProtoReflect() protoreflect.Message { + mi := &file_openapi_proto_msgTypes[78] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Metrics_Choice.ProtoReflect.Descriptor instead. +func (*Metrics_Choice) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{19, 0} +} + +type RequiredChoiceParent_Choice struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *RequiredChoiceParent_Choice) Reset() { + *x = RequiredChoiceParent_Choice{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[79] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RequiredChoiceParent_Choice) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RequiredChoiceParent_Choice) ProtoMessage() {} + +func (x *RequiredChoiceParent_Choice) ProtoReflect() protoreflect.Message { + mi := &file_openapi_proto_msgTypes[79] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RequiredChoiceParent_Choice.ProtoReflect.Descriptor instead. +func (*RequiredChoiceParent_Choice) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{22, 0} +} + +type RequiredChoiceIntermediate_Choice struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *RequiredChoiceIntermediate_Choice) Reset() { + *x = RequiredChoiceIntermediate_Choice{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[80] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RequiredChoiceIntermediate_Choice) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RequiredChoiceIntermediate_Choice) ProtoMessage() {} + +func (x *RequiredChoiceIntermediate_Choice) ProtoReflect() protoreflect.Message { + mi := &file_openapi_proto_msgTypes[80] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RequiredChoiceIntermediate_Choice.ProtoReflect.Descriptor instead. +func (*RequiredChoiceIntermediate_Choice) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{23, 0} +} + +type PatternPrefixConfigHeaderChecksum_Choice struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *PatternPrefixConfigHeaderChecksum_Choice) Reset() { + *x = PatternPrefixConfigHeaderChecksum_Choice{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[81] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternPrefixConfigHeaderChecksum_Choice) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternPrefixConfigHeaderChecksum_Choice) ProtoMessage() {} + +func (x *PatternPrefixConfigHeaderChecksum_Choice) ProtoReflect() protoreflect.Message { + mi := &file_openapi_proto_msgTypes[81] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PatternPrefixConfigHeaderChecksum_Choice.ProtoReflect.Descriptor instead. +func (*PatternPrefixConfigHeaderChecksum_Choice) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{38, 0} +} + +type PatternPrefixConfigHeaderChecksum_Generated struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *PatternPrefixConfigHeaderChecksum_Generated) Reset() { + *x = PatternPrefixConfigHeaderChecksum_Generated{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[82] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternPrefixConfigHeaderChecksum_Generated) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternPrefixConfigHeaderChecksum_Generated) ProtoMessage() {} + +func (x *PatternPrefixConfigHeaderChecksum_Generated) ProtoReflect() protoreflect.Message { + mi := &file_openapi_proto_msgTypes[82] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PatternPrefixConfigHeaderChecksum_Generated.ProtoReflect.Descriptor instead. +func (*PatternPrefixConfigHeaderChecksum_Generated) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{38, 1} +} + +type PatternPrefixConfigAutoFieldTest_Choice struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *PatternPrefixConfigAutoFieldTest_Choice) Reset() { + *x = PatternPrefixConfigAutoFieldTest_Choice{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[83] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternPrefixConfigAutoFieldTest_Choice) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternPrefixConfigAutoFieldTest_Choice) ProtoMessage() {} + +func (x *PatternPrefixConfigAutoFieldTest_Choice) ProtoReflect() protoreflect.Message { + mi := &file_openapi_proto_msgTypes[83] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PatternPrefixConfigAutoFieldTest_Choice.ProtoReflect.Descriptor instead. +func (*PatternPrefixConfigAutoFieldTest_Choice) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{40, 0} +} + +type PatternIpv4PatternIpv4_Choice struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *PatternIpv4PatternIpv4_Choice) Reset() { + *x = PatternIpv4PatternIpv4_Choice{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[84] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternIpv4PatternIpv4_Choice) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternIpv4PatternIpv4_Choice) ProtoMessage() {} + +func (x *PatternIpv4PatternIpv4_Choice) ProtoReflect() protoreflect.Message { + mi := &file_openapi_proto_msgTypes[84] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PatternIpv4PatternIpv4_Choice.ProtoReflect.Descriptor instead. +func (*PatternIpv4PatternIpv4_Choice) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{42, 0} +} + +type PatternIpv6PatternIpv6_Choice struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *PatternIpv6PatternIpv6_Choice) Reset() { + *x = PatternIpv6PatternIpv6_Choice{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[85] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternIpv6PatternIpv6_Choice) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternIpv6PatternIpv6_Choice) ProtoMessage() {} + +func (x *PatternIpv6PatternIpv6_Choice) ProtoReflect() protoreflect.Message { + mi := &file_openapi_proto_msgTypes[85] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PatternIpv6PatternIpv6_Choice.ProtoReflect.Descriptor instead. +func (*PatternIpv6PatternIpv6_Choice) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{44, 0} +} + +type PatternMacPatternMac_Choice struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *PatternMacPatternMac_Choice) Reset() { + *x = PatternMacPatternMac_Choice{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[86] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternMacPatternMac_Choice) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternMacPatternMac_Choice) ProtoMessage() {} + +func (x *PatternMacPatternMac_Choice) ProtoReflect() protoreflect.Message { + mi := &file_openapi_proto_msgTypes[86] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PatternMacPatternMac_Choice.ProtoReflect.Descriptor instead. +func (*PatternMacPatternMac_Choice) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{46, 0} +} + +type PatternIntegerPatternInteger_Choice struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *PatternIntegerPatternInteger_Choice) Reset() { + *x = PatternIntegerPatternInteger_Choice{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[87] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternIntegerPatternInteger_Choice) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternIntegerPatternInteger_Choice) ProtoMessage() {} + +func (x *PatternIntegerPatternInteger_Choice) ProtoReflect() protoreflect.Message { + mi := &file_openapi_proto_msgTypes[87] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PatternIntegerPatternInteger_Choice.ProtoReflect.Descriptor instead. +func (*PatternIntegerPatternInteger_Choice) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{48, 0} +} + +type PatternChecksumPatternChecksum_Choice struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *PatternChecksumPatternChecksum_Choice) Reset() { + *x = PatternChecksumPatternChecksum_Choice{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[88] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternChecksumPatternChecksum_Choice) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternChecksumPatternChecksum_Choice) ProtoMessage() {} + +func (x *PatternChecksumPatternChecksum_Choice) ProtoReflect() protoreflect.Message { + mi := &file_openapi_proto_msgTypes[88] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PatternChecksumPatternChecksum_Choice.ProtoReflect.Descriptor instead. +func (*PatternChecksumPatternChecksum_Choice) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{49, 0} +} + +type PatternChecksumPatternChecksum_Generated struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *PatternChecksumPatternChecksum_Generated) Reset() { + *x = PatternChecksumPatternChecksum_Generated{} + if protoimpl.UnsafeEnabled { + mi := &file_openapi_proto_msgTypes[89] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatternChecksumPatternChecksum_Generated) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatternChecksumPatternChecksum_Generated) ProtoMessage() {} + +func (x *PatternChecksumPatternChecksum_Generated) ProtoReflect() protoreflect.Message { + mi := &file_openapi_proto_msgTypes[89] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PatternChecksumPatternChecksum_Generated.ProtoReflect.Descriptor instead. +func (*PatternChecksumPatternChecksum_Generated) Descriptor() ([]byte, []int) { + return file_openapi_proto_rawDescGZIP(), []int{49, 1} +} + +var File_openapi_proto protoreflect.FileDescriptor + +var file_openapi_proto_rawDesc = []byte{ + 0x0a, 0x0d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x07, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 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, 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, 0x22, 0x26, 0x0a, 0x0c, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, + 0x2c, 0x0a, 0x0e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x22, 0xbd, 0x01, + 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x31, 0x0a, 0x04, 0x6b, + 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6f, 0x70, 0x65, 0x6e, + 0x61, 0x70, 0x69, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x2e, 0x45, + 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x16, + 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x1a, 0x4c, 0x0a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x22, 0x44, + 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, + 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x70, 0x6f, 0x72, 0x74, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x10, 0x03, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xc4, 0x17, + 0x0a, 0x0c, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, + 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, + 0x69, 0x2e, 0x45, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3e, 0x0a, 0x0f, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0d, 0x69, 0x65, 0x65, + 0x65, 0x5f, 0x38, 0x30, 0x32, 0x5f, 0x31, 0x71, 0x62, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x01, 0x52, 0x0b, 0x69, 0x65, 0x65, 0x65, 0x38, 0x30, 0x32, 0x31, 0x71, 0x62, 0x62, 0x88, + 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x31, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x06, 0x73, 0x70, 0x61, 0x63, 0x65, 0x31, 0x88, 0x01, 0x01, + 0x12, 0x30, 0x0a, 0x12, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x64, 0x75, 0x70, 0x6c, 0x65, 0x78, 0x5f, + 0x31, 0x30, 0x30, 0x5f, 0x6d, 0x62, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x0f, + 0x66, 0x75, 0x6c, 0x6c, 0x44, 0x75, 0x70, 0x6c, 0x65, 0x78, 0x31, 0x30, 0x30, 0x4d, 0x62, 0x88, + 0x01, 0x01, 0x12, 0x44, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x04, 0x52, 0x08, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x0c, 0x0a, 0x01, 0x61, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x01, 0x61, 0x12, 0x0c, 0x0a, 0x01, 0x62, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x01, 0x62, 0x12, 0x0c, 0x0a, 0x01, 0x63, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x01, 0x63, 0x12, 0x3d, 0x0a, 0x08, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x0a, + 0x20, 0x03, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x07, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x12, 0x23, 0x0a, 0x01, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x05, + 0x52, 0x01, 0x65, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x01, 0x66, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x48, 0x06, 0x52, 0x01, 0x66, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x01, 0x67, + 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, + 0x2e, 0x47, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x01, 0x67, 0x12, 0x11, 0x0a, 0x01, 0x68, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x48, 0x07, 0x52, 0x01, 0x68, 0x88, 0x01, 0x01, 0x12, 0x11, + 0x0a, 0x01, 0x69, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x08, 0x52, 0x01, 0x69, 0x88, 0x01, + 0x01, 0x12, 0x1e, 0x0a, 0x01, 0x6a, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x4a, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x01, + 0x6a, 0x12, 0x23, 0x0a, 0x01, 0x6b, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x4b, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x09, + 0x52, 0x01, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x01, 0x6c, 0x18, 0x12, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x48, 0x0a, 0x52, 0x01, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x15, 0x6c, + 0x69, 0x73, 0x74, 0x5f, 0x6f, 0x66, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x6c, 0x69, 0x73, 0x74, + 0x4f, 0x66, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x33, + 0x0a, 0x16, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x6f, 0x66, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, + 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x05, 0x52, 0x13, + 0x6c, 0x69, 0x73, 0x74, 0x4f, 0x66, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x15, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x4f, 0x6e, 0x65, 0x48, 0x0b, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x88, 0x01, + 0x01, 0x12, 0x33, 0x0a, 0x09, 0x6d, 0x61, 0x6e, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x16, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x4d, + 0x61, 0x6e, 0x64, 0x61, 0x74, 0x65, 0x48, 0x0c, 0x52, 0x09, 0x6d, 0x61, 0x6e, 0x64, 0x61, 0x74, + 0x6f, 0x72, 0x79, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x0c, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x70, + 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x70, 0x76, 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, + 0x72, 0x6e, 0x48, 0x0d, 0x52, 0x0b, 0x69, 0x70, 0x76, 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, + 0x6e, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x0c, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x70, 0x61, 0x74, + 0x74, 0x65, 0x72, 0x6e, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, + 0x48, 0x0e, 0x52, 0x0b, 0x69, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x39, 0x0a, 0x0b, 0x6d, 0x61, 0x63, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, + 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, + 0x69, 0x2e, 0x4d, 0x61, 0x63, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x48, 0x0f, 0x52, 0x0a, + 0x6d, 0x61, 0x63, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, + 0x0f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, + 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, + 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x48, + 0x10, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, + 0x6e, 0x88, 0x01, 0x01, 0x12, 0x48, 0x0a, 0x10, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, + 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, + 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, + 0x6d, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x48, 0x11, 0x52, 0x0f, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x73, 0x75, 0x6d, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x30, + 0x0a, 0x04, 0x63, 0x61, 0x73, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x31, 0x49, 0x65, 0x65, + 0x65, 0x38, 0x30, 0x32, 0x78, 0x48, 0x12, 0x52, 0x04, 0x63, 0x61, 0x73, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x30, 0x0a, 0x08, 0x6d, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x1d, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x48, 0x13, 0x52, 0x07, 0x6d, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x88, + 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x36, 0x34, 0x18, + 0x1e, 0x20, 0x01, 0x28, 0x03, 0x48, 0x14, 0x52, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, + 0x36, 0x34, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, + 0x36, 0x34, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0d, 0x69, + 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x36, 0x34, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x58, 0x0a, 0x0f, + 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, + 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, + 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, + 0x6d, 0x48, 0x15, 0x52, 0x0e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x73, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x73, 0x74, 0x72, 0x5f, 0x6c, 0x65, + 0x6e, 0x18, 0x21, 0x20, 0x01, 0x28, 0x09, 0x48, 0x16, 0x52, 0x06, 0x73, 0x74, 0x72, 0x4c, 0x65, + 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x65, 0x78, 0x5f, 0x73, 0x6c, 0x69, 0x63, + 0x65, 0x18, 0x22, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x68, 0x65, 0x78, 0x53, 0x6c, 0x69, 0x63, + 0x65, 0x12, 0x56, 0x0a, 0x0f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, + 0x74, 0x65, 0x73, 0x74, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x65, 0x66, + 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x41, 0x75, 0x74, 0x6f, 0x46, 0x69, 0x65, 0x6c, + 0x64, 0x54, 0x65, 0x73, 0x74, 0x48, 0x17, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x6f, 0x46, 0x69, 0x65, + 0x6c, 0x64, 0x54, 0x65, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x24, 0x20, 0x01, 0x28, 0x09, 0x48, 0x18, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x27, 0x0a, 0x06, 0x77, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x25, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x05, 0x77, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x78, + 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x26, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, + 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x5a, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x05, 0x78, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x08, 0x7a, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x27, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, + 0x2e, 0x5a, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x19, 0x52, 0x07, 0x7a, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x08, 0x79, 0x5f, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, + 0x70, 0x69, 0x2e, 0x59, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x1a, 0x52, 0x07, 0x79, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x0d, 0x63, 0x68, 0x6f, 0x69, + 0x63, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x29, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x0c, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x58, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, + 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x2a, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x52, + 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x50, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x48, 0x1b, 0x52, 0x14, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x43, + 0x68, 0x6f, 0x69, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x20, + 0x0a, 0x02, 0x67, 0x31, 0x18, 0x2b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x02, 0x67, 0x31, + 0x12, 0x20, 0x0a, 0x02, 0x67, 0x32, 0x18, 0x2c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x02, + 0x67, 0x32, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x05, 0x48, 0x1c, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x33, 0x32, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x6e, 0x74, 0x33, + 0x32, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x2e, 0x20, 0x03, + 0x28, 0x05, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x12, 0x26, 0x0a, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x1d, 0x52, 0x0b, 0x75, 0x69, 0x6e, 0x74, + 0x33, 0x32, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x11, 0x75, 0x69, + 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, + 0x30, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x4c, 0x69, 0x73, + 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x26, 0x0a, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x31, 0x20, 0x01, 0x28, 0x04, 0x48, 0x1e, 0x52, 0x0b, + 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x2a, + 0x0a, 0x11, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x18, 0x32, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0f, 0x75, 0x69, 0x6e, 0x74, 0x36, + 0x34, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x2d, 0x0a, 0x10, 0x61, 0x75, + 0x74, 0x6f, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x33, + 0x20, 0x01, 0x28, 0x05, 0x48, 0x1f, 0x52, 0x0e, 0x61, 0x75, 0x74, 0x6f, 0x49, 0x6e, 0x74, 0x33, + 0x32, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x15, 0x61, 0x75, 0x74, + 0x6f, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x18, 0x34, 0x20, 0x03, 0x28, 0x05, 0x52, 0x12, 0x61, 0x75, 0x74, 0x6f, 0x49, 0x6e, + 0x74, 0x33, 0x32, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x63, 0x0a, 0x08, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x57, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, + 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, + 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x32, 0x30, 0x30, 0x10, + 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x34, 0x30, 0x30, 0x10, + 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x34, 0x30, 0x34, 0x10, + 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x35, 0x30, 0x30, 0x10, + 0x04, 0x1a, 0x37, 0x0a, 0x07, 0x44, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x2c, 0x0a, 0x04, + 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, + 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x05, 0x0a, 0x01, 0x61, 0x10, 0x01, 0x12, 0x05, 0x0a, 0x01, + 0x62, 0x10, 0x02, 0x12, 0x05, 0x0a, 0x01, 0x63, 0x10, 0x03, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x10, + 0x0a, 0x0e, 0x5f, 0x69, 0x65, 0x65, 0x65, 0x5f, 0x38, 0x30, 0x32, 0x5f, 0x31, 0x71, 0x62, 0x62, + 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x31, 0x42, 0x15, 0x0a, 0x13, + 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x64, 0x75, 0x70, 0x6c, 0x65, 0x78, 0x5f, 0x31, 0x30, 0x30, + 0x5f, 0x6d, 0x62, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x42, 0x04, 0x0a, 0x02, 0x5f, 0x65, 0x42, 0x04, 0x0a, 0x02, 0x5f, 0x66, 0x42, 0x04, 0x0a, 0x02, + 0x5f, 0x68, 0x42, 0x04, 0x0a, 0x02, 0x5f, 0x69, 0x42, 0x04, 0x0a, 0x02, 0x5f, 0x6b, 0x42, 0x04, + 0x0a, 0x02, 0x5f, 0x6c, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x0c, + 0x0a, 0x0a, 0x5f, 0x6d, 0x61, 0x6e, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x0f, 0x0a, 0x0d, + 0x5f, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x42, 0x0f, 0x0a, + 0x0d, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x42, 0x0e, + 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x63, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x42, 0x12, + 0x0a, 0x10, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, + 0x72, 0x6e, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x5f, + 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x63, 0x61, 0x73, 0x65, + 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x0c, 0x0a, + 0x0a, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x36, 0x34, 0x42, 0x12, 0x0a, 0x10, 0x5f, + 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x42, + 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x74, 0x72, 0x5f, 0x6c, 0x65, 0x6e, 0x42, 0x12, 0x0a, 0x10, 0x5f, + 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x7a, 0x5f, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x79, 0x5f, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, + 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x0e, 0x0a, + 0x0c, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x42, 0x0f, 0x0a, + 0x0d, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x42, 0x0f, + 0x0a, 0x0d, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x42, + 0x13, 0x0a, 0x11, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x22, 0x20, 0x0a, 0x07, 0x57, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x15, 0x0a, 0x06, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x1d, 0x0a, 0x07, 0x5a, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x30, 0x0a, 0x07, 0x59, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x1a, 0x0a, 0x06, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x05, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, + 0x5f, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x49, 0x0a, 0x0e, 0x4c, 0x61, 0x79, 0x65, 0x72, + 0x31, 0x49, 0x65, 0x65, 0x65, 0x38, 0x30, 0x32, 0x78, 0x12, 0x26, 0x0a, 0x0c, 0x66, 0x6c, 0x6f, + 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x00, 0x52, 0x0b, 0x66, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x88, 0x01, + 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x22, 0xa8, 0x03, 0x0a, 0x07, 0x47, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x14, + 0x0a, 0x03, 0x67, 0x5f, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x67, + 0x41, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x03, 0x67, 0x5f, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x48, 0x01, 0x52, 0x02, 0x67, 0x42, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x03, 0x67, 0x5f, + 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x48, 0x02, 0x52, 0x02, 0x67, 0x43, 0x88, 0x01, 0x01, + 0x12, 0x39, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x03, + 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x03, 0x67, + 0x5f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x02, 0x67, 0x44, 0x88, 0x01, + 0x01, 0x12, 0x14, 0x0a, 0x03, 0x67, 0x5f, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x48, 0x05, + 0x52, 0x02, 0x67, 0x45, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x03, 0x67, 0x5f, 0x66, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x47, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x47, 0x46, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x06, + 0x52, 0x02, 0x67, 0x46, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, + 0x1a, 0x33, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x29, 0x0a, 0x04, 0x45, 0x6e, + 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, + 0x64, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x67, 0x5f, 0x64, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, + 0x67, 0x5f, 0x65, 0x10, 0x02, 0x1a, 0x32, 0x0a, 0x02, 0x47, 0x46, 0x22, 0x2c, 0x0a, 0x04, 0x45, + 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, + 0x65, 0x64, 0x10, 0x00, 0x12, 0x05, 0x0a, 0x01, 0x61, 0x10, 0x01, 0x12, 0x05, 0x0a, 0x01, 0x62, + 0x10, 0x02, 0x12, 0x05, 0x0a, 0x01, 0x63, 0x10, 0x03, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x67, 0x5f, + 0x61, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x67, 0x5f, 0x62, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x67, 0x5f, + 0x63, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x06, 0x0a, 0x04, + 0x5f, 0x67, 0x5f, 0x64, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x67, 0x5f, 0x65, 0x42, 0x06, 0x0a, 0x04, + 0x5f, 0x67, 0x5f, 0x66, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa7, 0x01, + 0x0a, 0x07, 0x45, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x0f, 0x0a, 0x03, 0x65, 0x5f, 0x61, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x02, 0x65, 0x41, 0x12, 0x0f, 0x0a, 0x03, 0x65, 0x5f, + 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x02, 0x65, 0x42, 0x12, 0x17, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x6d, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x31, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x6d, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x32, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0b, 0x0a, + 0x09, 0x5f, 0x6d, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x22, 0xc9, 0x01, 0x0a, 0x07, 0x46, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x39, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, + 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x14, + 0x0a, 0x03, 0x66, 0x5f, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x02, 0x66, + 0x41, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x03, 0x66, 0x5f, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x01, 0x48, 0x02, 0x52, 0x02, 0x66, 0x42, 0x88, 0x01, 0x01, 0x1a, 0x3c, 0x0a, 0x06, 0x43, 0x68, + 0x6f, 0x69, 0x63, 0x65, 0x22, 0x32, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, + 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x07, 0x0a, + 0x03, 0x66, 0x5f, 0x61, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x66, 0x5f, 0x62, 0x10, 0x02, 0x12, + 0x07, 0x0a, 0x03, 0x66, 0x5f, 0x63, 0x10, 0x03, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, + 0x69, 0x63, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x66, 0x5f, 0x61, 0x42, 0x06, 0x0a, 0x04, 0x5f, + 0x66, 0x5f, 0x62, 0x22, 0xe4, 0x01, 0x0a, 0x07, 0x4a, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x39, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x4a, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, + 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x03, 0x6a, 0x5f, + 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, + 0x69, 0x2e, 0x45, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x01, 0x52, 0x02, 0x6a, 0x41, 0x88, + 0x01, 0x01, 0x12, 0x26, 0x0a, 0x03, 0x6a, 0x5f, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x48, 0x02, 0x52, 0x02, 0x6a, 0x42, 0x88, 0x01, 0x01, 0x1a, 0x33, 0x0a, 0x06, 0x43, 0x68, + 0x6f, 0x69, 0x63, 0x65, 0x22, 0x29, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, + 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x07, 0x0a, + 0x03, 0x6a, 0x5f, 0x61, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x6a, 0x5f, 0x62, 0x10, 0x02, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6a, + 0x5f, 0x61, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6a, 0x5f, 0x62, 0x22, 0x8a, 0x02, 0x0a, 0x0c, 0x43, + 0x68, 0x6f, 0x69, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3e, 0x0a, 0x06, 0x63, + 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x6f, 0x70, + 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, + 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x05, 0x65, + 0x5f, 0x6f, 0x62, 0x6a, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x01, 0x52, 0x04, + 0x65, 0x4f, 0x62, 0x6a, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x05, 0x66, 0x5f, 0x6f, 0x62, 0x6a, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, + 0x2e, 0x46, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x02, 0x52, 0x04, 0x66, 0x4f, 0x62, 0x6a, + 0x88, 0x01, 0x01, 0x1a, 0x43, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x39, 0x0a, + 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, + 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x10, + 0x01, 0x12, 0x09, 0x0a, 0x05, 0x66, 0x5f, 0x6f, 0x62, 0x6a, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, + 0x6e, 0x6f, 0x5f, 0x6f, 0x62, 0x6a, 0x10, 0x03, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, + 0x69, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x42, 0x08, 0x0a, + 0x06, 0x5f, 0x66, 0x5f, 0x6f, 0x62, 0x6a, 0x22, 0x87, 0x01, 0x0a, 0x07, 0x4b, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x30, 0x0a, 0x08, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, + 0x45, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x07, 0x65, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x08, 0x66, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, + 0x69, 0x2e, 0x46, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x01, 0x52, 0x07, 0x66, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x65, 0x5f, 0x6f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x66, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x22, 0xbc, 0x02, 0x0a, 0x07, 0x4c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x26, 0x0a, + 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x07, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, + 0x72, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x02, 0x48, 0x02, 0x52, 0x05, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, + 0x1b, 0x0a, 0x06, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x48, + 0x03, 0x52, 0x06, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, + 0x6d, 0x61, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x03, 0x6d, 0x61, 0x63, + 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x69, 0x70, 0x76, 0x34, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x05, 0x52, 0x04, 0x69, 0x70, 0x76, 0x34, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, + 0x69, 0x70, 0x76, 0x36, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x04, 0x69, 0x70, + 0x76, 0x36, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x68, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x07, 0x52, 0x03, 0x68, 0x65, 0x78, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, + 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x42, 0x0a, 0x0a, + 0x08, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x42, 0x06, + 0x0a, 0x04, 0x5f, 0x6d, 0x61, 0x63, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x68, 0x65, 0x78, + 0x22, 0xc0, 0x01, 0x0a, 0x07, 0x4d, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x21, 0x0a, 0x0c, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, + 0x18, 0x0a, 0x07, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x07, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x12, + 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, + 0x06, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x63, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x61, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x70, 0x76, + 0x34, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x70, 0x76, 0x34, 0x12, 0x12, 0x0a, + 0x04, 0x69, 0x70, 0x76, 0x36, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x70, 0x76, + 0x36, 0x12, 0x10, 0x0a, 0x03, 0x68, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x68, 0x65, 0x78, 0x22, 0x30, 0x0a, 0x07, 0x4d, 0x61, 0x6e, 0x64, 0x61, 0x74, 0x65, 0x12, 0x25, + 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x2e, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1e, 0x0a, 0x01, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x01, 0x67, 0x22, 0xd8, 0x01, 0x0a, 0x0e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, + 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, + 0x70, 0x69, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, + 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x70, 0x6f, + 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, + 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x02, 0x52, 0x04, 0x66, 0x6c, 0x6f, 0x77, 0x88, 0x01, 0x01, 0x1a, 0x35, 0x0a, 0x06, + 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x2b, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, + 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, + 0x08, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x66, 0x6c, 0x6f, + 0x77, 0x10, 0x02, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x07, + 0x0a, 0x05, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x66, 0x6c, 0x6f, 0x77, + 0x22, 0xde, 0x01, 0x0a, 0x07, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x39, 0x0a, 0x06, + 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x43, + 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, + 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, + 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x05, 0x70, 0x6f, 0x72, + 0x74, 0x73, 0x12, 0x29, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x13, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x6c, 0x6f, 0x77, + 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x05, 0x66, 0x6c, 0x6f, 0x77, 0x73, 0x1a, 0x37, 0x0a, + 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x2d, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, + 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, + 0x12, 0x09, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x66, + 0x6c, 0x6f, 0x77, 0x73, 0x10, 0x02, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, + 0x65, 0x22, 0x5a, 0x0a, 0x0a, 0x50, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x74, 0x78, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, + 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x01, 0x52, 0x08, 0x72, 0x78, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x5a, 0x0a, + 0x0a, 0x46, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x1b, 0x0a, 0x09, 0x74, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x01, 0x52, 0x08, 0x74, 0x78, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, + 0x72, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, + 0x08, 0x72, 0x78, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x88, 0x02, 0x0a, 0x14, 0x52, 0x65, + 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x50, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x71, + 0x75, 0x69, 0x72, 0x65, 0x64, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x50, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x06, 0x63, + 0x68, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x53, 0x0a, 0x10, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, + 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, + 0x65, 0x64, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, + 0x69, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, + 0x69, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x88, 0x01, 0x01, 0x1a, 0x43, 0x0a, 0x06, 0x43, 0x68, + 0x6f, 0x69, 0x63, 0x65, 0x22, 0x39, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, + 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x14, 0x0a, + 0x10, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x62, + 0x6a, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x6e, 0x6f, 0x5f, 0x6f, 0x62, 0x6a, 0x10, 0x02, 0x42, + 0x13, 0x0a, 0x11, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, + 0x5f, 0x6f, 0x62, 0x6a, 0x22, 0xff, 0x01, 0x0a, 0x1a, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, + 0x64, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x64, 0x69, + 0x61, 0x74, 0x65, 0x12, 0x47, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, + 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x65, + 0x72, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, + 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x03, + 0x66, 0x5f, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x66, 0x41, 0x88, + 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x04, 0x6c, 0x65, 0x61, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x22, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x64, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, + 0x4c, 0x65, 0x61, 0x66, 0x48, 0x01, 0x52, 0x04, 0x6c, 0x65, 0x61, 0x66, 0x88, 0x01, 0x01, 0x1a, + 0x34, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x2a, 0x0a, 0x04, 0x45, 0x6e, 0x75, + 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x66, 0x5f, 0x61, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x6c, + 0x65, 0x61, 0x66, 0x10, 0x02, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x66, 0x5f, 0x61, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x6c, 0x65, 0x61, 0x66, 0x22, 0x3d, 0x0a, 0x19, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, + 0x65, 0x64, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0x65, 0x4c, + 0x65, 0x61, 0x66, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x79, 0x0a, 0x08, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4f, 0x6e, + 0x65, 0x12, 0x2b, 0x0a, 0x05, 0x6c, 0x31, 0x5f, 0x70, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x11, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x65, 0x76, 0x65, 0x6c, + 0x54, 0x77, 0x6f, 0x48, 0x00, 0x52, 0x04, 0x6c, 0x31, 0x50, 0x31, 0x88, 0x01, 0x01, 0x12, 0x2c, + 0x0a, 0x05, 0x6c, 0x31, 0x5f, 0x70, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x46, 0x6f, 0x75, + 0x72, 0x48, 0x01, 0x52, 0x04, 0x6c, 0x31, 0x50, 0x32, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, + 0x5f, 0x6c, 0x31, 0x5f, 0x70, 0x31, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x31, 0x5f, 0x70, 0x32, + 0x22, 0x43, 0x0a, 0x08, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x54, 0x77, 0x6f, 0x12, 0x2d, 0x0a, 0x05, + 0x6c, 0x32, 0x5f, 0x70, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6f, 0x70, + 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x54, 0x68, 0x72, 0x65, 0x65, + 0x48, 0x00, 0x52, 0x04, 0x6c, 0x32, 0x50, 0x31, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, + 0x6c, 0x32, 0x5f, 0x70, 0x31, 0x22, 0x30, 0x0a, 0x0a, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x54, 0x68, + 0x72, 0x65, 0x65, 0x12, 0x18, 0x0a, 0x05, 0x6c, 0x33, 0x5f, 0x70, 0x31, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6c, 0x33, 0x50, 0x31, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, + 0x06, 0x5f, 0x6c, 0x33, 0x5f, 0x70, 0x31, 0x22, 0x42, 0x0a, 0x09, 0x4c, 0x65, 0x76, 0x65, 0x6c, + 0x46, 0x6f, 0x75, 0x72, 0x12, 0x2b, 0x0a, 0x05, 0x6c, 0x34, 0x5f, 0x70, 0x31, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x65, + 0x76, 0x65, 0x6c, 0x4f, 0x6e, 0x65, 0x48, 0x00, 0x52, 0x04, 0x6c, 0x34, 0x50, 0x31, 0x88, 0x01, + 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x34, 0x5f, 0x70, 0x31, 0x22, 0x50, 0x0a, 0x0b, 0x49, + 0x70, 0x76, 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x38, 0x0a, 0x04, 0x69, 0x70, + 0x76, 0x34, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, + 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x34, 0x50, 0x61, + 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x34, 0x48, 0x00, 0x52, 0x04, 0x69, 0x70, 0x76, + 0x34, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x22, 0x50, 0x0a, + 0x0b, 0x49, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x38, 0x0a, 0x04, + 0x69, 0x70, 0x76, 0x36, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, + 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, 0x48, 0x00, 0x52, 0x04, 0x69, + 0x70, 0x76, 0x36, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x22, + 0x4a, 0x0a, 0x0a, 0x4d, 0x61, 0x63, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x34, 0x0a, + 0x03, 0x6d, 0x61, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x50, + 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x48, 0x00, 0x52, 0x03, 0x6d, 0x61, 0x63, + 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6d, 0x61, 0x63, 0x22, 0x62, 0x0a, 0x0e, 0x49, + 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x44, 0x0a, + 0x07, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, + 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, + 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, + 0x74, 0x65, 0x67, 0x65, 0x72, 0x48, 0x00, 0x52, 0x07, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, + 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x22, + 0x68, 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x50, 0x61, 0x74, 0x74, 0x65, + 0x72, 0x6e, 0x12, 0x48, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, + 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x50, 0x61, + 0x74, 0x74, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x48, 0x00, 0x52, + 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, + 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x22, 0x42, 0x0a, 0x15, 0x43, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, + 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x48, 0x0a, + 0x10, 0x41, 0x70, 0x69, 0x54, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x42, 0x6f, 0x64, + 0x79, 0x12, 0x24, 0x0a, 0x0b, 0x73, 0x6f, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x6f, 0x6d, 0x65, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x6f, 0x6d, 0x65, + 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0xc4, 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x41, 0x62, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1c, 0x0a, 0x07, 0x73, 0x6f, + 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x73, + 0x6f, 0x6d, 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x73, 0x6f, 0x6d, 0x65, + 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, + 0x0a, 0x73, 0x6f, 0x6d, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x1c, + 0x0a, 0x07, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x02, 0x52, 0x06, 0x70, 0x61, 0x74, 0x68, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, + 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, + 0x06, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x32, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, + 0x6f, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x6f, 0x6d, 0x65, 0x5f, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, + 0x69, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x32, 0x22, 0x43, + 0x0a, 0x12, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x62, 0x63, 0x49, 0x74, 0x65, 0x6d, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x62, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, + 0x65, 0x6d, 0x73, 0x22, 0x8e, 0x03, 0x0a, 0x21, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x50, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x53, 0x0a, 0x06, 0x63, 0x68, 0x6f, + 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x6f, 0x70, 0x65, 0x6e, + 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x43, 0x68, 0x65, + 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, + 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x5c, + 0x0a, 0x09, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x39, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, + 0x65, 0x72, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x2e, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x01, 0x52, 0x09, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, + 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x06, + 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x88, 0x01, 0x01, 0x1a, 0x3c, 0x0a, 0x06, 0x43, 0x68, 0x6f, + 0x69, 0x63, 0x65, 0x22, 0x32, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, + 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x10, 0x02, 0x1a, 0x37, 0x0a, 0x09, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x64, 0x22, 0x2a, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, + 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x08, 0x0a, + 0x04, 0x67, 0x6f, 0x6f, 0x64, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x62, 0x61, 0x64, 0x10, 0x02, + 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x22, 0x95, 0x01, 0x0a, 0x27, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, + 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x41, 0x75, 0x74, 0x6f, + 0x46, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x12, 0x19, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, + 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x73, + 0x74, 0x65, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x04, 0x73, 0x74, 0x65, + 0x70, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, + 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x73, 0x74, + 0x65, 0x70, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x88, 0x04, 0x0a, + 0x20, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x41, 0x75, 0x74, 0x6f, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x65, 0x73, + 0x74, 0x12, 0x52, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x35, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, + 0x65, 0x72, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x41, + 0x75, 0x74, 0x6f, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x68, 0x6f, + 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, + 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, + 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x61, 0x75, 0x74, 0x6f, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x04, 0x61, 0x75, 0x74, 0x6f, 0x88, 0x01, + 0x01, 0x12, 0x53, 0x0a, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, + 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x41, 0x75, 0x74, 0x6f, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x65, 0x73, 0x74, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x03, 0x52, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x53, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6f, 0x70, 0x65, 0x6e, + 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x41, 0x75, 0x74, 0x6f, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x54, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x04, 0x52, 0x09, 0x64, + 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x1a, 0x60, 0x0a, 0x06, 0x43, + 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x56, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, + 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x09, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x61, 0x75, 0x74, 0x6f, 0x10, 0x01, 0x12, + 0x0d, 0x0a, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x04, 0x12, 0x0d, + 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x05, 0x42, 0x09, 0x0a, + 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, + 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x64, 0x65, + 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x8b, 0x01, 0x0a, 0x1d, 0x50, 0x61, 0x74, 0x74, + 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, + 0x76, 0x34, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x05, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, + 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x05, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x42, 0x08, 0x0a, 0x06, 0x5f, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xb4, 0x03, 0x0a, 0x16, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, + 0x6e, 0x49, 0x70, 0x76, 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x34, + 0x12, 0x48, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x2b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, + 0x72, 0x6e, 0x49, 0x70, 0x76, 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, + 0x34, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, + 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x49, 0x0a, + 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x26, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, + 0x72, 0x6e, 0x49, 0x70, 0x76, 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, + 0x34, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x02, 0x52, 0x09, 0x69, 0x6e, 0x63, 0x72, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x49, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x70, + 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, + 0x34, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x34, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x48, 0x03, 0x52, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x88, 0x01, 0x01, 0x1a, 0x56, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x4c, 0x0a, + 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, + 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x10, + 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x10, 0x03, 0x12, 0x0d, 0x0a, + 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, + 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x05, 0x42, 0x09, 0x0a, 0x07, 0x5f, + 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x0c, + 0x0a, 0x0a, 0x5f, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x8b, 0x01, 0x0a, + 0x1d, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, + 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x19, + 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x73, 0x74, 0x65, + 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x88, + 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0d, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, + 0x06, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x73, 0x74, 0x65, 0x70, + 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xb4, 0x03, 0x0a, 0x16, 0x50, + 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, + 0x6e, 0x49, 0x70, 0x76, 0x36, 0x12, 0x48, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, + 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, 0x65, + 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, + 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x12, 0x49, 0x0a, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, + 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, 0x65, + 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x02, 0x52, + 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x49, 0x0a, + 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x26, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, + 0x72, 0x6e, 0x49, 0x70, 0x76, 0x36, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, + 0x36, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x03, 0x52, 0x09, 0x64, 0x65, 0x63, 0x72, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x1a, 0x56, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, + 0x63, 0x65, 0x22, 0x4c, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, + 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, + 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x05, + 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x22, 0x89, 0x01, 0x0a, 0x1b, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, + 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x12, 0x19, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, + 0x73, 0x74, 0x65, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x73, 0x74, + 0x65, 0x70, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, + 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x73, + 0x74, 0x65, 0x70, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xd8, 0x03, + 0x0a, 0x14, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x50, 0x61, 0x74, 0x74, + 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x12, 0x46, 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, + 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x50, 0x61, 0x74, 0x74, 0x65, + 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, + 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x12, 0x17, 0x0a, 0x04, 0x61, 0x75, 0x74, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x02, 0x52, 0x04, 0x61, 0x75, 0x74, 0x6f, 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, 0x09, 0x69, 0x6e, + 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, + 0x61, 0x63, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x48, 0x03, 0x52, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, + 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x50, 0x61, 0x74, 0x74, 0x65, + 0x72, 0x6e, 0x4d, 0x61, 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x04, 0x52, 0x09, + 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x1a, 0x60, 0x0a, 0x06, + 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x56, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, + 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, + 0x09, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x61, 0x75, 0x74, 0x6f, 0x10, 0x01, + 0x12, 0x0d, 0x0a, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x04, 0x12, + 0x0d, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x05, 0x42, 0x09, + 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x42, 0x0c, 0x0a, 0x0a, + 0x5f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x64, + 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x91, 0x01, 0x0a, 0x23, 0x50, 0x61, 0x74, + 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x50, 0x61, 0x74, 0x74, 0x65, + 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x12, 0x19, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, + 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x73, + 0x74, 0x65, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x04, 0x73, 0x74, 0x65, + 0x70, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, + 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x73, 0x74, + 0x65, 0x70, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xcc, 0x03, 0x0a, + 0x1c, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x50, + 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x12, 0x4e, 0x0a, + 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, + 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, + 0x65, 0x67, 0x65, 0x72, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, 0x6e, 0x75, 0x6d, + 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x12, 0x4f, 0x0a, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, + 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x50, 0x61, 0x74, 0x74, + 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x72, 0x48, 0x02, 0x52, 0x09, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x88, 0x01, + 0x01, 0x12, 0x4f, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, + 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x50, 0x61, 0x74, + 0x74, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x48, 0x03, 0x52, 0x09, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x88, + 0x01, 0x01, 0x1a, 0x56, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0x4c, 0x0a, 0x04, + 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, + 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x10, 0x02, + 0x12, 0x0a, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, + 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x64, + 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x05, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, + 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, + 0x0c, 0x0a, 0x0a, 0x5f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x0c, 0x0a, + 0x0a, 0x5f, 0x64, 0x65, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x85, 0x03, 0x0a, 0x1e, + 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x50, + 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x50, + 0x0a, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, + 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x2e, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x45, + 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x06, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x59, 0x0a, 0x09, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, + 0x74, 0x74, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x50, 0x61, 0x74, + 0x74, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x2e, 0x47, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x01, 0x52, 0x09, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x06, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x88, 0x01, 0x01, 0x1a, 0x3c, 0x0a, 0x06, 0x43, 0x68, 0x6f, 0x69, + 0x63, 0x65, 0x22, 0x32, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, 0x6e, + 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x63, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x10, 0x02, 0x1a, 0x37, 0x0a, 0x09, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x64, 0x22, 0x2a, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x75, + 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, + 0x67, 0x6f, 0x6f, 0x64, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x62, 0x61, 0x64, 0x10, 0x02, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x22, 0xb9, 0x01, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x2d, 0x0a, 0x10, 0x61, 0x70, 0x69, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x61, 0x70, 0x69, + 0x53, 0x70, 0x65, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, + 0x0a, 0x0b, 0x73, 0x64, 0x6b, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0a, 0x73, 0x64, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0a, 0x61, 0x70, 0x70, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x61, + 0x70, 0x69, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, + 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x64, 0x6b, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, + 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, + 0x4c, 0x0a, 0x08, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x40, 0x0a, 0x0f, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x57, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0e, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x4e, 0x0a, + 0x10, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x3a, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, + 0x70, 0x69, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x0c, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x58, 0x0a, + 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x0d, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x3a, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x79, + 0x74, 0x65, 0x73, 0x22, 0x59, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6f, 0x70, 0x65, 0x6e, + 0x61, 0x70, 0x69, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x0c, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x4f, + 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, + 0x55, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x40, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x07, + 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, + 0x07, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x22, 0x57, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x57, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x40, 0x0a, 0x0f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, + 0x70, 0x69, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x52, 0x0e, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x22, 0x2f, 0x0a, 0x15, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x22, 0x63, 0x0a, 0x17, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, + 0x13, 0x61, 0x70, 0x69, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, + 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6f, 0x70, 0x65, + 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x70, 0x69, 0x54, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x70, 0x75, + 0x74, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x10, 0x61, 0x70, 0x69, 0x54, 0x65, 0x73, 0x74, 0x49, 0x6e, + 0x70, 0x75, 0x74, 0x42, 0x6f, 0x64, 0x79, 0x22, 0x71, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x52, 0x6f, + 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x56, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x33, 0x0a, 0x19, 0x44, 0x75, + 0x6d, 0x6d, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x65, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, + 0x72, 0x0a, 0x18, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x17, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x73, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x15, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x22, 0x65, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x49, 0x74, 0x65, + 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x15, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x62, 0x63, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, + 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, + 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x62, 0x63, 0x49, 0x74, + 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, + 0x62, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x5a, 0x0a, 0x15, 0x47, 0x65, + 0x74, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x10, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, + 0x62, 0x63, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, + 0x62, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, + 0x62, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x60, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x53, 0x69, 0x6e, + 0x67, 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x32, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x10, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x61, 0x62, 0x63, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x41, 0x62, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x41, 0x62, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x40, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, + 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x10, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0xe2, 0x07, 0x0a, 0x07, 0x4f, + 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x12, 0x42, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x19, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, + 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, + 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x13, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x23, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x09, + 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x1a, 0x1a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, + 0x0a, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x1a, 0x2e, 0x6f, 0x70, + 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, + 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x57, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1c, 0x2e, 0x6f, 0x70, + 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0d, 0x43, 0x6c, 0x65, + 0x61, 0x72, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x1a, 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x6c, 0x65, + 0x61, 0x72, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x20, 0x2e, + 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x4f, 0x0a, 0x11, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x54, 0x65, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x22, 0x2e, 0x6f, + 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x57, 0x0a, 0x10, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x50, + 0x6f, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, + 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0b, 0x47, 0x65, 0x74, + 0x41, 0x6c, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x1a, 0x1c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, + 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, + 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x12, + 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1e, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, + 0x69, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x53, 0x69, + 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x32, 0x12, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, + 0x2e, 0x47, 0x65, 0x74, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x65, + 0x76, 0x65, 0x6c, 0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0a, + 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x1a, 0x1b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, + 0x13, 0x5a, 0x11, 0x2e, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x3b, 0x6f, 0x70, 0x65, + 0x6e, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_openapi_proto_rawDescOnce sync.Once + file_openapi_proto_rawDescData = file_openapi_proto_rawDesc +) + +func file_openapi_proto_rawDescGZIP() []byte { + file_openapi_proto_rawDescOnce.Do(func() { + file_openapi_proto_rawDescData = protoimpl.X.CompressGZIP(file_openapi_proto_rawDescData) + }) + return file_openapi_proto_rawDescData +} + +var file_openapi_proto_enumTypes = make([]protoimpl.EnumInfo, 21) +var file_openapi_proto_msgTypes = make([]protoimpl.MessageInfo, 90) +var file_openapi_proto_goTypes = []interface{}{ + (Error_Kind_Enum)(0), // 0: openapi.Error.Kind.Enum + (PrefixConfig_Response_Enum)(0), // 1: openapi.PrefixConfig.Response.Enum + (PrefixConfig_DValues_Enum)(0), // 2: openapi.PrefixConfig.DValues.Enum + (GObject_Choice_Enum)(0), // 3: openapi.GObject.Choice.Enum + (GObject_GF_Enum)(0), // 4: openapi.GObject.GF.Enum + (FObject_Choice_Enum)(0), // 5: openapi.FObject.Choice.Enum + (JObject_Choice_Enum)(0), // 6: openapi.JObject.Choice.Enum + (ChoiceObject_Choice_Enum)(0), // 7: openapi.ChoiceObject.Choice.Enum + (MetricsRequest_Choice_Enum)(0), // 8: openapi.MetricsRequest.Choice.Enum + (Metrics_Choice_Enum)(0), // 9: openapi.Metrics.Choice.Enum + (RequiredChoiceParent_Choice_Enum)(0), // 10: openapi.RequiredChoiceParent.Choice.Enum + (RequiredChoiceIntermediate_Choice_Enum)(0), // 11: openapi.RequiredChoiceIntermediate.Choice.Enum + (PatternPrefixConfigHeaderChecksum_Choice_Enum)(0), // 12: openapi.PatternPrefixConfigHeaderChecksum.Choice.Enum + (PatternPrefixConfigHeaderChecksum_Generated_Enum)(0), // 13: openapi.PatternPrefixConfigHeaderChecksum.Generated.Enum + (PatternPrefixConfigAutoFieldTest_Choice_Enum)(0), // 14: openapi.PatternPrefixConfigAutoFieldTest.Choice.Enum + (PatternIpv4PatternIpv4_Choice_Enum)(0), // 15: openapi.PatternIpv4PatternIpv4.Choice.Enum + (PatternIpv6PatternIpv6_Choice_Enum)(0), // 16: openapi.PatternIpv6PatternIpv6.Choice.Enum + (PatternMacPatternMac_Choice_Enum)(0), // 17: openapi.PatternMacPatternMac.Choice.Enum + (PatternIntegerPatternInteger_Choice_Enum)(0), // 18: openapi.PatternIntegerPatternInteger.Choice.Enum + (PatternChecksumPatternChecksum_Choice_Enum)(0), // 19: openapi.PatternChecksumPatternChecksum.Choice.Enum + (PatternChecksumPatternChecksum_Generated_Enum)(0), // 20: openapi.PatternChecksumPatternChecksum.Generated.Enum + (*ErrorDetails)(nil), // 21: openapi.ErrorDetails + (*WarningDetails)(nil), // 22: openapi.WarningDetails + (*Error)(nil), // 23: openapi.Error + (*PrefixConfig)(nil), // 24: openapi.PrefixConfig + (*WObject)(nil), // 25: openapi.WObject + (*ZObject)(nil), // 26: openapi.ZObject + (*YObject)(nil), // 27: openapi.YObject + (*Layer1Ieee802X)(nil), // 28: openapi.Layer1Ieee802x + (*GObject)(nil), // 29: openapi.GObject + (*EObject)(nil), // 30: openapi.EObject + (*FObject)(nil), // 31: openapi.FObject + (*JObject)(nil), // 32: openapi.JObject + (*ChoiceObject)(nil), // 33: openapi.ChoiceObject + (*KObject)(nil), // 34: openapi.KObject + (*LObject)(nil), // 35: openapi.LObject + (*MObject)(nil), // 36: openapi.MObject + (*Mandate)(nil), // 37: openapi.Mandate + (*UpdateConfig)(nil), // 38: openapi.UpdateConfig + (*MetricsRequest)(nil), // 39: openapi.MetricsRequest + (*Metrics)(nil), // 40: openapi.Metrics + (*PortMetric)(nil), // 41: openapi.PortMetric + (*FlowMetric)(nil), // 42: openapi.FlowMetric + (*RequiredChoiceParent)(nil), // 43: openapi.RequiredChoiceParent + (*RequiredChoiceIntermediate)(nil), // 44: openapi.RequiredChoiceIntermediate + (*RequiredChoiceIntermeLeaf)(nil), // 45: openapi.RequiredChoiceIntermeLeaf + (*LevelOne)(nil), // 46: openapi.LevelOne + (*LevelTwo)(nil), // 47: openapi.LevelTwo + (*LevelThree)(nil), // 48: openapi.LevelThree + (*LevelFour)(nil), // 49: openapi.LevelFour + (*Ipv4Pattern)(nil), // 50: openapi.Ipv4Pattern + (*Ipv6Pattern)(nil), // 51: openapi.Ipv6Pattern + (*MacPattern)(nil), // 52: openapi.MacPattern + (*IntegerPattern)(nil), // 53: openapi.IntegerPattern + (*ChecksumPattern)(nil), // 54: openapi.ChecksumPattern + (*CommonResponseSuccess)(nil), // 55: openapi.CommonResponseSuccess + (*ApiTestInputBody)(nil), // 56: openapi.ApiTestInputBody + (*ServiceAbcItem)(nil), // 57: openapi.ServiceAbcItem + (*ServiceAbcItemList)(nil), // 58: openapi.ServiceAbcItemList + (*PatternPrefixConfigHeaderChecksum)(nil), // 59: openapi.PatternPrefixConfigHeaderChecksum + (*PatternPrefixConfigAutoFieldTestCounter)(nil), // 60: openapi.PatternPrefixConfigAutoFieldTestCounter + (*PatternPrefixConfigAutoFieldTest)(nil), // 61: openapi.PatternPrefixConfigAutoFieldTest + (*PatternIpv4PatternIpv4Counter)(nil), // 62: openapi.PatternIpv4PatternIpv4Counter + (*PatternIpv4PatternIpv4)(nil), // 63: openapi.PatternIpv4PatternIpv4 + (*PatternIpv6PatternIpv6Counter)(nil), // 64: openapi.PatternIpv6PatternIpv6Counter + (*PatternIpv6PatternIpv6)(nil), // 65: openapi.PatternIpv6PatternIpv6 + (*PatternMacPatternMacCounter)(nil), // 66: openapi.PatternMacPatternMacCounter + (*PatternMacPatternMac)(nil), // 67: openapi.PatternMacPatternMac + (*PatternIntegerPatternIntegerCounter)(nil), // 68: openapi.PatternIntegerPatternIntegerCounter + (*PatternIntegerPatternInteger)(nil), // 69: openapi.PatternIntegerPatternInteger + (*PatternChecksumPatternChecksum)(nil), // 70: openapi.PatternChecksumPatternChecksum + (*Version)(nil), // 71: openapi.Version + (*Warnings)(nil), // 72: openapi.Warnings + (*SetConfigRequest)(nil), // 73: openapi.SetConfigRequest + (*UpdateConfigurationRequest)(nil), // 74: openapi.UpdateConfigurationRequest + (*SetConfigResponse)(nil), // 75: openapi.SetConfigResponse + (*UpdateConfigurationResponse)(nil), // 76: openapi.UpdateConfigurationResponse + (*GetConfigResponse)(nil), // 77: openapi.GetConfigResponse + (*GetMetricsRequest)(nil), // 78: openapi.GetMetricsRequest + (*GetMetricsResponse)(nil), // 79: openapi.GetMetricsResponse + (*GetWarningsResponse)(nil), // 80: openapi.GetWarningsResponse + (*ClearWarningsResponse)(nil), // 81: openapi.ClearWarningsResponse + (*PostRootResponseRequest)(nil), // 82: openapi.PostRootResponseRequest + (*GetRootResponseResponse)(nil), // 83: openapi.GetRootResponseResponse + (*DummyResponseTestResponse)(nil), // 84: openapi.DummyResponseTestResponse + (*PostRootResponseResponse)(nil), // 85: openapi.PostRootResponseResponse + (*GetAllItemsResponse)(nil), // 86: openapi.GetAllItemsResponse + (*GetSingleItemResponse)(nil), // 87: openapi.GetSingleItemResponse + (*GetSingleItemLevel2Response)(nil), // 88: openapi.GetSingleItemLevel2Response + (*GetVersionResponse)(nil), // 89: openapi.GetVersionResponse + (*Error_Kind)(nil), // 90: openapi.Error.Kind + (*PrefixConfig_Response)(nil), // 91: openapi.PrefixConfig.Response + (*PrefixConfig_DValues)(nil), // 92: openapi.PrefixConfig.DValues + (*GObject_Choice)(nil), // 93: openapi.GObject.Choice + (*GObject_GF)(nil), // 94: openapi.GObject.GF + (*FObject_Choice)(nil), // 95: openapi.FObject.Choice + (*JObject_Choice)(nil), // 96: openapi.JObject.Choice + (*ChoiceObject_Choice)(nil), // 97: openapi.ChoiceObject.Choice + (*MetricsRequest_Choice)(nil), // 98: openapi.MetricsRequest.Choice + (*Metrics_Choice)(nil), // 99: openapi.Metrics.Choice + (*RequiredChoiceParent_Choice)(nil), // 100: openapi.RequiredChoiceParent.Choice + (*RequiredChoiceIntermediate_Choice)(nil), // 101: openapi.RequiredChoiceIntermediate.Choice + (*PatternPrefixConfigHeaderChecksum_Choice)(nil), // 102: openapi.PatternPrefixConfigHeaderChecksum.Choice + (*PatternPrefixConfigHeaderChecksum_Generated)(nil), // 103: openapi.PatternPrefixConfigHeaderChecksum.Generated + (*PatternPrefixConfigAutoFieldTest_Choice)(nil), // 104: openapi.PatternPrefixConfigAutoFieldTest.Choice + (*PatternIpv4PatternIpv4_Choice)(nil), // 105: openapi.PatternIpv4PatternIpv4.Choice + (*PatternIpv6PatternIpv6_Choice)(nil), // 106: openapi.PatternIpv6PatternIpv6.Choice + (*PatternMacPatternMac_Choice)(nil), // 107: openapi.PatternMacPatternMac.Choice + (*PatternIntegerPatternInteger_Choice)(nil), // 108: openapi.PatternIntegerPatternInteger.Choice + (*PatternChecksumPatternChecksum_Choice)(nil), // 109: openapi.PatternChecksumPatternChecksum.Choice + (*PatternChecksumPatternChecksum_Generated)(nil), // 110: openapi.PatternChecksumPatternChecksum.Generated + (*emptypb.Empty)(nil), // 111: google.protobuf.Empty +} +var file_openapi_proto_depIdxs = []int32{ + 0, // 0: openapi.Error.kind:type_name -> openapi.Error.Kind.Enum + 30, // 1: openapi.PrefixConfig.required_object:type_name -> openapi.EObject + 30, // 2: openapi.PrefixConfig.optional_object:type_name -> openapi.EObject + 1, // 3: openapi.PrefixConfig.response:type_name -> openapi.PrefixConfig.Response.Enum + 2, // 4: openapi.PrefixConfig.d_values:type_name -> openapi.PrefixConfig.DValues.Enum + 30, // 5: openapi.PrefixConfig.e:type_name -> openapi.EObject + 31, // 6: openapi.PrefixConfig.f:type_name -> openapi.FObject + 29, // 7: openapi.PrefixConfig.g:type_name -> openapi.GObject + 32, // 8: openapi.PrefixConfig.j:type_name -> openapi.JObject + 34, // 9: openapi.PrefixConfig.k:type_name -> openapi.KObject + 35, // 10: openapi.PrefixConfig.l:type_name -> openapi.LObject + 46, // 11: openapi.PrefixConfig.level:type_name -> openapi.LevelOne + 37, // 12: openapi.PrefixConfig.mandatory:type_name -> openapi.Mandate + 50, // 13: openapi.PrefixConfig.ipv4_pattern:type_name -> openapi.Ipv4Pattern + 51, // 14: openapi.PrefixConfig.ipv6_pattern:type_name -> openapi.Ipv6Pattern + 52, // 15: openapi.PrefixConfig.mac_pattern:type_name -> openapi.MacPattern + 53, // 16: openapi.PrefixConfig.integer_pattern:type_name -> openapi.IntegerPattern + 54, // 17: openapi.PrefixConfig.checksum_pattern:type_name -> openapi.ChecksumPattern + 28, // 18: openapi.PrefixConfig.case:type_name -> openapi.Layer1Ieee802x + 36, // 19: openapi.PrefixConfig.m_object:type_name -> openapi.MObject + 59, // 20: openapi.PrefixConfig.header_checksum:type_name -> openapi.PatternPrefixConfigHeaderChecksum + 61, // 21: openapi.PrefixConfig.auto_field_test:type_name -> openapi.PatternPrefixConfigAutoFieldTest + 25, // 22: openapi.PrefixConfig.w_list:type_name -> openapi.WObject + 26, // 23: openapi.PrefixConfig.x_list:type_name -> openapi.ZObject + 26, // 24: openapi.PrefixConfig.z_object:type_name -> openapi.ZObject + 27, // 25: openapi.PrefixConfig.y_object:type_name -> openapi.YObject + 33, // 26: openapi.PrefixConfig.choice_object:type_name -> openapi.ChoiceObject + 43, // 27: openapi.PrefixConfig.required_choice_object:type_name -> openapi.RequiredChoiceParent + 29, // 28: openapi.PrefixConfig.g1:type_name -> openapi.GObject + 29, // 29: openapi.PrefixConfig.g2:type_name -> openapi.GObject + 3, // 30: openapi.GObject.choice:type_name -> openapi.GObject.Choice.Enum + 4, // 31: openapi.GObject.g_f:type_name -> openapi.GObject.GF.Enum + 5, // 32: openapi.FObject.choice:type_name -> openapi.FObject.Choice.Enum + 6, // 33: openapi.JObject.choice:type_name -> openapi.JObject.Choice.Enum + 30, // 34: openapi.JObject.j_a:type_name -> openapi.EObject + 31, // 35: openapi.JObject.j_b:type_name -> openapi.FObject + 7, // 36: openapi.ChoiceObject.choice:type_name -> openapi.ChoiceObject.Choice.Enum + 30, // 37: openapi.ChoiceObject.e_obj:type_name -> openapi.EObject + 31, // 38: openapi.ChoiceObject.f_obj:type_name -> openapi.FObject + 30, // 39: openapi.KObject.e_object:type_name -> openapi.EObject + 31, // 40: openapi.KObject.f_object:type_name -> openapi.FObject + 29, // 41: openapi.UpdateConfig.g:type_name -> openapi.GObject + 8, // 42: openapi.MetricsRequest.choice:type_name -> openapi.MetricsRequest.Choice.Enum + 9, // 43: openapi.Metrics.choice:type_name -> openapi.Metrics.Choice.Enum + 41, // 44: openapi.Metrics.ports:type_name -> openapi.PortMetric + 42, // 45: openapi.Metrics.flows:type_name -> openapi.FlowMetric + 10, // 46: openapi.RequiredChoiceParent.choice:type_name -> openapi.RequiredChoiceParent.Choice.Enum + 44, // 47: openapi.RequiredChoiceParent.intermediate_obj:type_name -> openapi.RequiredChoiceIntermediate + 11, // 48: openapi.RequiredChoiceIntermediate.choice:type_name -> openapi.RequiredChoiceIntermediate.Choice.Enum + 45, // 49: openapi.RequiredChoiceIntermediate.leaf:type_name -> openapi.RequiredChoiceIntermeLeaf + 47, // 50: openapi.LevelOne.l1_p1:type_name -> openapi.LevelTwo + 49, // 51: openapi.LevelOne.l1_p2:type_name -> openapi.LevelFour + 48, // 52: openapi.LevelTwo.l2_p1:type_name -> openapi.LevelThree + 46, // 53: openapi.LevelFour.l4_p1:type_name -> openapi.LevelOne + 63, // 54: openapi.Ipv4Pattern.ipv4:type_name -> openapi.PatternIpv4PatternIpv4 + 65, // 55: openapi.Ipv6Pattern.ipv6:type_name -> openapi.PatternIpv6PatternIpv6 + 67, // 56: openapi.MacPattern.mac:type_name -> openapi.PatternMacPatternMac + 69, // 57: openapi.IntegerPattern.integer:type_name -> openapi.PatternIntegerPatternInteger + 70, // 58: openapi.ChecksumPattern.checksum:type_name -> openapi.PatternChecksumPatternChecksum + 57, // 59: openapi.ServiceAbcItemList.items:type_name -> openapi.ServiceAbcItem + 12, // 60: openapi.PatternPrefixConfigHeaderChecksum.choice:type_name -> openapi.PatternPrefixConfigHeaderChecksum.Choice.Enum + 13, // 61: openapi.PatternPrefixConfigHeaderChecksum.generated:type_name -> openapi.PatternPrefixConfigHeaderChecksum.Generated.Enum + 14, // 62: openapi.PatternPrefixConfigAutoFieldTest.choice:type_name -> openapi.PatternPrefixConfigAutoFieldTest.Choice.Enum + 60, // 63: openapi.PatternPrefixConfigAutoFieldTest.increment:type_name -> openapi.PatternPrefixConfigAutoFieldTestCounter + 60, // 64: openapi.PatternPrefixConfigAutoFieldTest.decrement:type_name -> openapi.PatternPrefixConfigAutoFieldTestCounter + 15, // 65: openapi.PatternIpv4PatternIpv4.choice:type_name -> openapi.PatternIpv4PatternIpv4.Choice.Enum + 62, // 66: openapi.PatternIpv4PatternIpv4.increment:type_name -> openapi.PatternIpv4PatternIpv4Counter + 62, // 67: openapi.PatternIpv4PatternIpv4.decrement:type_name -> openapi.PatternIpv4PatternIpv4Counter + 16, // 68: openapi.PatternIpv6PatternIpv6.choice:type_name -> openapi.PatternIpv6PatternIpv6.Choice.Enum + 64, // 69: openapi.PatternIpv6PatternIpv6.increment:type_name -> openapi.PatternIpv6PatternIpv6Counter + 64, // 70: openapi.PatternIpv6PatternIpv6.decrement:type_name -> openapi.PatternIpv6PatternIpv6Counter + 17, // 71: openapi.PatternMacPatternMac.choice:type_name -> openapi.PatternMacPatternMac.Choice.Enum + 66, // 72: openapi.PatternMacPatternMac.increment:type_name -> openapi.PatternMacPatternMacCounter + 66, // 73: openapi.PatternMacPatternMac.decrement:type_name -> openapi.PatternMacPatternMacCounter + 18, // 74: openapi.PatternIntegerPatternInteger.choice:type_name -> openapi.PatternIntegerPatternInteger.Choice.Enum + 68, // 75: openapi.PatternIntegerPatternInteger.increment:type_name -> openapi.PatternIntegerPatternIntegerCounter + 68, // 76: openapi.PatternIntegerPatternInteger.decrement:type_name -> openapi.PatternIntegerPatternIntegerCounter + 19, // 77: openapi.PatternChecksumPatternChecksum.choice:type_name -> openapi.PatternChecksumPatternChecksum.Choice.Enum + 20, // 78: openapi.PatternChecksumPatternChecksum.generated:type_name -> openapi.PatternChecksumPatternChecksum.Generated.Enum + 22, // 79: openapi.Warnings.warning_details:type_name -> openapi.WarningDetails + 24, // 80: openapi.SetConfigRequest.prefix_config:type_name -> openapi.PrefixConfig + 38, // 81: openapi.UpdateConfigurationRequest.update_config:type_name -> openapi.UpdateConfig + 24, // 82: openapi.UpdateConfigurationResponse.prefix_config:type_name -> openapi.PrefixConfig + 24, // 83: openapi.GetConfigResponse.prefix_config:type_name -> openapi.PrefixConfig + 39, // 84: openapi.GetMetricsRequest.metrics_request:type_name -> openapi.MetricsRequest + 40, // 85: openapi.GetMetricsResponse.metrics:type_name -> openapi.Metrics + 22, // 86: openapi.GetWarningsResponse.warning_details:type_name -> openapi.WarningDetails + 56, // 87: openapi.PostRootResponseRequest.api_test_input_body:type_name -> openapi.ApiTestInputBody + 55, // 88: openapi.GetRootResponseResponse.common_response_success:type_name -> openapi.CommonResponseSuccess + 55, // 89: openapi.PostRootResponseResponse.common_response_success:type_name -> openapi.CommonResponseSuccess + 58, // 90: openapi.GetAllItemsResponse.service_abc_item_list:type_name -> openapi.ServiceAbcItemList + 57, // 91: openapi.GetSingleItemResponse.service_abc_item:type_name -> openapi.ServiceAbcItem + 57, // 92: openapi.GetSingleItemLevel2Response.service_abc_item:type_name -> openapi.ServiceAbcItem + 71, // 93: openapi.GetVersionResponse.version:type_name -> openapi.Version + 73, // 94: openapi.Openapi.SetConfig:input_type -> openapi.SetConfigRequest + 74, // 95: openapi.Openapi.UpdateConfiguration:input_type -> openapi.UpdateConfigurationRequest + 111, // 96: openapi.Openapi.GetConfig:input_type -> google.protobuf.Empty + 78, // 97: openapi.Openapi.GetMetrics:input_type -> openapi.GetMetricsRequest + 111, // 98: openapi.Openapi.GetWarnings:input_type -> google.protobuf.Empty + 111, // 99: openapi.Openapi.ClearWarnings:input_type -> google.protobuf.Empty + 111, // 100: openapi.Openapi.GetRootResponse:input_type -> google.protobuf.Empty + 111, // 101: openapi.Openapi.DummyResponseTest:input_type -> google.protobuf.Empty + 82, // 102: openapi.Openapi.PostRootResponse:input_type -> openapi.PostRootResponseRequest + 111, // 103: openapi.Openapi.GetAllItems:input_type -> google.protobuf.Empty + 111, // 104: openapi.Openapi.GetSingleItem:input_type -> google.protobuf.Empty + 111, // 105: openapi.Openapi.GetSingleItemLevel2:input_type -> google.protobuf.Empty + 111, // 106: openapi.Openapi.GetVersion:input_type -> google.protobuf.Empty + 75, // 107: openapi.Openapi.SetConfig:output_type -> openapi.SetConfigResponse + 76, // 108: openapi.Openapi.UpdateConfiguration:output_type -> openapi.UpdateConfigurationResponse + 77, // 109: openapi.Openapi.GetConfig:output_type -> openapi.GetConfigResponse + 79, // 110: openapi.Openapi.GetMetrics:output_type -> openapi.GetMetricsResponse + 80, // 111: openapi.Openapi.GetWarnings:output_type -> openapi.GetWarningsResponse + 81, // 112: openapi.Openapi.ClearWarnings:output_type -> openapi.ClearWarningsResponse + 83, // 113: openapi.Openapi.GetRootResponse:output_type -> openapi.GetRootResponseResponse + 84, // 114: openapi.Openapi.DummyResponseTest:output_type -> openapi.DummyResponseTestResponse + 85, // 115: openapi.Openapi.PostRootResponse:output_type -> openapi.PostRootResponseResponse + 86, // 116: openapi.Openapi.GetAllItems:output_type -> openapi.GetAllItemsResponse + 87, // 117: openapi.Openapi.GetSingleItem:output_type -> openapi.GetSingleItemResponse + 88, // 118: openapi.Openapi.GetSingleItemLevel2:output_type -> openapi.GetSingleItemLevel2Response + 89, // 119: openapi.Openapi.GetVersion:output_type -> openapi.GetVersionResponse + 107, // [107:120] is the sub-list for method output_type + 94, // [94:107] is the sub-list for method input_type + 94, // [94:94] is the sub-list for extension type_name + 94, // [94:94] is the sub-list for extension extendee + 0, // [0:94] is the sub-list for field type_name +} + +func init() { file_openapi_proto_init() } +func file_openapi_proto_init() { + if File_openapi_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_openapi_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ErrorDetails); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WarningDetails); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Error); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PrefixConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WObject); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ZObject); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*YObject); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Layer1Ieee802X); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GObject); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EObject); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FObject); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JObject); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChoiceObject); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*KObject); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LObject); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MObject); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Mandate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MetricsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Metrics); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PortMetric); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FlowMetric); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RequiredChoiceParent); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RequiredChoiceIntermediate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RequiredChoiceIntermeLeaf); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LevelOne); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LevelTwo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LevelThree); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LevelFour); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Ipv4Pattern); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Ipv6Pattern); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MacPattern); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IntegerPattern); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChecksumPattern); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommonResponseSuccess); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApiTestInputBody); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ServiceAbcItem); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ServiceAbcItemList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternPrefixConfigHeaderChecksum); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternPrefixConfigAutoFieldTestCounter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternPrefixConfigAutoFieldTest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternIpv4PatternIpv4Counter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternIpv4PatternIpv4); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternIpv6PatternIpv6Counter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternIpv6PatternIpv6); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternMacPatternMacCounter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternMacPatternMac); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternIntegerPatternIntegerCounter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternIntegerPatternInteger); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternChecksumPatternChecksum); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Version); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Warnings); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetConfigRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateConfigurationRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetConfigResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateConfigurationResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetConfigResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetMetricsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetMetricsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetWarningsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClearWarningsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostRootResponseRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRootResponseResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DummyResponseTestResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostRootResponseResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetAllItemsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetSingleItemResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetSingleItemLevel2Response); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetVersionResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Error_Kind); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PrefixConfig_Response); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PrefixConfig_DValues); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GObject_Choice); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GObject_GF); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FObject_Choice); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JObject_Choice); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChoiceObject_Choice); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MetricsRequest_Choice); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Metrics_Choice); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RequiredChoiceParent_Choice); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RequiredChoiceIntermediate_Choice); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternPrefixConfigHeaderChecksum_Choice); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternPrefixConfigHeaderChecksum_Generated); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternPrefixConfigAutoFieldTest_Choice); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternIpv4PatternIpv4_Choice); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternIpv6PatternIpv6_Choice); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternMacPatternMac_Choice); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternIntegerPatternInteger_Choice); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternChecksumPatternChecksum_Choice); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_openapi_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatternChecksumPatternChecksum_Generated); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_openapi_proto_msgTypes[2].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[3].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[6].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[7].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[8].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[9].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[10].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[11].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[12].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[13].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[14].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[18].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[19].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[22].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[23].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[24].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[25].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[26].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[27].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[28].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[29].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[30].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[31].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[32].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[33].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[34].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[35].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[36].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[38].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[39].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[40].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[41].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[42].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[43].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[44].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[45].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[46].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[47].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[48].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[49].OneofWrappers = []interface{}{} + file_openapi_proto_msgTypes[50].OneofWrappers = []interface{}{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_openapi_proto_rawDesc, + NumEnums: 21, + NumMessages: 90, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_openapi_proto_goTypes, + DependencyIndexes: file_openapi_proto_depIdxs, + EnumInfos: file_openapi_proto_enumTypes, + MessageInfos: file_openapi_proto_msgTypes, + }.Build() + File_openapi_proto = out.File + file_openapi_proto_rawDesc = nil + file_openapi_proto_goTypes = nil + file_openapi_proto_depIdxs = nil +} diff --git a/artifacts/goapi/openapi/openapi_grpc.pb.go b/artifacts/goapi/openapi/openapi_grpc.pb.go new file mode 100644 index 00000000..08539b3f --- /dev/null +++ b/artifacts/goapi/openapi/openapi_grpc.pb.go @@ -0,0 +1,569 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v4.23.3 +// source: openapi.proto + +package openapi + +import ( + context "context" + + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + emptypb "google.golang.org/protobuf/types/known/emptypb" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// OpenapiClient is the client API for Openapi service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type OpenapiClient interface { + // Sets configuration resources. + SetConfig(ctx context.Context, in *SetConfigRequest, opts ...grpc.CallOption) (*SetConfigResponse, error) + // Deprecated: please use post instead + // + // Sets configuration resources. + UpdateConfiguration(ctx context.Context, in *UpdateConfigurationRequest, opts ...grpc.CallOption) (*UpdateConfigurationResponse, error) + // Gets the configuration resources. + GetConfig(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetConfigResponse, error) + // Gets metrics. + GetMetrics(ctx context.Context, in *GetMetricsRequest, opts ...grpc.CallOption) (*GetMetricsResponse, error) + // Gets warnings. + GetWarnings(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetWarningsResponse, error) + // Clears warnings. + ClearWarnings(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ClearWarningsResponse, error) + // simple GET api with single return type + GetRootResponse(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetRootResponseResponse, error) + // Description missing in models + DummyResponseTest(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*DummyResponseTestResponse, error) + // simple POST api with single return type + PostRootResponse(ctx context.Context, in *PostRootResponseRequest, opts ...grpc.CallOption) (*PostRootResponseResponse, error) + // return list of some items + GetAllItems(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetAllItemsResponse, error) + // return single item + GetSingleItem(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetSingleItemResponse, error) + // return single item + GetSingleItemLevel2(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetSingleItemLevel2Response, error) + // Description missing in models + GetVersion(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetVersionResponse, error) +} + +type openapiClient struct { + cc grpc.ClientConnInterface +} + +func NewOpenapiClient(cc grpc.ClientConnInterface) OpenapiClient { + return &openapiClient{cc} +} + +func (c *openapiClient) SetConfig(ctx context.Context, in *SetConfigRequest, opts ...grpc.CallOption) (*SetConfigResponse, error) { + out := new(SetConfigResponse) + err := c.cc.Invoke(ctx, "/openapi.Openapi/SetConfig", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openapiClient) UpdateConfiguration(ctx context.Context, in *UpdateConfigurationRequest, opts ...grpc.CallOption) (*UpdateConfigurationResponse, error) { + out := new(UpdateConfigurationResponse) + err := c.cc.Invoke(ctx, "/openapi.Openapi/UpdateConfiguration", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openapiClient) GetConfig(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetConfigResponse, error) { + out := new(GetConfigResponse) + err := c.cc.Invoke(ctx, "/openapi.Openapi/GetConfig", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openapiClient) GetMetrics(ctx context.Context, in *GetMetricsRequest, opts ...grpc.CallOption) (*GetMetricsResponse, error) { + out := new(GetMetricsResponse) + err := c.cc.Invoke(ctx, "/openapi.Openapi/GetMetrics", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openapiClient) GetWarnings(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetWarningsResponse, error) { + out := new(GetWarningsResponse) + err := c.cc.Invoke(ctx, "/openapi.Openapi/GetWarnings", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openapiClient) ClearWarnings(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ClearWarningsResponse, error) { + out := new(ClearWarningsResponse) + err := c.cc.Invoke(ctx, "/openapi.Openapi/ClearWarnings", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openapiClient) GetRootResponse(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetRootResponseResponse, error) { + out := new(GetRootResponseResponse) + err := c.cc.Invoke(ctx, "/openapi.Openapi/GetRootResponse", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openapiClient) DummyResponseTest(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*DummyResponseTestResponse, error) { + out := new(DummyResponseTestResponse) + err := c.cc.Invoke(ctx, "/openapi.Openapi/DummyResponseTest", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openapiClient) PostRootResponse(ctx context.Context, in *PostRootResponseRequest, opts ...grpc.CallOption) (*PostRootResponseResponse, error) { + out := new(PostRootResponseResponse) + err := c.cc.Invoke(ctx, "/openapi.Openapi/PostRootResponse", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openapiClient) GetAllItems(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetAllItemsResponse, error) { + out := new(GetAllItemsResponse) + err := c.cc.Invoke(ctx, "/openapi.Openapi/GetAllItems", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openapiClient) GetSingleItem(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetSingleItemResponse, error) { + out := new(GetSingleItemResponse) + err := c.cc.Invoke(ctx, "/openapi.Openapi/GetSingleItem", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openapiClient) GetSingleItemLevel2(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetSingleItemLevel2Response, error) { + out := new(GetSingleItemLevel2Response) + err := c.cc.Invoke(ctx, "/openapi.Openapi/GetSingleItemLevel2", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *openapiClient) GetVersion(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetVersionResponse, error) { + out := new(GetVersionResponse) + err := c.cc.Invoke(ctx, "/openapi.Openapi/GetVersion", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// OpenapiServer is the server API for Openapi service. +// All implementations must embed UnimplementedOpenapiServer +// for forward compatibility +type OpenapiServer interface { + // Sets configuration resources. + SetConfig(context.Context, *SetConfigRequest) (*SetConfigResponse, error) + // Deprecated: please use post instead + // + // Sets configuration resources. + UpdateConfiguration(context.Context, *UpdateConfigurationRequest) (*UpdateConfigurationResponse, error) + // Gets the configuration resources. + GetConfig(context.Context, *emptypb.Empty) (*GetConfigResponse, error) + // Gets metrics. + GetMetrics(context.Context, *GetMetricsRequest) (*GetMetricsResponse, error) + // Gets warnings. + GetWarnings(context.Context, *emptypb.Empty) (*GetWarningsResponse, error) + // Clears warnings. + ClearWarnings(context.Context, *emptypb.Empty) (*ClearWarningsResponse, error) + // simple GET api with single return type + GetRootResponse(context.Context, *emptypb.Empty) (*GetRootResponseResponse, error) + // Description missing in models + DummyResponseTest(context.Context, *emptypb.Empty) (*DummyResponseTestResponse, error) + // simple POST api with single return type + PostRootResponse(context.Context, *PostRootResponseRequest) (*PostRootResponseResponse, error) + // return list of some items + GetAllItems(context.Context, *emptypb.Empty) (*GetAllItemsResponse, error) + // return single item + GetSingleItem(context.Context, *emptypb.Empty) (*GetSingleItemResponse, error) + // return single item + GetSingleItemLevel2(context.Context, *emptypb.Empty) (*GetSingleItemLevel2Response, error) + // Description missing in models + GetVersion(context.Context, *emptypb.Empty) (*GetVersionResponse, error) + mustEmbedUnimplementedOpenapiServer() +} + +// UnimplementedOpenapiServer must be embedded to have forward compatible implementations. +type UnimplementedOpenapiServer struct { +} + +func (UnimplementedOpenapiServer) SetConfig(context.Context, *SetConfigRequest) (*SetConfigResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetConfig not implemented") +} +func (UnimplementedOpenapiServer) UpdateConfiguration(context.Context, *UpdateConfigurationRequest) (*UpdateConfigurationResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateConfiguration not implemented") +} +func (UnimplementedOpenapiServer) GetConfig(context.Context, *emptypb.Empty) (*GetConfigResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetConfig not implemented") +} +func (UnimplementedOpenapiServer) GetMetrics(context.Context, *GetMetricsRequest) (*GetMetricsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetMetrics not implemented") +} +func (UnimplementedOpenapiServer) GetWarnings(context.Context, *emptypb.Empty) (*GetWarningsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetWarnings not implemented") +} +func (UnimplementedOpenapiServer) ClearWarnings(context.Context, *emptypb.Empty) (*ClearWarningsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ClearWarnings not implemented") +} +func (UnimplementedOpenapiServer) GetRootResponse(context.Context, *emptypb.Empty) (*GetRootResponseResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetRootResponse not implemented") +} +func (UnimplementedOpenapiServer) DummyResponseTest(context.Context, *emptypb.Empty) (*DummyResponseTestResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DummyResponseTest not implemented") +} +func (UnimplementedOpenapiServer) PostRootResponse(context.Context, *PostRootResponseRequest) (*PostRootResponseResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method PostRootResponse not implemented") +} +func (UnimplementedOpenapiServer) GetAllItems(context.Context, *emptypb.Empty) (*GetAllItemsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetAllItems not implemented") +} +func (UnimplementedOpenapiServer) GetSingleItem(context.Context, *emptypb.Empty) (*GetSingleItemResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetSingleItem not implemented") +} +func (UnimplementedOpenapiServer) GetSingleItemLevel2(context.Context, *emptypb.Empty) (*GetSingleItemLevel2Response, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetSingleItemLevel2 not implemented") +} +func (UnimplementedOpenapiServer) GetVersion(context.Context, *emptypb.Empty) (*GetVersionResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetVersion not implemented") +} +func (UnimplementedOpenapiServer) mustEmbedUnimplementedOpenapiServer() {} + +// UnsafeOpenapiServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to OpenapiServer will +// result in compilation errors. +type UnsafeOpenapiServer interface { + mustEmbedUnimplementedOpenapiServer() +} + +func RegisterOpenapiServer(s grpc.ServiceRegistrar, srv OpenapiServer) { + s.RegisterService(&Openapi_ServiceDesc, srv) +} + +func _Openapi_SetConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetConfigRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenapiServer).SetConfig(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/openapi.Openapi/SetConfig", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenapiServer).SetConfig(ctx, req.(*SetConfigRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openapi_UpdateConfiguration_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateConfigurationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenapiServer).UpdateConfiguration(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/openapi.Openapi/UpdateConfiguration", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenapiServer).UpdateConfiguration(ctx, req.(*UpdateConfigurationRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openapi_GetConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenapiServer).GetConfig(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/openapi.Openapi/GetConfig", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenapiServer).GetConfig(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openapi_GetMetrics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetMetricsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenapiServer).GetMetrics(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/openapi.Openapi/GetMetrics", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenapiServer).GetMetrics(ctx, req.(*GetMetricsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openapi_GetWarnings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenapiServer).GetWarnings(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/openapi.Openapi/GetWarnings", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenapiServer).GetWarnings(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openapi_ClearWarnings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenapiServer).ClearWarnings(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/openapi.Openapi/ClearWarnings", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenapiServer).ClearWarnings(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openapi_GetRootResponse_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenapiServer).GetRootResponse(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/openapi.Openapi/GetRootResponse", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenapiServer).GetRootResponse(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openapi_DummyResponseTest_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenapiServer).DummyResponseTest(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/openapi.Openapi/DummyResponseTest", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenapiServer).DummyResponseTest(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openapi_PostRootResponse_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PostRootResponseRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenapiServer).PostRootResponse(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/openapi.Openapi/PostRootResponse", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenapiServer).PostRootResponse(ctx, req.(*PostRootResponseRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openapi_GetAllItems_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenapiServer).GetAllItems(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/openapi.Openapi/GetAllItems", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenapiServer).GetAllItems(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openapi_GetSingleItem_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenapiServer).GetSingleItem(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/openapi.Openapi/GetSingleItem", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenapiServer).GetSingleItem(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openapi_GetSingleItemLevel2_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenapiServer).GetSingleItemLevel2(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/openapi.Openapi/GetSingleItemLevel2", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenapiServer).GetSingleItemLevel2(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +func _Openapi_GetVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(emptypb.Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OpenapiServer).GetVersion(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/openapi.Openapi/GetVersion", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OpenapiServer).GetVersion(ctx, req.(*emptypb.Empty)) + } + return interceptor(ctx, in, info, handler) +} + +// Openapi_ServiceDesc is the grpc.ServiceDesc for Openapi service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var Openapi_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "openapi.Openapi", + HandlerType: (*OpenapiServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "SetConfig", + Handler: _Openapi_SetConfig_Handler, + }, + { + MethodName: "UpdateConfiguration", + Handler: _Openapi_UpdateConfiguration_Handler, + }, + { + MethodName: "GetConfig", + Handler: _Openapi_GetConfig_Handler, + }, + { + MethodName: "GetMetrics", + Handler: _Openapi_GetMetrics_Handler, + }, + { + MethodName: "GetWarnings", + Handler: _Openapi_GetWarnings_Handler, + }, + { + MethodName: "ClearWarnings", + Handler: _Openapi_ClearWarnings_Handler, + }, + { + MethodName: "GetRootResponse", + Handler: _Openapi_GetRootResponse_Handler, + }, + { + MethodName: "DummyResponseTest", + Handler: _Openapi_DummyResponseTest_Handler, + }, + { + MethodName: "PostRootResponse", + Handler: _Openapi_PostRootResponse_Handler, + }, + { + MethodName: "GetAllItems", + Handler: _Openapi_GetAllItems_Handler, + }, + { + MethodName: "GetSingleItem", + Handler: _Openapi_GetSingleItem_Handler, + }, + { + MethodName: "GetSingleItemLevel2", + Handler: _Openapi_GetSingleItemLevel2_Handler, + }, + { + MethodName: "GetVersion", + Handler: _Openapi_GetVersion_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "openapi.proto", +} diff --git a/artifacts/openapi.json b/artifacts/openapi.json new file mode 100644 index 00000000..2acb83dc --- /dev/null +++ b/artifacts/openapi.json @@ -0,0 +1,2285 @@ +{ + "openapi": "3.0.3", + "info": { + "title": "OpenAPIArt Test API", + "description": "Demonstrates the features of the OpenAPIArt package", + "version": "0.0.1", + "contact": { + "x-info": "Any feedback such as bugs/enhancements/questions regarding OpenApiArt is \nwelcomed by using the contact url. ", + "url": "https://github.com/open-traffic-generator/openapiart/issues" + }, + "license": { + "name": "NO-LICENSE-PRESENT" + } + }, + "servers": [ + { + "url": "https://{hostname}:{port}/{basePath}", + "variables": { + "hostname": { + "default": "0.0.0.0" + }, + "port": { + "default": "8080" + }, + "basePath": { + "default": "api" + } + } + } + ], + "paths": { + "/config": { + "post": { + "tags": [ + "Bundler" + ], + "operationId": "set_config", + "description": "Sets configuration resources.", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Prefix.Config" + } + } + } + }, + "responses": { + "200": { + "x-field-uid": 1, + "description": "Standard success binary payload", + "content": { + "application/octet-stream": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "default": { + "x-field-uid": 2, + "description": "The request did not succeed and server has responded with error details.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + }, + "patch": { + "tags": [ + "Bundler" + ], + "operationId": "update_configuration", + "description": "Deprecated: please use post instead\n\nSets configuration resources.", + "x-status": { + "status": "deprecated", + "information": "please use post instead" + }, + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Update.Config" + } + } + } + }, + "responses": { + "200": { + "description": "success 2xx", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Prefix.Config" + } + } + }, + "x-field-uid": 1 + }, + "default": { + "x-field-uid": 2, + "description": "The request did not succeed and server has responded with error details.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + }, + "get": { + "tags": [ + "Bundler" + ], + "operationId": "get_config", + "description": "Gets the configuration resources.", + "responses": { + "200": { + "description": "Config response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Prefix.Config" + } + } + }, + "x-field-uid": 1 + }, + "default": { + "x-field-uid": 2, + "description": "The request did not succeed and server has responded with error details.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + }, + "/metrics": { + "get": { + "tags": [ + "Metrics" + ], + "operationId": "get_metrics", + "description": "Gets metrics.", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Metrics.Request" + } + } + } + }, + "responses": { + "200": { + "description": "Unique metrics response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Metrics" + } + } + }, + "x-field-uid": 1 + }, + "default": { + "x-field-uid": 2, + "description": "The request did not succeed and server has responded with error details.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + }, + "/warnings": { + "get": { + "tags": [ + "Metrics" + ], + "operationId": "get_warnings", + "description": "Gets warnings.", + "responses": { + "200": { + "$ref": "#/components/responses/Warnings", + "x-field-uid": 1 + }, + "default": { + "x-field-uid": 2, + "description": "The request did not succeed and server has responded with error details.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + }, + "delete": { + "tags": [ + "Metrics" + ], + "operationId": "clear_warnings", + "description": "Clears warnings.", + "responses": { + "200": { + "description": "OK", + "x-field-uid": 1 + }, + "default": { + "x-field-uid": 2, + "description": "The request did not succeed and server has responded with error details.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + }, + "/apitest": { + "get": { + "tags": [ + "ApiTest" + ], + "operationId": "GetRootResponse", + "description": "simple GET api with single return type", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Common.ResponseSuccess" + } + } + }, + "x-field-uid": 1 + }, + "default": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "x-field-uid": 2 + } + } + }, + "delete": { + "tags": [ + "ApiTest" + ], + "operationId": "dummyResponseTest", + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + }, + "x-field-uid": 1 + }, + "default": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "x-field-uid": 2 + } + } + }, + "post": { + "tags": [ + "ApiTest" + ], + "operationId": "PostRootResponse", + "description": "simple POST api with single return type", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiTest.InputBody" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Common.ResponseSuccess" + } + } + }, + "x-field-uid": 1 + }, + "default": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "x-field-uid": 2 + } + } + } + }, + "/serviceb": { + "get": { + "tags": [ + "ServiceAbc" + ], + "operationId": "GetAllItems", + "description": "return list of some items", + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceAbc.ItemList" + } + } + }, + "x-field-uid": 1 + }, + "default": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "x-field-uid": 2 + } + } + } + }, + "/serviceb/{item_id}": { + "get": { + "tags": [ + "ServiceAbc" + ], + "operationId": "GetSingleItem", + "description": "return single item", + "parameters": [ + { + "in": "path", + "name": "item_id", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceAbc.Item" + } + } + }, + "x-field-uid": 1 + }, + "default": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "x-field-uid": 2 + } + } + } + }, + "/serviceb/{item_id}/{level_2}": { + "get": { + "tags": [ + "ServiceAbc" + ], + "operationId": "getSingleItemLevel2", + "description": "return single item", + "parameters": [ + { + "in": "path", + "name": "item_id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "level_2", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceAbc.Item" + } + } + }, + "x-field-uid": 1 + }, + "default": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + }, + "x-field-uid": 2 + } + } + } + }, + "/capabilities/version": { + "get": { + "tags": [ + "Capabilities" + ], + "operationId": "get_version", + "responses": { + "200": { + "description": "Version details from API server", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Version" + } + } + }, + "x-field-uid": 1 + }, + "default": { + "x-field-uid": 2, + "description": "The request did not succeed and server has responded with error details.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + } + }, + "components": { + "responses": { + "Warnings": { + "description": "Success warning payload similar to otg Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Warning.Details" + } + } + } + } + }, + "schemas": { + "Error.Details": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "type": "string" + }, + "x-field-uid": 1 + } + } + }, + "Warning.Details": { + "type": "object", + "properties": { + "warnings": { + "type": "array", + "items": { + "type": "string" + }, + "x-field-uid": 1 + } + } + }, + "Error": { + "description": "Error response generated while serving API request.", + "type": "object", + "required": [ + "code", + "errors" + ], + "properties": { + "code": { + "description": "Numeric status code based on underlying transport being used.", + "type": "integer", + "x-field-uid": 1 + }, + "kind": { + "description": "Kind of error message.", + "type": "string", + "x-enum": { + "transport": { + "x-field-uid": 1 + }, + "validation": { + "x-field-uid": 2 + }, + "internal": { + "x-field-uid": 3 + } + }, + "x-field-uid": 2, + "enum": [ + "transport", + "validation", + "internal" + ] + }, + "errors": { + "description": "List of error messages generated while serving API request.", + "type": "array", + "items": { + "type": "string" + }, + "x-field-uid": 3 + } + } + }, + "Prefix.Config": { + "type": "object", + "required": [ + "a", + "b", + "c", + "required_object" + ], + "description": "Container which retains the configuration", + "properties": { + "required_object": { + "description": "A required object that MUST be generated as such.", + "$ref": "#/components/schemas/EObject", + "x-field-uid": 1 + }, + "optional_object": { + "description": "An optional object that MUST be generated as such.", + "$ref": "#/components/schemas/EObject", + "x-field-uid": 2 + }, + "ieee_802_1qbb": { + "type": "boolean", + "x-field-uid": 3 + }, + "space_1": { + "type": "integer", + "x-status": { + "status": "deprecated", + "information": "Information TBD" + }, + "x-field-uid": 4, + "description": "Deprecated: Information TBD\n\nDescription TBD" + }, + "full_duplex_100_mb": { + "type": "integer", + "format": "int64", + "minimum": -10, + "maximum": 4261412864, + "x-field-uid": 5 + }, + "response": { + "description": "Indicate to the server what response should be returned", + "type": "string", + "default": "status_200", + "x-field-uid": 6, + "x-enum": { + "status_200": { + "x-field-uid": 1 + }, + "status_400": { + "x-field-uid": 2 + }, + "status_404": { + "x-status": { + "status": "deprecated", + "information": "new code will be coming soon" + }, + "x-field-uid": 3, + "description": "Deprecated: new code will be coming soon\n\nDescription TBD" + }, + "status_500": { + "x-status": { + "status": "under_review", + "information": "500 can change to other values" + }, + "x-field-uid": 4, + "description": "Under Review: 500 can change to other values\n\nDescription TBD" + } + }, + "enum": [ + "status_200", + "status_400", + "status_404", + "status_500" + ] + }, + "a": { + "x-status": { + "status": "under_review", + "information": "Information TBD" + }, + "description": "Under Review: Information TBD\n\nSmall single line description", + "type": "string", + "x-field-uid": 7 + }, + "b": { + "description": "Longer multi-line description\nSecond line is here\nThird line", + "type": "number", + "format": "float", + "x-field-uid": 8 + }, + "c": { + "type": "integer", + "x-field-uid": 9 + }, + "d_values": { + "x-status": { + "status": "deprecated", + "information": "Information TBD" + }, + "description": "Deprecated: Information TBD\n\nA list of enum values", + "type": "array", + "items": { + "type": "string", + "x-enum": { + "a": { + "x-field-uid": 1 + }, + "b": { + "x-field-uid": 2 + }, + "c": { + "x-field-uid": 3 + } + }, + "enum": [ + "a", + "b", + "c" + ] + }, + "x-field-uid": 10 + }, + "e": { + "x-status": { + "status": "deprecated", + "information": "Information TBD" + }, + "description": "Deprecated: Information TBD\n\nA child object", + "$ref": "#/components/schemas/EObject", + "x-field-uid": 11 + }, + "f": { + "description": "An object with only choice(s)", + "$ref": "#/components/schemas/FObject", + "x-field-uid": 12 + }, + "g": { + "description": "A list of objects with choice and properties", + "type": "array", + "items": { + "$ref": "#/components/schemas/GObject" + }, + "x-field-uid": 13 + }, + "h": { + "description": "A boolean value", + "type": "boolean", + "default": true, + "x-field-uid": 14 + }, + "i": { + "description": "A byte string", + "type": "string", + "format": "binary", + "x-field-uid": 15 + }, + "j": { + "description": "A list of objects with only choice", + "type": "array", + "items": { + "$ref": "#/components/schemas/JObject" + }, + "x-field-uid": 16 + }, + "k": { + "description": "A nested object with only one property which is a choice object", + "$ref": "#/components/schemas/KObject", + "x-field-uid": 17 + }, + "l": { + "$ref": "#/components/schemas/LObject", + "x-field-uid": 18 + }, + "list_of_string_values": { + "description": "A list of string values", + "type": "array", + "items": { + "type": "string" + }, + "x-field-uid": 19 + }, + "list_of_integer_values": { + "description": "A list of integer values", + "type": "array", + "items": { + "type": "integer" + }, + "x-field-uid": 20 + }, + "level": { + "$ref": "#/components/schemas/Level.One", + "x-field-uid": 21 + }, + "mandatory": { + "$ref": "#/components/schemas/Mandate", + "x-field-uid": 22 + }, + "ipv4_pattern": { + "$ref": "#/components/schemas/Ipv4Pattern", + "x-field-uid": 23 + }, + "ipv6_pattern": { + "$ref": "#/components/schemas/Ipv6Pattern", + "x-field-uid": 24 + }, + "mac_pattern": { + "$ref": "#/components/schemas/MacPattern", + "x-field-uid": 25 + }, + "integer_pattern": { + "$ref": "#/components/schemas/IntegerPattern", + "x-field-uid": 26 + }, + "checksum_pattern": { + "$ref": "#/components/schemas/ChecksumPattern", + "x-field-uid": 27 + }, + "case": { + "$ref": "#/components/schemas/Layer1Ieee802x", + "x-field-uid": 28 + }, + "m_object": { + "$ref": "#/components/schemas/MObject", + "x-field-uid": 29 + }, + "integer64": { + "description": "int64 type", + "type": "integer", + "format": "int64", + "x-field-uid": 30 + }, + "integer64_list": { + "description": "int64 type list", + "type": "array", + "items": { + "type": "integer", + "format": "int64" + }, + "minimum": -12, + "maximum": 4261412864, + "x-field-uid": 31 + }, + "header_checksum": { + "x-field-uid": 32, + "$ref": "#/components/schemas/Pattern.Prefix.Config.HeaderChecksum" + }, + "str_len": { + "x-status": { + "status": "under_review", + "information": "Information TBD" + }, + "description": "Under Review: Information TBD\n\nstring minimum&maximum Length", + "type": "string", + "minLength": 3, + "maxLength": 6, + "x-field-uid": 33 + }, + "hex_slice": { + "x-status": { + "status": "under_review", + "information": "Information TBD" + }, + "description": "Under Review: Information TBD\n\nArray of Hex", + "type": "array", + "items": { + "type": "string", + "format": "hex" + }, + "x-field-uid": 34 + }, + "auto_field_test": { + "x-field-uid": 35, + "$ref": "#/components/schemas/Pattern.Prefix.Config.AutoFieldTest" + }, + "name": { + "x-field-uid": 36, + "type": "string" + }, + "w_list": { + "type": "array", + "items": { + "$ref": "#/components/schemas/WObject" + }, + "x-field-uid": 37 + }, + "x_list": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ZObject" + }, + "x-field-uid": 38 + }, + "z_object": { + "$ref": "#/components/schemas/ZObject", + "x-field-uid": 39 + }, + "y_object": { + "$ref": "#/components/schemas/YObject", + "x-field-uid": 40 + }, + "choice_object": { + "description": "A list of objects with choice with and without properties", + "type": "array", + "items": { + "$ref": "#/components/schemas/ChoiceObject" + }, + "x-field-uid": 41 + }, + "required_choice_object": { + "$ref": "#/components/schemas/RequiredChoiceParent", + "x-field-uid": 42 + }, + "g1": { + "description": "A list of objects with choice and properties", + "type": "array", + "items": { + "$ref": "#/components/schemas/GObject" + }, + "x-field-uid": 43 + }, + "g2": { + "description": "A list of objects with choice and properties", + "type": "array", + "items": { + "$ref": "#/components/schemas/GObject" + }, + "x-field-uid": 44 + }, + "int32_param": { + "description": "int32 type", + "type": "integer", + "format": "int32", + "x-field-uid": 45 + }, + "int32_list_param": { + "description": "int32 type list", + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "minimum": -23456, + "maximum": 23456, + "x-field-uid": 46 + }, + "uint32_param": { + "description": "uint32 type", + "type": "integer", + "format": "uint32", + "x-field-uid": 47 + }, + "uint32_list_param": { + "description": "uint32 type list", + "type": "array", + "items": { + "type": "integer", + "format": "uint32" + }, + "minimum": 0, + "maximum": 4294967293, + "x-field-uid": 48 + }, + "uint64_param": { + "description": "uint64 type", + "type": "integer", + "format": "uint64", + "x-field-uid": 49 + }, + "uint64_list_param": { + "description": "uint64 type list", + "type": "array", + "items": { + "type": "integer", + "format": "uint64" + }, + "x-field-uid": 50 + }, + "auto_int32_param": { + "description": "should automatically set type to int32", + "type": "integer", + "minimum": 64, + "maximum": 9000, + "x-field-uid": 51 + }, + "auto_int32_list_param": { + "description": "should automatically set type to []int32", + "type": "array", + "items": { + "type": "integer" + }, + "minimum": 64, + "maximum": 9000, + "x-field-uid": 52 + } + } + }, + "WObject": { + "required": [ + "w_name" + ], + "properties": { + "w_name": { + "type": "string", + "x-field-uid": 1 + } + } + }, + "ZObject": { + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string", + "x-field-uid": 1 + } + } + }, + "YObject": { + "properties": { + "y_name": { + "type": "string", + "x-field-uid": 1, + "x-constraint": [ + "/components/schemas/ZObject/properties/name", + "/components/schemas/WObject/properties/w_name" + ], + "description": "TBD\n\nx-constraint:\n- /components/schemas/ZObject/properties/name\n- /components/schemas/WObject/properties/w_name\n" + } + } + }, + "Layer1Ieee802x": { + "type": "object", + "properties": { + "flow_control": { + "type": "boolean", + "x-field-uid": 1 + } + } + }, + "GObject": { + "type": "object", + "x-status": { + "status": "deprecated", + "information": "new schema Jobject to be used" + }, + "properties": { + "g_a": { + "type": "string", + "default": "asdf", + "x-field-uid": 1 + }, + "g_b": { + "type": "integer", + "default": 6, + "x-field-uid": 2 + }, + "g_c": { + "type": "number", + "default": 77.7, + "x-status": { + "status": "deprecated", + "information": "Information TBD" + }, + "x-field-uid": 3, + "description": "Deprecated: Information TBD\n\nDescription TBD" + }, + "choice": { + "type": "string", + "default": "g_d", + "x-field-uid": 4, + "x-enum": { + "g_d": { + "x-field-uid": 1 + }, + "g_e": { + "x-field-uid": 2 + } + }, + "enum": [ + "g_d", + "g_e" + ] + }, + "g_d": { + "type": "string", + "default": "some string", + "x-field-uid": 5 + }, + "g_e": { + "type": "number", + "format": "double", + "default": 3.0, + "x-field-uid": 6 + }, + "g_f": { + "description": "Another enum to test protbuf enum generation", + "type": "string", + "default": "a", + "x-field-uid": 7, + "x-enum": { + "a": { + "x-field-uid": 1 + }, + "b": { + "x-field-uid": 2 + }, + "c": { + "x-field-uid": 3 + } + }, + "enum": [ + "a", + "b", + "c" + ] + }, + "name": { + "x-field-uid": 8, + "type": "string" + } + }, + "description": "Deprecated: new schema Jobject to be used\n\nDescription TBD" + }, + "EObject": { + "type": "object", + "required": [ + "e_a", + "e_b" + ], + "properties": { + "e_a": { + "type": "number", + "format": "float", + "x-field-uid": 1 + }, + "e_b": { + "type": "number", + "format": "double", + "x-field-uid": 2 + }, + "name": { + "x-field-uid": 3, + "type": "string" + }, + "m_param1": { + "x-field-uid": 4, + "type": "string" + }, + "m_param2": { + "x-field-uid": 5, + "type": "string" + } + } + }, + "FObject": { + "type": "object", + "properties": { + "choice": { + "type": "string", + "default": "f_a", + "x-field-uid": 1, + "x-enum": { + "f_a": { + "x-field-uid": 1 + }, + "f_b": { + "x-field-uid": 2 + }, + "f_c": { + "x-field-uid": 3 + } + }, + "enum": [ + "f_a", + "f_b", + "f_c" + ] + }, + "f_a": { + "type": "string", + "default": "some string", + "x-field-uid": 2 + }, + "f_b": { + "type": "number", + "format": "double", + "default": 3.0, + "x-field-uid": 3 + } + } + }, + "JObject": { + "type": "object", + "properties": { + "choice": { + "type": "string", + "default": "j_a", + "x-field-uid": 1, + "x-enum": { + "j_a": { + "x-field-uid": 1 + }, + "j_b": { + "x-status": { + "status": "deprecated", + "information": "use j_a instead" + }, + "x-field-uid": 2, + "description": "Deprecated: use j_a instead\n\nDescription TBD" + } + }, + "enum": [ + "j_a", + "j_b" + ] + }, + "j_a": { + "$ref": "#/components/schemas/EObject", + "x-field-uid": 2 + }, + "j_b": { + "$ref": "#/components/schemas/FObject", + "x-field-uid": 3 + } + } + }, + "ChoiceObject": { + "type": "object", + "properties": { + "choice": { + "type": "string", + "default": "no_obj", + "x-field-uid": 1, + "x-enum": { + "e_obj": { + "x-field-uid": 1 + }, + "f_obj": { + "x-field-uid": 2 + }, + "no_obj": { + "x-field-uid": 3 + } + }, + "enum": [ + "e_obj", + "f_obj", + "no_obj" + ] + }, + "e_obj": { + "$ref": "#/components/schemas/EObject", + "x-field-uid": 2 + }, + "f_obj": { + "$ref": "#/components/schemas/FObject", + "x-field-uid": 3 + } + } + }, + "KObject": { + "type": "object", + "properties": { + "e_object": { + "$ref": "#/components/schemas/EObject", + "x-field-uid": 1 + }, + "f_object": { + "$ref": "#/components/schemas/FObject", + "x-field-uid": 2 + } + } + }, + "LObject": { + "description": "Format validation object", + "type": "object", + "properties": { + "string_param": { + "type": "string", + "x-field-uid": 1 + }, + "integer": { + "type": "integer", + "minimum": -10, + "maximum": 90, + "x-field-uid": 2 + }, + "float": { + "type": "number", + "format": "float", + "x-field-uid": 3 + }, + "double": { + "type": "number", + "format": "double", + "x-field-uid": 4 + }, + "mac": { + "type": "string", + "format": "mac", + "x-field-uid": 5 + }, + "ipv4": { + "type": "string", + "format": "ipv4", + "x-field-uid": 6 + }, + "ipv6": { + "type": "string", + "format": "ipv6", + "x-field-uid": 7 + }, + "hex": { + "type": "string", + "format": "hex", + "x-field-uid": 8 + } + } + }, + "MObject": { + "description": "Required format validation object", + "type": "object", + "required": [ + "string_param", + "integer", + "float", + "double", + "mac", + "ipv4", + "ipv6", + "hex" + ], + "properties": { + "string_param": { + "type": "string", + "x-field-uid": 1 + }, + "integer": { + "type": "integer", + "minimum": -10, + "maximum": 90, + "x-field-uid": 2 + }, + "float": { + "type": "number", + "format": "float", + "x-field-uid": 3 + }, + "double": { + "type": "number", + "format": "double", + "x-field-uid": 4 + }, + "mac": { + "type": "string", + "format": "mac", + "x-field-uid": 5 + }, + "ipv4": { + "type": "string", + "format": "ipv4", + "x-field-uid": 6 + }, + "ipv6": { + "type": "string", + "format": "ipv6", + "x-field-uid": 7 + }, + "hex": { + "type": "string", + "format": "hex", + "x-field-uid": 8 + } + } + }, + "Mandate": { + "description": "Object to Test required Parameter", + "type": "object", + "required": [ + "required_param" + ], + "properties": { + "required_param": { + "type": "string", + "x-field-uid": 1 + } + } + }, + "Update.Config": { + "description": "Under Review: the whole schema is being reviewed\n\nObject to Test required Parameter", + "x-status": { + "status": "under_review", + "information": "the whole schema is being reviewed" + }, + "type": "object", + "properties": { + "g": { + "description": "A list of objects with choice and properties", + "type": "array", + "items": { + "$ref": "#/components/schemas/GObject" + }, + "x-field-uid": 1 + } + } + }, + "Metrics.Request": { + "type": "object", + "properties": { + "choice": { + "type": "string", + "default": "port", + "x-field-uid": 1, + "x-enum": { + "port": { + "x-field-uid": 1 + }, + "flow": { + "x-field-uid": 2 + } + }, + "enum": [ + "port", + "flow" + ] + }, + "port": { + "type": "string", + "x-field-uid": 2 + }, + "flow": { + "type": "string", + "x-field-uid": 3 + } + } + }, + "Metrics": { + "type": "object", + "properties": { + "choice": { + "type": "string", + "default": "ports", + "x-field-uid": 1, + "x-enum": { + "ports": { + "x-field-uid": 1 + }, + "flows": { + "x-field-uid": 2 + } + }, + "enum": [ + "ports", + "flows" + ] + }, + "ports": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Port.Metric" + }, + "x-field-uid": 2 + }, + "flows": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Flow.Metric" + }, + "x-field-uid": 3 + } + } + }, + "Port.Metric": { + "type": "object", + "required": [ + "name", + "tx_frames", + "rx_frames" + ], + "properties": { + "name": { + "type": "string", + "x-field-uid": 1 + }, + "tx_frames": { + "type": "number", + "format": "double", + "x-field-uid": 2 + }, + "rx_frames": { + "type": "number", + "format": "double", + "x-field-uid": 3 + } + } + }, + "Flow.Metric": { + "type": "object", + "required": [ + "name", + "tx_frames", + "rx_frames" + ], + "properties": { + "name": { + "type": "string", + "x-field-uid": 1 + }, + "tx_frames": { + "type": "number", + "format": "double", + "x-field-uid": 2 + }, + "rx_frames": { + "type": "number", + "format": "double", + "x-field-uid": 3 + } + } + }, + "RequiredChoiceParent": { + "type": "object", + "required": [ + "choice" + ], + "properties": { + "choice": { + "type": "string", + "x-field-uid": 1, + "x-enum": { + "intermediate_obj": { + "x-field-uid": 1 + }, + "no_obj": { + "x-field-uid": 2 + } + }, + "enum": [ + "intermediate_obj", + "no_obj" + ] + }, + "intermediate_obj": { + "$ref": "#/components/schemas/RequiredChoiceIntermediate", + "x-field-uid": 2 + } + } + }, + "RequiredChoiceIntermediate": { + "type": "object", + "required": [ + "choice" + ], + "properties": { + "choice": { + "type": "string", + "x-field-uid": 1, + "x-enum": { + "f_a": { + "x-field-uid": 1 + }, + "leaf": { + "x-field-uid": 2 + } + }, + "enum": [ + "f_a", + "leaf" + ] + }, + "f_a": { + "type": "string", + "default": "some string", + "x-field-uid": 2 + }, + "leaf": { + "$ref": "#/components/schemas/RequiredChoiceIntermeLeaf", + "x-field-uid": 3 + } + } + }, + "RequiredChoiceIntermeLeaf": { + "type": "object", + "properties": { + "name": { + "type": "string", + "x-field-uid": 1 + } + } + }, + "Level.One": { + "description": "To Test Multi level non-primitive types", + "properties": { + "l1_p1": { + "description": "Level one", + "$ref": "#/components/schemas/Level.Two", + "x-field-uid": 1 + }, + "l1_p2": { + "description": "Level one to four", + "$ref": "#/components/schemas/Level.Four", + "x-field-uid": 2 + } + } + }, + "Level.Two": { + "description": "Test Level 2", + "properties": { + "l2_p1": { + "description": "Level Two", + "$ref": "#/components/schemas/Level.Three", + "x-field-uid": 1 + } + } + }, + "Level.Three": { + "description": "Test Level3", + "properties": { + "l3_p1": { + "description": "Set value at Level 3", + "type": "string", + "x-field-uid": 1 + } + } + }, + "Level.Four": { + "description": "Test level4 redundant junk testing", + "properties": { + "l4_p1": { + "description": "loop over level 1", + "$ref": "#/components/schemas/Level.One", + "x-field-uid": 1 + } + } + }, + "Ipv4Pattern": { + "description": "Test ipv4 pattern", + "type": "object", + "properties": { + "ipv4": { + "x-field-uid": 1, + "$ref": "#/components/schemas/Pattern.Ipv4Pattern.Ipv4" + } + } + }, + "Ipv6Pattern": { + "description": "Test ipv6 pattern", + "type": "object", + "properties": { + "ipv6": { + "x-field-uid": 1, + "$ref": "#/components/schemas/Pattern.Ipv6Pattern.Ipv6" + } + } + }, + "MacPattern": { + "description": "Test mac pattern", + "type": "object", + "properties": { + "mac": { + "x-field-uid": 1, + "$ref": "#/components/schemas/Pattern.MacPattern.Mac" + } + } + }, + "IntegerPattern": { + "description": "Test integer pattern", + "type": "object", + "properties": { + "integer": { + "x-field-uid": 1, + "$ref": "#/components/schemas/Pattern.IntegerPattern.Integer" + } + } + }, + "ChecksumPattern": { + "description": "Test checksum pattern", + "type": "object", + "properties": { + "checksum": { + "x-field-uid": 1, + "$ref": "#/components/schemas/Pattern.ChecksumPattern.Checksum" + } + } + }, + "Common.ResponseSuccess": { + "type": "object", + "properties": { + "message": { + "type": "string", + "x-field-uid": 1 + } + } + }, + "ApiTest.InputBody": { + "type": "object", + "properties": { + "some_string": { + "type": "string", + "x-field-uid": 1 + } + } + }, + "ServiceAbc.Item": { + "type": "object", + "properties": { + "some_id": { + "type": "string", + "x-field-uid": 1 + }, + "some_string": { + "type": "string", + "x-field-uid": 2 + }, + "path_id": { + "type": "string", + "x-field-uid": 3 + }, + "level_2": { + "type": "string", + "x-field-uid": 4 + } + } + }, + "ServiceAbc.ItemList": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ServiceAbc.Item" + }, + "x-field-uid": 1 + } + } + }, + "Pattern.Prefix.Config.HeaderChecksum": { + "description": "Header checksum", + "type": "object", + "properties": { + "choice": { + "description": "The type of checksum", + "type": "string", + "x-enum": { + "generated": { + "x-field-uid": 1 + }, + "custom": { + "x-field-uid": 2 + } + }, + "default": "generated", + "x-field-uid": 1, + "enum": [ + "generated", + "custom" + ] + }, + "generated": { + "description": "A system generated checksum value", + "type": "string", + "x-enum": { + "good": { + "x-field-uid": 1 + }, + "bad": { + "x-field-uid": 2 + } + }, + "default": "good", + "x-field-uid": 2, + "enum": [ + "good", + "bad" + ] + }, + "custom": { + "description": "A custom checksum value", + "type": "integer", + "format": "uint32", + "maximum": 65535, + "x-field-uid": 3 + } + } + }, + "Pattern.Prefix.Config.AutoFieldTest.Counter": { + "description": "integer counter pattern", + "type": "object", + "properties": { + "start": { + "type": "integer", + "x-field-uid": 1, + "default": 0, + "format": "uint32", + "maximum": 255 + }, + "step": { + "type": "integer", + "x-field-uid": 2, + "default": 1, + "format": "uint32", + "maximum": 255 + }, + "count": { + "type": "integer", + "x-field-uid": 3, + "default": 1, + "format": "uint32", + "maximum": 255 + } + } + }, + "Pattern.Prefix.Config.AutoFieldTest": { + "description": "TBD", + "type": "object", + "properties": { + "choice": { + "type": "string", + "x-enum": { + "value": { + "x-field-uid": 2 + }, + "values": { + "x-field-uid": 3 + }, + "auto": { + "x-field-uid": 1 + }, + "increment": { + "x-field-uid": 4 + }, + "decrement": { + "x-field-uid": 5 + } + }, + "default": "auto", + "x-field-uid": 1, + "enum": [ + "value", + "values", + "auto", + "increment", + "decrement" + ] + }, + "value": { + "type": "integer", + "x-field-uid": 2, + "default": 0, + "format": "uint32", + "maximum": 255 + }, + "values": { + "type": "array", + "items": { + "type": "integer", + "format": "uint32", + "maximum": 255 + }, + "x-field-uid": 3, + "default": [ + 0 + ] + }, + "auto": { + "description": "The OTG implementation can provide a system generated\nvalue for this property. If the OTG is unable to generate a value\nthe default value must be used.", + "type": "integer", + "x-field-uid": 4, + "default": 0, + "format": "uint32", + "maximum": 255 + }, + "increment": { + "$ref": "#/components/schemas/Pattern.Prefix.Config.AutoFieldTest.Counter", + "x-field-uid": 6 + }, + "decrement": { + "$ref": "#/components/schemas/Pattern.Prefix.Config.AutoFieldTest.Counter", + "x-field-uid": 7 + } + } + }, + "Pattern.Ipv4Pattern.Ipv4.Counter": { + "description": "ipv4 counter pattern", + "type": "object", + "properties": { + "start": { + "type": "string", + "x-field-uid": 1, + "default": "0.0.0.0", + "format": "ipv4" + }, + "step": { + "type": "string", + "x-field-uid": 2, + "default": "0.0.0.1", + "format": "ipv4" + }, + "count": { + "type": "integer", + "x-field-uid": 3, + "default": 1, + "format": "uint32" + } + } + }, + "Pattern.Ipv4Pattern.Ipv4": { + "description": "TBD", + "type": "object", + "properties": { + "choice": { + "type": "string", + "x-enum": { + "value": { + "x-field-uid": 2 + }, + "values": { + "x-field-uid": 3 + }, + "increment": { + "x-field-uid": 4 + }, + "decrement": { + "x-field-uid": 5 + } + }, + "default": "value", + "x-field-uid": 1, + "enum": [ + "value", + "values", + "increment", + "decrement" + ] + }, + "value": { + "type": "string", + "x-field-uid": 2, + "default": "0.0.0.0", + "format": "ipv4" + }, + "values": { + "type": "array", + "items": { + "type": "string", + "format": "ipv4" + }, + "x-field-uid": 3, + "default": [ + "0.0.0.0" + ] + }, + "increment": { + "$ref": "#/components/schemas/Pattern.Ipv4Pattern.Ipv4.Counter", + "x-field-uid": 5 + }, + "decrement": { + "$ref": "#/components/schemas/Pattern.Ipv4Pattern.Ipv4.Counter", + "x-field-uid": 6 + } + } + }, + "Pattern.Ipv6Pattern.Ipv6.Counter": { + "description": "ipv6 counter pattern", + "type": "object", + "properties": { + "start": { + "type": "string", + "x-field-uid": 1, + "default": "::", + "format": "ipv6" + }, + "step": { + "type": "string", + "x-field-uid": 2, + "default": "::1", + "format": "ipv6" + }, + "count": { + "type": "integer", + "x-field-uid": 3, + "default": 1, + "format": "uint32" + } + } + }, + "Pattern.Ipv6Pattern.Ipv6": { + "description": "TBD", + "type": "object", + "properties": { + "choice": { + "type": "string", + "x-enum": { + "value": { + "x-field-uid": 2 + }, + "values": { + "x-field-uid": 3 + }, + "increment": { + "x-field-uid": 4 + }, + "decrement": { + "x-field-uid": 5 + } + }, + "default": "value", + "x-field-uid": 1, + "enum": [ + "value", + "values", + "increment", + "decrement" + ] + }, + "value": { + "type": "string", + "x-field-uid": 2, + "default": "::", + "format": "ipv6" + }, + "values": { + "type": "array", + "items": { + "type": "string", + "format": "ipv6" + }, + "x-field-uid": 3, + "default": [ + "::" + ] + }, + "increment": { + "$ref": "#/components/schemas/Pattern.Ipv6Pattern.Ipv6.Counter", + "x-field-uid": 5 + }, + "decrement": { + "$ref": "#/components/schemas/Pattern.Ipv6Pattern.Ipv6.Counter", + "x-field-uid": 6 + } + } + }, + "Pattern.MacPattern.Mac.Counter": { + "description": "mac counter pattern", + "type": "object", + "properties": { + "start": { + "type": "string", + "x-field-uid": 1, + "default": "00:00:00:00:00:00", + "format": "mac" + }, + "step": { + "type": "string", + "x-field-uid": 2, + "default": "00:00:00:00:00:01", + "format": "mac" + }, + "count": { + "type": "integer", + "x-field-uid": 3, + "default": 1, + "format": "uint32" + } + } + }, + "Pattern.MacPattern.Mac": { + "description": "TBD", + "type": "object", + "properties": { + "choice": { + "type": "string", + "x-enum": { + "value": { + "x-field-uid": 2 + }, + "values": { + "x-field-uid": 3 + }, + "auto": { + "x-field-uid": 1 + }, + "increment": { + "x-field-uid": 4 + }, + "decrement": { + "x-field-uid": 5 + } + }, + "default": "auto", + "x-field-uid": 1, + "enum": [ + "value", + "values", + "auto", + "increment", + "decrement" + ] + }, + "value": { + "type": "string", + "x-field-uid": 2, + "default": "00:00:00:00:00:00", + "format": "mac" + }, + "values": { + "type": "array", + "items": { + "type": "string", + "format": "mac" + }, + "x-field-uid": 3, + "default": [ + "00:00:00:00:00:00" + ] + }, + "auto": { + "description": "The OTG implementation can provide a system generated\nvalue for this property. If the OTG is unable to generate a value\nthe default value must be used.", + "type": "string", + "x-field-uid": 4, + "default": "00:00:00:00:00:00", + "format": "mac" + }, + "increment": { + "$ref": "#/components/schemas/Pattern.MacPattern.Mac.Counter", + "x-field-uid": 6 + }, + "decrement": { + "$ref": "#/components/schemas/Pattern.MacPattern.Mac.Counter", + "x-field-uid": 7 + } + } + }, + "Pattern.IntegerPattern.Integer.Counter": { + "description": "integer counter pattern", + "type": "object", + "properties": { + "start": { + "type": "integer", + "x-field-uid": 1, + "default": 0, + "format": "uint32", + "maximum": 255 + }, + "step": { + "type": "integer", + "x-field-uid": 2, + "default": 1, + "format": "uint32", + "maximum": 255 + }, + "count": { + "type": "integer", + "x-field-uid": 3, + "default": 1, + "format": "uint32", + "maximum": 255 + } + } + }, + "Pattern.IntegerPattern.Integer": { + "description": "TBD", + "type": "object", + "properties": { + "choice": { + "type": "string", + "x-enum": { + "value": { + "x-field-uid": 2 + }, + "values": { + "x-field-uid": 3 + }, + "increment": { + "x-field-uid": 4 + }, + "decrement": { + "x-field-uid": 5 + } + }, + "default": "value", + "x-field-uid": 1, + "enum": [ + "value", + "values", + "increment", + "decrement" + ] + }, + "value": { + "type": "integer", + "x-field-uid": 2, + "default": 0, + "format": "uint32", + "maximum": 255 + }, + "values": { + "type": "array", + "items": { + "type": "integer", + "format": "uint32", + "maximum": 255 + }, + "x-field-uid": 3, + "default": [ + 0 + ] + }, + "increment": { + "$ref": "#/components/schemas/Pattern.IntegerPattern.Integer.Counter", + "x-field-uid": 5 + }, + "decrement": { + "$ref": "#/components/schemas/Pattern.IntegerPattern.Integer.Counter", + "x-field-uid": 6 + } + } + }, + "Pattern.ChecksumPattern.Checksum": { + "description": "TBD", + "type": "object", + "properties": { + "choice": { + "description": "The type of checksum", + "type": "string", + "x-enum": { + "generated": { + "x-field-uid": 1 + }, + "custom": { + "x-field-uid": 2 + } + }, + "default": "generated", + "x-field-uid": 1, + "enum": [ + "generated", + "custom" + ] + }, + "generated": { + "description": "A system generated checksum value", + "type": "string", + "x-enum": { + "good": { + "x-field-uid": 1 + }, + "bad": { + "x-field-uid": 2 + } + }, + "default": "good", + "x-field-uid": 2, + "enum": [ + "good", + "bad" + ] + }, + "custom": { + "description": "A custom checksum value", + "type": "integer", + "format": "uint32", + "maximum": 255, + "x-field-uid": 3 + } + } + }, + "Version": { + "description": "Version details", + "type": "object", + "properties": { + "api_spec_version": { + "description": "Version of API specification", + "type": "string", + "default": "", + "x-field-uid": 1 + }, + "sdk_version": { + "description": "Version of SDK generated from API specification", + "type": "string", + "default": "", + "x-field-uid": 2 + }, + "app_version": { + "description": "Version of application consuming or serving the API", + "type": "string", + "default": "", + "x-field-uid": 3 + } + } + } + } + } +} \ No newline at end of file diff --git a/artifacts/openapi.proto b/artifacts/openapi.proto new file mode 100644 index 00000000..95504015 --- /dev/null +++ b/artifacts/openapi.proto @@ -0,0 +1,1171 @@ +/* OpenAPIArt Test API 0.0.1 + * Demonstrates the features of the OpenAPIArt package + * License: NO-LICENSE-PRESENT */ + +syntax = "proto3"; + +package openapi; + +option go_package = "./openapi;openapi"; + +import "google/protobuf/descriptor.proto"; +import "google/protobuf/empty.proto"; + +// Description missing in models +message ErrorDetails { + + // Description missing in models + repeated string errors = 1; +} + +// Description missing in models +message WarningDetails { + + // Description missing in models + repeated string warnings = 1; +} + +// Error response generated while serving API request. +message Error { + + // Numeric status code based on underlying transport being used. + // required = true + int32 code = 1; + + message Kind { + enum Enum { + unspecified = 0; + transport = 1; + validation = 2; + internal = 3; + } + } + // Kind of error message. + optional Kind.Enum kind = 2; + + // List of error messages generated while serving API request. + repeated string errors = 3; +} + +// Container which retains the configuration +message PrefixConfig { + + // A required object that MUST be generated as such. + // required = true + EObject required_object = 1; + + // An optional object that MUST be generated as such. + optional EObject optional_object = 2; + + // Description missing in models + optional bool ieee_802_1qbb = 3; + + // Deprecated: Information TBD + // + // Description TBD + optional int32 space_1 = 4; + + // Description missing in models + optional int64 full_duplex_100_mb = 5; + + message Response { + enum Enum { + unspecified = 0; + status_200 = 1; + status_400 = 2; + status_404 = 3; + status_500 = 4; + } + } + // Indicate to the server what response should be returned + // default = Response.Enum.status_200 + optional Response.Enum response = 6; + + // Under Review: Information TBD + // + // Small single line description + // required = true + string a = 7; + + // Longer multi-line description + // Second line is here + // Third line + // required = true + float b = 8; + + // Description missing in models + // required = true + int32 c = 9; + + message DValues { + enum Enum { + unspecified = 0; + a = 1; + b = 2; + c = 3; + } + } + // Deprecated: Information TBD + // + // A list of enum values + repeated DValues.Enum d_values = 10; + + // Deprecated: Information TBD + // + // A child object + optional EObject e = 11; + + // An object with only choice(s) + optional FObject f = 12; + + // A list of objects with choice and properties + repeated GObject g = 13; + + // A boolean value + // default = True + optional bool h = 14; + + // A byte string + optional bytes i = 15; + + // A list of objects with only choice + repeated JObject j = 16; + + // A nested object with only one property which is a choice object + optional KObject k = 17; + + // Description missing in models + optional LObject l = 18; + + // A list of string values + repeated string list_of_string_values = 19; + + // A list of integer values + repeated int32 list_of_integer_values = 20; + + // Description missing in models + optional LevelOne level = 21; + + // Description missing in models + optional Mandate mandatory = 22; + + // Description missing in models + optional Ipv4Pattern ipv4_pattern = 23; + + // Description missing in models + optional Ipv6Pattern ipv6_pattern = 24; + + // Description missing in models + optional MacPattern mac_pattern = 25; + + // Description missing in models + optional IntegerPattern integer_pattern = 26; + + // Description missing in models + optional ChecksumPattern checksum_pattern = 27; + + // Description missing in models + optional Layer1Ieee802x case = 28; + + // Description missing in models + optional MObject m_object = 29; + + // int64 type + optional int64 integer64 = 30; + + // int64 type list + repeated int64 integer64_list = 31; + + // Description missing in models + optional PatternPrefixConfigHeaderChecksum header_checksum = 32; + + // Under Review: Information TBD + // + // string minimum&maximum Length + optional string str_len = 33; + + // Under Review: Information TBD + // + // Array of Hex + repeated string hex_slice = 34; + + // Description missing in models + optional PatternPrefixConfigAutoFieldTest auto_field_test = 35; + + // Description missing in models + optional string name = 36; + + // Description missing in models + repeated WObject w_list = 37; + + // Description missing in models + repeated ZObject x_list = 38; + + // Description missing in models + optional ZObject z_object = 39; + + // Description missing in models + optional YObject y_object = 40; + + // A list of objects with choice with and without properties + repeated ChoiceObject choice_object = 41; + + // Description missing in models + optional RequiredChoiceParent required_choice_object = 42; + + // A list of objects with choice and properties + repeated GObject g1 = 43; + + // A list of objects with choice and properties + repeated GObject g2 = 44; + + // int32 type + optional int32 int32_param = 45; + + // int32 type list + repeated int32 int32_list_param = 46; + + // uint32 type + optional uint32 uint32_param = 47; + + // uint32 type list + repeated uint32 uint32_list_param = 48; + + // uint64 type + optional uint64 uint64_param = 49; + + // uint64 type list + repeated uint64 uint64_list_param = 50; + + // should automatically set type to int32 + optional int32 auto_int32_param = 51; + + // should automatically set type to []int32 + repeated int32 auto_int32_list_param = 52; +} + +// Description missing in models +message WObject { + + // Description missing in models + // required = true + string w_name = 1; +} + +// Description missing in models +message ZObject { + + // Description missing in models + // required = true + string name = 1; +} + +// Description missing in models +message YObject { + + // TBD + // + // x-constraint: + // - /components/schemas/ZObject/properties/name + // - /components/schemas/WObject/properties/w_name + // + optional string y_name = 1; +} + +// Description missing in models +message Layer1Ieee802x { + + // Description missing in models + optional bool flow_control = 1; +} + +// Deprecated: new schema Jobject to be used +// +// Description TBD +message GObject { + + // Description missing in models + // default = asdf + optional string g_a = 1; + + // Description missing in models + // default = 6 + optional int32 g_b = 2; + + // Deprecated: Information TBD + // + // Description TBD + // default = 77.7 + optional float g_c = 3; + + message Choice { + enum Enum { + unspecified = 0; + g_d = 1; + g_e = 2; + } + } + // Description missing in models + // default = Choice.Enum.g_d + optional Choice.Enum choice = 4; + + // Description missing in models + // default = some string + optional string g_d = 5; + + // Description missing in models + // default = 3.0 + optional double g_e = 6; + + message GF { + enum Enum { + unspecified = 0; + a = 1; + b = 2; + c = 3; + } + } + // Another enum to test protbuf enum generation + // default = GF.Enum.a + optional GF.Enum g_f = 7; + + // Description missing in models + optional string name = 8; +} + +// Description missing in models +message EObject { + + // Description missing in models + // required = true + float e_a = 1; + + // Description missing in models + // required = true + double e_b = 2; + + // Description missing in models + optional string name = 3; + + // Description missing in models + optional string m_param1 = 4; + + // Description missing in models + optional string m_param2 = 5; +} + +// Description missing in models +message FObject { + + message Choice { + enum Enum { + unspecified = 0; + f_a = 1; + f_b = 2; + f_c = 3; + } + } + // Description missing in models + // default = Choice.Enum.f_a + optional Choice.Enum choice = 1; + + // Description missing in models + // default = some string + optional string f_a = 2; + + // Description missing in models + // default = 3.0 + optional double f_b = 3; +} + +// Description missing in models +message JObject { + + message Choice { + enum Enum { + unspecified = 0; + j_a = 1; + j_b = 2; + } + } + // Description missing in models + // default = Choice.Enum.j_a + optional Choice.Enum choice = 1; + + // Description missing in models + optional EObject j_a = 2; + + // Description missing in models + optional FObject j_b = 3; +} + +// Description missing in models +message ChoiceObject { + + message Choice { + enum Enum { + unspecified = 0; + e_obj = 1; + f_obj = 2; + no_obj = 3; + } + } + // Description missing in models + // default = Choice.Enum.no_obj + optional Choice.Enum choice = 1; + + // Description missing in models + optional EObject e_obj = 2; + + // Description missing in models + optional FObject f_obj = 3; +} + +// Description missing in models +message KObject { + + // Description missing in models + optional EObject e_object = 1; + + // Description missing in models + optional FObject f_object = 2; +} + +// Format validation object +message LObject { + + // Description missing in models + optional string string_param = 1; + + // Description missing in models + optional int32 integer = 2; + + // Description missing in models + optional float float = 3; + + // Description missing in models + optional double double = 4; + + // Description missing in models + optional string mac = 5; + + // Description missing in models + optional string ipv4 = 6; + + // Description missing in models + optional string ipv6 = 7; + + // Description missing in models + optional string hex = 8; +} + +// Required format validation object +message MObject { + + // Description missing in models + // required = true + string string_param = 1; + + // Description missing in models + // required = true + int32 integer = 2; + + // Description missing in models + // required = true + float float = 3; + + // Description missing in models + // required = true + double double = 4; + + // Description missing in models + // required = true + string mac = 5; + + // Description missing in models + // required = true + string ipv4 = 6; + + // Description missing in models + // required = true + string ipv6 = 7; + + // Description missing in models + // required = true + string hex = 8; +} + +// Object to Test required Parameter +message Mandate { + + // Description missing in models + // required = true + string required_param = 1; +} + +// Under Review: the whole schema is being reviewed +// +// Object to Test required Parameter +message UpdateConfig { + + // A list of objects with choice and properties + repeated GObject g = 1; +} + +// Description missing in models +message MetricsRequest { + + message Choice { + enum Enum { + unspecified = 0; + port = 1; + flow = 2; + } + } + // Description missing in models + // default = Choice.Enum.port + optional Choice.Enum choice = 1; + + // Description missing in models + optional string port = 2; + + // Description missing in models + optional string flow = 3; +} + +// Description missing in models +message Metrics { + + message Choice { + enum Enum { + unspecified = 0; + ports = 1; + flows = 2; + } + } + // Description missing in models + // default = Choice.Enum.ports + optional Choice.Enum choice = 1; + + // Description missing in models + repeated PortMetric ports = 2; + + // Description missing in models + repeated FlowMetric flows = 3; +} + +// Description missing in models +message PortMetric { + + // Description missing in models + // required = true + string name = 1; + + // Description missing in models + // required = true + double tx_frames = 2; + + // Description missing in models + // required = true + double rx_frames = 3; +} + +// Description missing in models +message FlowMetric { + + // Description missing in models + // required = true + string name = 1; + + // Description missing in models + // required = true + double tx_frames = 2; + + // Description missing in models + // required = true + double rx_frames = 3; +} + +// Description missing in models +message RequiredChoiceParent { + + message Choice { + enum Enum { + unspecified = 0; + intermediate_obj = 1; + no_obj = 2; + } + } + // Description missing in models + // required = true + Choice.Enum choice = 1; + + // Description missing in models + optional RequiredChoiceIntermediate intermediate_obj = 2; +} + +// Description missing in models +message RequiredChoiceIntermediate { + + message Choice { + enum Enum { + unspecified = 0; + f_a = 1; + leaf = 2; + } + } + // Description missing in models + // required = true + Choice.Enum choice = 1; + + // Description missing in models + // default = some string + optional string f_a = 2; + + // Description missing in models + optional RequiredChoiceIntermeLeaf leaf = 3; +} + +// Description missing in models +message RequiredChoiceIntermeLeaf { + + // Description missing in models + optional string name = 1; +} + +// To Test Multi level non-primitive types +message LevelOne { + + // Level one + optional LevelTwo l1_p1 = 1; + + // Level one to four + optional LevelFour l1_p2 = 2; +} + +// Test Level 2 +message LevelTwo { + + // Level Two + optional LevelThree l2_p1 = 1; +} + +// Test Level3 +message LevelThree { + + // Set value at Level 3 + optional string l3_p1 = 1; +} + +// Test level4 redundant junk testing +message LevelFour { + + // loop over level 1 + optional LevelOne l4_p1 = 1; +} + +// Test ipv4 pattern +message Ipv4Pattern { + + // Description missing in models + optional PatternIpv4PatternIpv4 ipv4 = 1; +} + +// Test ipv6 pattern +message Ipv6Pattern { + + // Description missing in models + optional PatternIpv6PatternIpv6 ipv6 = 1; +} + +// Test mac pattern +message MacPattern { + + // Description missing in models + optional PatternMacPatternMac mac = 1; +} + +// Test integer pattern +message IntegerPattern { + + // Description missing in models + optional PatternIntegerPatternInteger integer = 1; +} + +// Test checksum pattern +message ChecksumPattern { + + // Description missing in models + optional PatternChecksumPatternChecksum checksum = 1; +} + +// Description missing in models +message CommonResponseSuccess { + + // Description missing in models + optional string message = 1; +} + +// Description missing in models +message ApiTestInputBody { + + // Description missing in models + optional string some_string = 1; +} + +// Description missing in models +message ServiceAbcItem { + + // Description missing in models + optional string some_id = 1; + + // Description missing in models + optional string some_string = 2; + + // Description missing in models + optional string path_id = 3; + + // Description missing in models + optional string level_2 = 4; +} + +// Description missing in models +message ServiceAbcItemList { + + // Description missing in models + repeated ServiceAbcItem items = 1; +} + +// Header checksum +message PatternPrefixConfigHeaderChecksum { + + message Choice { + enum Enum { + unspecified = 0; + generated = 1; + custom = 2; + } + } + // The type of checksum + // default = Choice.Enum.generated + optional Choice.Enum choice = 1; + + message Generated { + enum Enum { + unspecified = 0; + good = 1; + bad = 2; + } + } + // A system generated checksum value + // default = Generated.Enum.good + optional Generated.Enum generated = 2; + + // A custom checksum value + optional uint32 custom = 3; +} + +// integer counter pattern +message PatternPrefixConfigAutoFieldTestCounter { + + // Description missing in models + // default = 0 + optional uint32 start = 1; + + // Description missing in models + // default = 1 + optional uint32 step = 2; + + // Description missing in models + // default = 1 + optional uint32 count = 3; +} + +// TBD +message PatternPrefixConfigAutoFieldTest { + + message Choice { + enum Enum { + unspecified = 0; + value = 2; + values = 3; + auto = 1; + increment = 4; + decrement = 5; + } + } + // Description missing in models + // default = Choice.Enum.auto + optional Choice.Enum choice = 1; + + // Description missing in models + // default = 0 + optional uint32 value = 2; + + // Description missing in models + // default = [0] + repeated uint32 values = 3; + + // The OTG implementation can provide a system generated + // value for this property. If the OTG is unable to generate a value + // the default value must be used. + // default = 0 + optional uint32 auto = 4; + + // Description missing in models + optional PatternPrefixConfigAutoFieldTestCounter increment = 6; + + // Description missing in models + optional PatternPrefixConfigAutoFieldTestCounter decrement = 7; +} + +// ipv4 counter pattern +message PatternIpv4PatternIpv4Counter { + + // Description missing in models + // default = 0.0.0.0 + optional string start = 1; + + // Description missing in models + // default = 0.0.0.1 + optional string step = 2; + + // Description missing in models + // default = 1 + optional uint32 count = 3; +} + +// TBD +message PatternIpv4PatternIpv4 { + + message Choice { + enum Enum { + unspecified = 0; + value = 2; + values = 3; + increment = 4; + decrement = 5; + } + } + // Description missing in models + // default = Choice.Enum.value + optional Choice.Enum choice = 1; + + // Description missing in models + // default = 0.0.0.0 + optional string value = 2; + + // Description missing in models + // default = ['0.0.0.0'] + repeated string values = 3; + + // Description missing in models + optional PatternIpv4PatternIpv4Counter increment = 5; + + // Description missing in models + optional PatternIpv4PatternIpv4Counter decrement = 6; +} + +// ipv6 counter pattern +message PatternIpv6PatternIpv6Counter { + + // Description missing in models + // default = :: + optional string start = 1; + + // Description missing in models + // default = ::1 + optional string step = 2; + + // Description missing in models + // default = 1 + optional uint32 count = 3; +} + +// TBD +message PatternIpv6PatternIpv6 { + + message Choice { + enum Enum { + unspecified = 0; + value = 2; + values = 3; + increment = 4; + decrement = 5; + } + } + // Description missing in models + // default = Choice.Enum.value + optional Choice.Enum choice = 1; + + // Description missing in models + // default = :: + optional string value = 2; + + // Description missing in models + // default = ['::'] + repeated string values = 3; + + // Description missing in models + optional PatternIpv6PatternIpv6Counter increment = 5; + + // Description missing in models + optional PatternIpv6PatternIpv6Counter decrement = 6; +} + +// mac counter pattern +message PatternMacPatternMacCounter { + + // Description missing in models + // default = 00:00:00:00:00:00 + optional string start = 1; + + // Description missing in models + // default = 00:00:00:00:00:01 + optional string step = 2; + + // Description missing in models + // default = 1 + optional uint32 count = 3; +} + +// TBD +message PatternMacPatternMac { + + message Choice { + enum Enum { + unspecified = 0; + value = 2; + values = 3; + auto = 1; + increment = 4; + decrement = 5; + } + } + // Description missing in models + // default = Choice.Enum.auto + optional Choice.Enum choice = 1; + + // Description missing in models + // default = 00:00:00:00:00:00 + optional string value = 2; + + // Description missing in models + // default = ['00:00:00:00:00:00'] + repeated string values = 3; + + // The OTG implementation can provide a system generated + // value for this property. If the OTG is unable to generate a value + // the default value must be used. + // default = 00:00:00:00:00:00 + optional string auto = 4; + + // Description missing in models + optional PatternMacPatternMacCounter increment = 6; + + // Description missing in models + optional PatternMacPatternMacCounter decrement = 7; +} + +// integer counter pattern +message PatternIntegerPatternIntegerCounter { + + // Description missing in models + // default = 0 + optional uint32 start = 1; + + // Description missing in models + // default = 1 + optional uint32 step = 2; + + // Description missing in models + // default = 1 + optional uint32 count = 3; +} + +// TBD +message PatternIntegerPatternInteger { + + message Choice { + enum Enum { + unspecified = 0; + value = 2; + values = 3; + increment = 4; + decrement = 5; + } + } + // Description missing in models + // default = Choice.Enum.value + optional Choice.Enum choice = 1; + + // Description missing in models + // default = 0 + optional uint32 value = 2; + + // Description missing in models + // default = [0] + repeated uint32 values = 3; + + // Description missing in models + optional PatternIntegerPatternIntegerCounter increment = 5; + + // Description missing in models + optional PatternIntegerPatternIntegerCounter decrement = 6; +} + +// TBD +message PatternChecksumPatternChecksum { + + message Choice { + enum Enum { + unspecified = 0; + generated = 1; + custom = 2; + } + } + // The type of checksum + // default = Choice.Enum.generated + optional Choice.Enum choice = 1; + + message Generated { + enum Enum { + unspecified = 0; + good = 1; + bad = 2; + } + } + // A system generated checksum value + // default = Generated.Enum.good + optional Generated.Enum generated = 2; + + // A custom checksum value + optional uint32 custom = 3; +} + +// Version details +message Version { + + // Version of API specification + // default = + optional string api_spec_version = 1; + + // Version of SDK generated from API specification + // default = + optional string sdk_version = 2; + + // Version of application consuming or serving the API + // default = + optional string app_version = 3; +} + +// Success warning payload similar to otg Success +message Warnings { + WarningDetails warning_details = 1; +} + +message SetConfigRequest { + PrefixConfig prefix_config = 1; +} + +message UpdateConfigurationRequest { + UpdateConfig update_config = 1; +} +message SetConfigResponse { + bytes response_bytes = 1; +} + +message UpdateConfigurationResponse { + PrefixConfig prefix_config = 1; +} + +message GetConfigResponse { + PrefixConfig prefix_config = 1; +} + + +message GetMetricsRequest { + MetricsRequest metrics_request = 1; +} +message GetMetricsResponse { + Metrics metrics = 1; +} + +message GetWarningsResponse { + WarningDetails warning_details = 1; +} + +message ClearWarningsResponse { + string string = 1; +} + + +message PostRootResponseRequest { + ApiTestInputBody api_test_input_body = 1; +} +message GetRootResponseResponse { + CommonResponseSuccess common_response_success = 1; +} + +message DummyResponseTestResponse { + string string = 1; +} + +message PostRootResponseResponse { + CommonResponseSuccess common_response_success = 1; +} + +message GetAllItemsResponse { + ServiceAbcItemList service_abc_item_list = 1; +} + +message GetSingleItemResponse { + ServiceAbcItem service_abc_item = 1; +} + +message GetSingleItemLevel2Response { + ServiceAbcItem service_abc_item = 1; +} + +message GetVersionResponse { + Version version = 1; +} + + +// Description missing in models +// +// For all RPCs defined in this service, API Server SHOULD provide JSON +// representation of `Error` message as an error string upon failure, ensuring +// name of enum constants (instead of value) for `kind` property is present +// in the representation +service Openapi { + + // Sets configuration resources. + rpc SetConfig(SetConfigRequest) returns (SetConfigResponse); + // Deprecated: please use post instead + // + // Sets configuration resources. + rpc UpdateConfiguration(UpdateConfigurationRequest) returns (UpdateConfigurationResponse); + // Gets the configuration resources. + rpc GetConfig(google.protobuf.Empty) returns (GetConfigResponse); + // Gets metrics. + rpc GetMetrics(GetMetricsRequest) returns (GetMetricsResponse); + // Gets warnings. + rpc GetWarnings(google.protobuf.Empty) returns (GetWarningsResponse); + // Clears warnings. + rpc ClearWarnings(google.protobuf.Empty) returns (ClearWarningsResponse); + // simple GET api with single return type + rpc GetRootResponse(google.protobuf.Empty) returns (GetRootResponseResponse); + // Description missing in models + rpc DummyResponseTest(google.protobuf.Empty) returns (DummyResponseTestResponse); + // simple POST api with single return type + rpc PostRootResponse(PostRootResponseRequest) returns (PostRootResponseResponse); + // return list of some items + rpc GetAllItems(google.protobuf.Empty) returns (GetAllItemsResponse); + // return single item + rpc GetSingleItem(google.protobuf.Empty) returns (GetSingleItemResponse); + // return single item + rpc GetSingleItemLevel2(google.protobuf.Empty) returns (GetSingleItemLevel2Response); + // Description missing in models + rpc GetVersion(google.protobuf.Empty) returns (GetVersionResponse); +} diff --git a/artifacts/openapi.yaml b/artifacts/openapi.yaml new file mode 100644 index 00000000..5d29df7d --- /dev/null +++ b/artifacts/openapi.yaml @@ -0,0 +1,1802 @@ +openapi: 3.0.3 +info: + title: OpenAPIArt Test API + description: |- + Demonstrates the features of the OpenAPIArt package + version: 0.0.1 + contact: + x-info: "Any feedback such as bugs/enhancements/questions regarding OpenApiArt\ + \ is \nwelcomed by using the contact url. " + url: https://github.com/open-traffic-generator/openapiart/issues + license: + name: NO-LICENSE-PRESENT +servers: +- url: https://{hostname}:{port}/{basePath} + variables: + hostname: + default: 0.0.0.0 + port: + default: '8080' + basePath: + default: api +paths: + /config: + post: + tags: + - Bundler + operationId: set_config + description: |- + Sets configuration resources. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Prefix.Config' + responses: + '200': + x-field-uid: 1 + description: |- + Standard success binary payload + content: + application/octet-stream: + schema: + type: string + format: binary + default: + x-field-uid: 2 + description: |- + The request did not succeed and server has responded with error details. + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + patch: + tags: + - Bundler + operationId: update_configuration + description: |- + Deprecated: please use post instead + + Sets configuration resources. + x-status: + status: deprecated + information: please use post instead + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Update.Config' + responses: + '200': + description: |- + success 2xx + content: + application/json: + schema: + $ref: '#/components/schemas/Prefix.Config' + x-field-uid: 1 + default: + x-field-uid: 2 + description: |- + The request did not succeed and server has responded with error details. + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + get: + tags: + - Bundler + operationId: get_config + description: |- + Gets the configuration resources. + responses: + '200': + description: |- + Config response + content: + application/json: + schema: + $ref: '#/components/schemas/Prefix.Config' + x-field-uid: 1 + default: + x-field-uid: 2 + description: |- + The request did not succeed and server has responded with error details. + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + /metrics: + get: + tags: + - Metrics + operationId: get_metrics + description: |- + Gets metrics. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Metrics.Request' + responses: + '200': + description: |- + Unique metrics response + content: + application/json: + schema: + $ref: '#/components/schemas/Metrics' + x-field-uid: 1 + default: + x-field-uid: 2 + description: |- + The request did not succeed and server has responded with error details. + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + /warnings: + get: + tags: + - Metrics + operationId: get_warnings + description: |- + Gets warnings. + responses: + '200': + $ref: '#/components/responses/Warnings' + x-field-uid: 1 + default: + x-field-uid: 2 + description: |- + The request did not succeed and server has responded with error details. + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + delete: + tags: + - Metrics + operationId: clear_warnings + description: |- + Clears warnings. + responses: + '200': + description: |- + OK + x-field-uid: 1 + default: + x-field-uid: 2 + description: |- + The request did not succeed and server has responded with error details. + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + /apitest: + get: + tags: + - ApiTest + operationId: GetRootResponse + description: |- + simple GET api with single return type + responses: + '200': + description: |- + OK + content: + application/json: + schema: + $ref: '#/components/schemas/Common.ResponseSuccess' + x-field-uid: 1 + default: + description: |- + OK + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + x-field-uid: 2 + delete: + tags: + - ApiTest + operationId: dummyResponseTest + responses: + '200': + description: |- + OK + content: + text/plain: + schema: + type: string + x-field-uid: 1 + default: + description: |- + OK + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + x-field-uid: 2 + post: + tags: + - ApiTest + operationId: PostRootResponse + description: |- + simple POST api with single return type + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ApiTest.InputBody' + responses: + '200': + description: |- + OK + content: + application/json: + schema: + $ref: '#/components/schemas/Common.ResponseSuccess' + x-field-uid: 1 + default: + description: |- + OK + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + x-field-uid: 2 + /serviceb: + get: + tags: + - ServiceAbc + operationId: GetAllItems + description: |- + return list of some items + responses: + '200': + description: |- + OK + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceAbc.ItemList' + x-field-uid: 1 + default: + description: |- + OK + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + x-field-uid: 2 + /serviceb/{item_id}: + get: + tags: + - ServiceAbc + operationId: GetSingleItem + description: |- + return single item + parameters: + - in: path + name: item_id + required: true + schema: + type: string + responses: + '200': + description: |- + OK + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceAbc.Item' + x-field-uid: 1 + default: + description: |- + OK + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + x-field-uid: 2 + /serviceb/{item_id}/{level_2}: + get: + tags: + - ServiceAbc + operationId: getSingleItemLevel2 + description: |- + return single item + parameters: + - in: path + name: item_id + required: true + schema: + type: string + - in: path + name: level_2 + required: true + schema: + type: string + responses: + '200': + description: |- + OK + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceAbc.Item' + x-field-uid: 1 + default: + description: |- + OK + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + x-field-uid: 2 + /capabilities/version: + get: + tags: + - Capabilities + operationId: get_version + responses: + '200': + description: |- + Version details from API server + content: + application/json: + schema: + $ref: '#/components/schemas/Version' + x-field-uid: 1 + default: + x-field-uid: 2 + description: |- + The request did not succeed and server has responded with error details. + content: + application/json: + schema: + $ref: '#/components/schemas/Error' +components: + responses: + Warnings: + description: |- + Success warning payload similar to otg Success + content: + application/json: + schema: + $ref: '#/components/schemas/Warning.Details' + schemas: + Error.Details: + type: object + properties: + errors: + type: array + items: + type: string + x-field-uid: 1 + Warning.Details: + type: object + properties: + warnings: + type: array + items: + type: string + x-field-uid: 1 + Error: + description: |- + Error response generated while serving API request. + type: object + required: + - code + - errors + properties: + code: + description: |- + Numeric status code based on underlying transport being used. + type: integer + x-field-uid: 1 + kind: + description: |- + Kind of error message. + type: string + x-enum: + transport: + x-field-uid: 1 + validation: + x-field-uid: 2 + internal: + x-field-uid: 3 + x-field-uid: 2 + enum: + - transport + - validation + - internal + errors: + description: |- + List of error messages generated while serving API request. + type: array + items: + type: string + x-field-uid: 3 + Prefix.Config: + type: object + required: + - a + - b + - c + - required_object + description: |- + Container which retains the configuration + properties: + required_object: + description: |- + A required object that MUST be generated as such. + $ref: '#/components/schemas/EObject' + x-field-uid: 1 + optional_object: + description: |- + An optional object that MUST be generated as such. + $ref: '#/components/schemas/EObject' + x-field-uid: 2 + ieee_802_1qbb: + type: boolean + x-field-uid: 3 + space_1: + type: integer + x-status: + status: deprecated + information: Information TBD + x-field-uid: 4 + description: |- + Deprecated: Information TBD + + Description TBD + full_duplex_100_mb: + type: integer + format: int64 + minimum: -10 + maximum: 4261412864 + x-field-uid: 5 + response: + description: |- + Indicate to the server what response should be returned + type: string + default: status_200 + x-field-uid: 6 + x-enum: + status_200: + x-field-uid: 1 + status_400: + x-field-uid: 2 + status_404: + x-status: + status: deprecated + information: new code will be coming soon + x-field-uid: 3 + description: |- + Deprecated: new code will be coming soon + + Description TBD + status_500: + x-status: + status: under_review + information: 500 can change to other values + x-field-uid: 4 + description: |- + Under Review: 500 can change to other values + + Description TBD + enum: + - status_200 + - status_400 + - status_404 + - status_500 + a: + x-status: + status: under_review + information: Information TBD + description: |- + Under Review: Information TBD + + Small single line description + type: string + x-field-uid: 7 + b: + description: |- + Longer multi-line description + Second line is here + Third line + type: number + format: float + x-field-uid: 8 + c: + type: integer + x-field-uid: 9 + d_values: + x-status: + status: deprecated + information: Information TBD + description: |- + Deprecated: Information TBD + + A list of enum values + type: array + items: + type: string + x-enum: + a: + x-field-uid: 1 + b: + x-field-uid: 2 + c: + x-field-uid: 3 + enum: + - a + - b + - c + x-field-uid: 10 + e: + x-status: + status: deprecated + information: Information TBD + description: |- + Deprecated: Information TBD + + A child object + $ref: '#/components/schemas/EObject' + x-field-uid: 11 + f: + description: |- + An object with only choice(s) + $ref: '#/components/schemas/FObject' + x-field-uid: 12 + g: + description: |- + A list of objects with choice and properties + type: array + items: + $ref: '#/components/schemas/GObject' + x-field-uid: 13 + h: + description: |- + A boolean value + type: boolean + default: true + x-field-uid: 14 + i: + description: |- + A byte string + type: string + format: binary + x-field-uid: 15 + j: + description: |- + A list of objects with only choice + type: array + items: + $ref: '#/components/schemas/JObject' + x-field-uid: 16 + k: + description: |- + A nested object with only one property which is a choice object + $ref: '#/components/schemas/KObject' + x-field-uid: 17 + l: + $ref: '#/components/schemas/LObject' + x-field-uid: 18 + list_of_string_values: + description: |- + A list of string values + type: array + items: + type: string + x-field-uid: 19 + list_of_integer_values: + description: |- + A list of integer values + type: array + items: + type: integer + x-field-uid: 20 + level: + $ref: '#/components/schemas/Level.One' + x-field-uid: 21 + mandatory: + $ref: '#/components/schemas/Mandate' + x-field-uid: 22 + ipv4_pattern: + $ref: '#/components/schemas/Ipv4Pattern' + x-field-uid: 23 + ipv6_pattern: + $ref: '#/components/schemas/Ipv6Pattern' + x-field-uid: 24 + mac_pattern: + $ref: '#/components/schemas/MacPattern' + x-field-uid: 25 + integer_pattern: + $ref: '#/components/schemas/IntegerPattern' + x-field-uid: 26 + checksum_pattern: + $ref: '#/components/schemas/ChecksumPattern' + x-field-uid: 27 + case: + $ref: '#/components/schemas/Layer1Ieee802x' + x-field-uid: 28 + m_object: + $ref: '#/components/schemas/MObject' + x-field-uid: 29 + integer64: + description: |- + int64 type + type: integer + format: int64 + x-field-uid: 30 + integer64_list: + description: |- + int64 type list + type: array + items: + type: integer + format: int64 + minimum: -12 + maximum: 4261412864 + x-field-uid: 31 + header_checksum: + x-field-uid: 32 + $ref: '#/components/schemas/Pattern.Prefix.Config.HeaderChecksum' + str_len: + x-status: + status: under_review + information: Information TBD + description: |- + Under Review: Information TBD + + string minimum&maximum Length + type: string + minLength: 3 + maxLength: 6 + x-field-uid: 33 + hex_slice: + x-status: + status: under_review + information: Information TBD + description: |- + Under Review: Information TBD + + Array of Hex + type: array + items: + type: string + format: hex + x-field-uid: 34 + auto_field_test: + x-field-uid: 35 + $ref: '#/components/schemas/Pattern.Prefix.Config.AutoFieldTest' + name: + x-field-uid: 36 + type: string + w_list: + type: array + items: + $ref: '#/components/schemas/WObject' + x-field-uid: 37 + x_list: + type: array + items: + $ref: '#/components/schemas/ZObject' + x-field-uid: 38 + z_object: + $ref: '#/components/schemas/ZObject' + x-field-uid: 39 + y_object: + $ref: '#/components/schemas/YObject' + x-field-uid: 40 + choice_object: + description: |- + A list of objects with choice with and without properties + type: array + items: + $ref: '#/components/schemas/ChoiceObject' + x-field-uid: 41 + required_choice_object: + $ref: '#/components/schemas/RequiredChoiceParent' + x-field-uid: 42 + g1: + description: |- + A list of objects with choice and properties + type: array + items: + $ref: '#/components/schemas/GObject' + x-field-uid: 43 + g2: + description: |- + A list of objects with choice and properties + type: array + items: + $ref: '#/components/schemas/GObject' + x-field-uid: 44 + int32_param: + description: |- + int32 type + type: integer + format: int32 + x-field-uid: 45 + int32_list_param: + description: |- + int32 type list + type: array + items: + type: integer + format: int32 + minimum: -23456 + maximum: 23456 + x-field-uid: 46 + uint32_param: + description: |- + uint32 type + type: integer + format: uint32 + x-field-uid: 47 + uint32_list_param: + description: |- + uint32 type list + type: array + items: + type: integer + format: uint32 + minimum: 0 + maximum: 4294967293 + x-field-uid: 48 + uint64_param: + description: |- + uint64 type + type: integer + format: uint64 + x-field-uid: 49 + uint64_list_param: + description: |- + uint64 type list + type: array + items: + type: integer + format: uint64 + x-field-uid: 50 + auto_int32_param: + description: |- + should automatically set type to int32 + type: integer + minimum: 64 + maximum: 9000 + x-field-uid: 51 + auto_int32_list_param: + description: |- + should automatically set type to []int32 + type: array + items: + type: integer + minimum: 64 + maximum: 9000 + x-field-uid: 52 + WObject: + required: + - w_name + properties: + w_name: + type: string + x-field-uid: 1 + ZObject: + required: + - name + properties: + name: + type: string + x-field-uid: 1 + YObject: + properties: + y_name: + type: string + x-field-uid: 1 + x-constraint: + - /components/schemas/ZObject/properties/name + - /components/schemas/WObject/properties/w_name + description: | + TBD + + x-constraint: + - /components/schemas/ZObject/properties/name + - /components/schemas/WObject/properties/w_name + Layer1Ieee802x: + type: object + properties: + flow_control: + type: boolean + x-field-uid: 1 + GObject: + type: object + x-status: + status: deprecated + information: new schema Jobject to be used + properties: + g_a: + type: string + default: asdf + x-field-uid: 1 + g_b: + type: integer + default: 6 + x-field-uid: 2 + g_c: + type: number + default: 77.7 + x-status: + status: deprecated + information: Information TBD + x-field-uid: 3 + description: |- + Deprecated: Information TBD + + Description TBD + choice: + type: string + default: g_d + x-field-uid: 4 + x-enum: + g_d: + x-field-uid: 1 + g_e: + x-field-uid: 2 + enum: + - g_d + - g_e + g_d: + type: string + default: some string + x-field-uid: 5 + g_e: + type: number + format: double + default: 3.0 + x-field-uid: 6 + g_f: + description: |- + Another enum to test protbuf enum generation + type: string + default: a + x-field-uid: 7 + x-enum: + a: + x-field-uid: 1 + b: + x-field-uid: 2 + c: + x-field-uid: 3 + enum: + - a + - b + - c + name: + x-field-uid: 8 + type: string + description: |- + Deprecated: new schema Jobject to be used + + Description TBD + EObject: + type: object + required: + - e_a + - e_b + properties: + e_a: + type: number + format: float + x-field-uid: 1 + e_b: + type: number + format: double + x-field-uid: 2 + name: + x-field-uid: 3 + type: string + m_param1: + x-field-uid: 4 + type: string + m_param2: + x-field-uid: 5 + type: string + FObject: + type: object + properties: + choice: + type: string + default: f_a + x-field-uid: 1 + x-enum: + f_a: + x-field-uid: 1 + f_b: + x-field-uid: 2 + f_c: + x-field-uid: 3 + enum: + - f_a + - f_b + - f_c + f_a: + type: string + default: some string + x-field-uid: 2 + f_b: + type: number + format: double + default: 3.0 + x-field-uid: 3 + JObject: + type: object + properties: + choice: + type: string + default: j_a + x-field-uid: 1 + x-enum: + j_a: + x-field-uid: 1 + j_b: + x-status: + status: deprecated + information: use j_a instead + x-field-uid: 2 + description: |- + Deprecated: use j_a instead + + Description TBD + enum: + - j_a + - j_b + j_a: + $ref: '#/components/schemas/EObject' + x-field-uid: 2 + j_b: + $ref: '#/components/schemas/FObject' + x-field-uid: 3 + ChoiceObject: + type: object + properties: + choice: + type: string + default: no_obj + x-field-uid: 1 + x-enum: + e_obj: + x-field-uid: 1 + f_obj: + x-field-uid: 2 + no_obj: + x-field-uid: 3 + enum: + - e_obj + - f_obj + - no_obj + e_obj: + $ref: '#/components/schemas/EObject' + x-field-uid: 2 + f_obj: + $ref: '#/components/schemas/FObject' + x-field-uid: 3 + KObject: + type: object + properties: + e_object: + $ref: '#/components/schemas/EObject' + x-field-uid: 1 + f_object: + $ref: '#/components/schemas/FObject' + x-field-uid: 2 + LObject: + description: |- + Format validation object + type: object + properties: + string_param: + type: string + x-field-uid: 1 + integer: + type: integer + minimum: -10 + maximum: 90 + x-field-uid: 2 + float: + type: number + format: float + x-field-uid: 3 + double: + type: number + format: double + x-field-uid: 4 + mac: + type: string + format: mac + x-field-uid: 5 + ipv4: + type: string + format: ipv4 + x-field-uid: 6 + ipv6: + type: string + format: ipv6 + x-field-uid: 7 + hex: + type: string + format: hex + x-field-uid: 8 + MObject: + description: |- + Required format validation object + type: object + required: + - string_param + - integer + - float + - double + - mac + - ipv4 + - ipv6 + - hex + properties: + string_param: + type: string + x-field-uid: 1 + integer: + type: integer + minimum: -10 + maximum: 90 + x-field-uid: 2 + float: + type: number + format: float + x-field-uid: 3 + double: + type: number + format: double + x-field-uid: 4 + mac: + type: string + format: mac + x-field-uid: 5 + ipv4: + type: string + format: ipv4 + x-field-uid: 6 + ipv6: + type: string + format: ipv6 + x-field-uid: 7 + hex: + type: string + format: hex + x-field-uid: 8 + Mandate: + description: |- + Object to Test required Parameter + type: object + required: + - required_param + properties: + required_param: + type: string + x-field-uid: 1 + Update.Config: + description: |- + Under Review: the whole schema is being reviewed + + Object to Test required Parameter + x-status: + status: under_review + information: the whole schema is being reviewed + type: object + properties: + g: + description: |- + A list of objects with choice and properties + type: array + items: + $ref: '#/components/schemas/GObject' + x-field-uid: 1 + Metrics.Request: + type: object + properties: + choice: + type: string + default: port + x-field-uid: 1 + x-enum: + port: + x-field-uid: 1 + flow: + x-field-uid: 2 + enum: + - port + - flow + port: + type: string + x-field-uid: 2 + flow: + type: string + x-field-uid: 3 + Metrics: + type: object + properties: + choice: + type: string + default: ports + x-field-uid: 1 + x-enum: + ports: + x-field-uid: 1 + flows: + x-field-uid: 2 + enum: + - ports + - flows + ports: + type: array + items: + $ref: '#/components/schemas/Port.Metric' + x-field-uid: 2 + flows: + type: array + items: + $ref: '#/components/schemas/Flow.Metric' + x-field-uid: 3 + Port.Metric: + type: object + required: + - name + - tx_frames + - rx_frames + properties: + name: + type: string + x-field-uid: 1 + tx_frames: + type: number + format: double + x-field-uid: 2 + rx_frames: + type: number + format: double + x-field-uid: 3 + Flow.Metric: + type: object + required: + - name + - tx_frames + - rx_frames + properties: + name: + type: string + x-field-uid: 1 + tx_frames: + type: number + format: double + x-field-uid: 2 + rx_frames: + type: number + format: double + x-field-uid: 3 + RequiredChoiceParent: + type: object + required: + - choice + properties: + choice: + type: string + x-field-uid: 1 + x-enum: + intermediate_obj: + x-field-uid: 1 + no_obj: + x-field-uid: 2 + enum: + - intermediate_obj + - no_obj + intermediate_obj: + $ref: '#/components/schemas/RequiredChoiceIntermediate' + x-field-uid: 2 + RequiredChoiceIntermediate: + type: object + required: + - choice + properties: + choice: + type: string + x-field-uid: 1 + x-enum: + f_a: + x-field-uid: 1 + leaf: + x-field-uid: 2 + enum: + - f_a + - leaf + f_a: + type: string + default: some string + x-field-uid: 2 + leaf: + $ref: '#/components/schemas/RequiredChoiceIntermeLeaf' + x-field-uid: 3 + RequiredChoiceIntermeLeaf: + type: object + properties: + name: + type: string + x-field-uid: 1 + Level.One: + description: |- + To Test Multi level non-primitive types + properties: + l1_p1: + description: |- + Level one + $ref: '#/components/schemas/Level.Two' + x-field-uid: 1 + l1_p2: + description: |- + Level one to four + $ref: '#/components/schemas/Level.Four' + x-field-uid: 2 + Level.Two: + description: |- + Test Level 2 + properties: + l2_p1: + description: |- + Level Two + $ref: '#/components/schemas/Level.Three' + x-field-uid: 1 + Level.Three: + description: |- + Test Level3 + properties: + l3_p1: + description: |- + Set value at Level 3 + type: string + x-field-uid: 1 + Level.Four: + description: |- + Test level4 redundant junk testing + properties: + l4_p1: + description: |- + loop over level 1 + $ref: '#/components/schemas/Level.One' + x-field-uid: 1 + Ipv4Pattern: + description: |- + Test ipv4 pattern + type: object + properties: + ipv4: + x-field-uid: 1 + $ref: '#/components/schemas/Pattern.Ipv4Pattern.Ipv4' + Ipv6Pattern: + description: |- + Test ipv6 pattern + type: object + properties: + ipv6: + x-field-uid: 1 + $ref: '#/components/schemas/Pattern.Ipv6Pattern.Ipv6' + MacPattern: + description: |- + Test mac pattern + type: object + properties: + mac: + x-field-uid: 1 + $ref: '#/components/schemas/Pattern.MacPattern.Mac' + IntegerPattern: + description: |- + Test integer pattern + type: object + properties: + integer: + x-field-uid: 1 + $ref: '#/components/schemas/Pattern.IntegerPattern.Integer' + ChecksumPattern: + description: |- + Test checksum pattern + type: object + properties: + checksum: + x-field-uid: 1 + $ref: '#/components/schemas/Pattern.ChecksumPattern.Checksum' + Common.ResponseSuccess: + type: object + properties: + message: + type: string + x-field-uid: 1 + ApiTest.InputBody: + type: object + properties: + some_string: + type: string + x-field-uid: 1 + ServiceAbc.Item: + type: object + properties: + some_id: + type: string + x-field-uid: 1 + some_string: + type: string + x-field-uid: 2 + path_id: + type: string + x-field-uid: 3 + level_2: + type: string + x-field-uid: 4 + ServiceAbc.ItemList: + type: object + properties: + items: + type: array + items: + $ref: '#/components/schemas/ServiceAbc.Item' + x-field-uid: 1 + Pattern.Prefix.Config.HeaderChecksum: + description: |- + Header checksum + type: object + properties: + choice: + description: |- + The type of checksum + type: string + x-enum: + generated: + x-field-uid: 1 + custom: + x-field-uid: 2 + default: generated + x-field-uid: 1 + enum: + - generated + - custom + generated: + description: |- + A system generated checksum value + type: string + x-enum: + good: + x-field-uid: 1 + bad: + x-field-uid: 2 + default: good + x-field-uid: 2 + enum: + - good + - bad + custom: + description: |- + A custom checksum value + type: integer + format: uint32 + maximum: 65535 + x-field-uid: 3 + Pattern.Prefix.Config.AutoFieldTest.Counter: + description: |- + integer counter pattern + type: object + properties: + start: + type: integer + x-field-uid: 1 + default: 0 + format: uint32 + maximum: 255 + step: + type: integer + x-field-uid: 2 + default: 1 + format: uint32 + maximum: 255 + count: + type: integer + x-field-uid: 3 + default: 1 + format: uint32 + maximum: 255 + Pattern.Prefix.Config.AutoFieldTest: + description: |- + TBD + type: object + properties: + choice: + type: string + x-enum: + value: + x-field-uid: 2 + values: + x-field-uid: 3 + auto: + x-field-uid: 1 + increment: + x-field-uid: 4 + decrement: + x-field-uid: 5 + default: auto + x-field-uid: 1 + enum: + - value + - values + - auto + - increment + - decrement + value: + type: integer + x-field-uid: 2 + default: 0 + format: uint32 + maximum: 255 + values: + type: array + items: + type: integer + format: uint32 + maximum: 255 + x-field-uid: 3 + default: + - 0 + auto: + description: |- + The OTG implementation can provide a system generated + value for this property. If the OTG is unable to generate a value + the default value must be used. + type: integer + x-field-uid: 4 + default: 0 + format: uint32 + maximum: 255 + increment: + $ref: '#/components/schemas/Pattern.Prefix.Config.AutoFieldTest.Counter' + x-field-uid: 6 + decrement: + $ref: '#/components/schemas/Pattern.Prefix.Config.AutoFieldTest.Counter' + x-field-uid: 7 + Pattern.Ipv4Pattern.Ipv4.Counter: + description: |- + ipv4 counter pattern + type: object + properties: + start: + type: string + x-field-uid: 1 + default: 0.0.0.0 + format: ipv4 + step: + type: string + x-field-uid: 2 + default: 0.0.0.1 + format: ipv4 + count: + type: integer + x-field-uid: 3 + default: 1 + format: uint32 + Pattern.Ipv4Pattern.Ipv4: + description: |- + TBD + type: object + properties: + choice: + type: string + x-enum: + value: + x-field-uid: 2 + values: + x-field-uid: 3 + increment: + x-field-uid: 4 + decrement: + x-field-uid: 5 + default: value + x-field-uid: 1 + enum: + - value + - values + - increment + - decrement + value: + type: string + x-field-uid: 2 + default: 0.0.0.0 + format: ipv4 + values: + type: array + items: + type: string + format: ipv4 + x-field-uid: 3 + default: + - 0.0.0.0 + increment: + $ref: '#/components/schemas/Pattern.Ipv4Pattern.Ipv4.Counter' + x-field-uid: 5 + decrement: + $ref: '#/components/schemas/Pattern.Ipv4Pattern.Ipv4.Counter' + x-field-uid: 6 + Pattern.Ipv6Pattern.Ipv6.Counter: + description: |- + ipv6 counter pattern + type: object + properties: + start: + type: string + x-field-uid: 1 + default: '::' + format: ipv6 + step: + type: string + x-field-uid: 2 + default: ::1 + format: ipv6 + count: + type: integer + x-field-uid: 3 + default: 1 + format: uint32 + Pattern.Ipv6Pattern.Ipv6: + description: |- + TBD + type: object + properties: + choice: + type: string + x-enum: + value: + x-field-uid: 2 + values: + x-field-uid: 3 + increment: + x-field-uid: 4 + decrement: + x-field-uid: 5 + default: value + x-field-uid: 1 + enum: + - value + - values + - increment + - decrement + value: + type: string + x-field-uid: 2 + default: '::' + format: ipv6 + values: + type: array + items: + type: string + format: ipv6 + x-field-uid: 3 + default: + - '::' + increment: + $ref: '#/components/schemas/Pattern.Ipv6Pattern.Ipv6.Counter' + x-field-uid: 5 + decrement: + $ref: '#/components/schemas/Pattern.Ipv6Pattern.Ipv6.Counter' + x-field-uid: 6 + Pattern.MacPattern.Mac.Counter: + description: |- + mac counter pattern + type: object + properties: + start: + type: string + x-field-uid: 1 + default: 00:00:00:00:00:00 + format: mac + step: + type: string + x-field-uid: 2 + default: 00:00:00:00:00:01 + format: mac + count: + type: integer + x-field-uid: 3 + default: 1 + format: uint32 + Pattern.MacPattern.Mac: + description: |- + TBD + type: object + properties: + choice: + type: string + x-enum: + value: + x-field-uid: 2 + values: + x-field-uid: 3 + auto: + x-field-uid: 1 + increment: + x-field-uid: 4 + decrement: + x-field-uid: 5 + default: auto + x-field-uid: 1 + enum: + - value + - values + - auto + - increment + - decrement + value: + type: string + x-field-uid: 2 + default: 00:00:00:00:00:00 + format: mac + values: + type: array + items: + type: string + format: mac + x-field-uid: 3 + default: + - 00:00:00:00:00:00 + auto: + description: |- + The OTG implementation can provide a system generated + value for this property. If the OTG is unable to generate a value + the default value must be used. + type: string + x-field-uid: 4 + default: 00:00:00:00:00:00 + format: mac + increment: + $ref: '#/components/schemas/Pattern.MacPattern.Mac.Counter' + x-field-uid: 6 + decrement: + $ref: '#/components/schemas/Pattern.MacPattern.Mac.Counter' + x-field-uid: 7 + Pattern.IntegerPattern.Integer.Counter: + description: |- + integer counter pattern + type: object + properties: + start: + type: integer + x-field-uid: 1 + default: 0 + format: uint32 + maximum: 255 + step: + type: integer + x-field-uid: 2 + default: 1 + format: uint32 + maximum: 255 + count: + type: integer + x-field-uid: 3 + default: 1 + format: uint32 + maximum: 255 + Pattern.IntegerPattern.Integer: + description: |- + TBD + type: object + properties: + choice: + type: string + x-enum: + value: + x-field-uid: 2 + values: + x-field-uid: 3 + increment: + x-field-uid: 4 + decrement: + x-field-uid: 5 + default: value + x-field-uid: 1 + enum: + - value + - values + - increment + - decrement + value: + type: integer + x-field-uid: 2 + default: 0 + format: uint32 + maximum: 255 + values: + type: array + items: + type: integer + format: uint32 + maximum: 255 + x-field-uid: 3 + default: + - 0 + increment: + $ref: '#/components/schemas/Pattern.IntegerPattern.Integer.Counter' + x-field-uid: 5 + decrement: + $ref: '#/components/schemas/Pattern.IntegerPattern.Integer.Counter' + x-field-uid: 6 + Pattern.ChecksumPattern.Checksum: + description: |- + TBD + type: object + properties: + choice: + description: |- + The type of checksum + type: string + x-enum: + generated: + x-field-uid: 1 + custom: + x-field-uid: 2 + default: generated + x-field-uid: 1 + enum: + - generated + - custom + generated: + description: |- + A system generated checksum value + type: string + x-enum: + good: + x-field-uid: 1 + bad: + x-field-uid: 2 + default: good + x-field-uid: 2 + enum: + - good + - bad + custom: + description: |- + A custom checksum value + type: integer + format: uint32 + maximum: 255 + x-field-uid: 3 + Version: + description: |- + Version details + type: object + properties: + api_spec_version: + description: |- + Version of API specification + type: string + default: '' + x-field-uid: 1 + sdk_version: + description: |- + Version of SDK generated from API specification + type: string + default: '' + x-field-uid: 2 + app_version: + description: |- + Version of application consuming or serving the API + type: string + default: '' + x-field-uid: 3 diff --git a/artifacts/pyapi/__init__.py b/artifacts/pyapi/__init__.py new file mode 100644 index 00000000..7a85a693 --- /dev/null +++ b/artifacts/pyapi/__init__.py @@ -0,0 +1,61 @@ +from .pyapi import PrefixConfig +from .pyapi import EObject +from .pyapi import FObject +from .pyapi import GObject +from .pyapi import GObjectIter +from .pyapi import JObject +from .pyapi import JObjectIter +from .pyapi import KObject +from .pyapi import LObject +from .pyapi import LevelOne +from .pyapi import LevelTwo +from .pyapi import LevelThree +from .pyapi import LevelFour +from .pyapi import Mandate +from .pyapi import Ipv4Pattern +from .pyapi import PatternIpv4PatternIpv4 +from .pyapi import PatternIpv4PatternIpv4Counter +from .pyapi import Ipv6Pattern +from .pyapi import PatternIpv6PatternIpv6 +from .pyapi import PatternIpv6PatternIpv6Counter +from .pyapi import MacPattern +from .pyapi import PatternMacPatternMac +from .pyapi import PatternMacPatternMacCounter +from .pyapi import IntegerPattern +from .pyapi import PatternIntegerPatternInteger +from .pyapi import PatternIntegerPatternIntegerCounter +from .pyapi import ChecksumPattern +from .pyapi import PatternChecksumPatternChecksum +from .pyapi import Layer1Ieee802x +from .pyapi import MObject +from .pyapi import PatternPrefixConfigHeaderChecksum +from .pyapi import PatternPrefixConfigAutoFieldTest +from .pyapi import PatternPrefixConfigAutoFieldTestCounter +from .pyapi import WObject +from .pyapi import WObjectIter +from .pyapi import ZObject +from .pyapi import ZObjectIter +from .pyapi import YObject +from .pyapi import ChoiceObject +from .pyapi import ChoiceObjectIter +from .pyapi import RequiredChoiceParent +from .pyapi import RequiredChoiceIntermediate +from .pyapi import RequiredChoiceIntermeLeaf +from .pyapi import Error +from .pyapi import UpdateConfig +from .pyapi import MetricsRequest +from .pyapi import Metrics +from .pyapi import PortMetric +from .pyapi import PortMetricIter +from .pyapi import FlowMetric +from .pyapi import FlowMetricIter +from .pyapi import WarningDetails +from .pyapi import CommonResponseSuccess +from .pyapi import ApiTestInputBody +from .pyapi import ServiceAbcItemList +from .pyapi import ServiceAbcItem +from .pyapi import ServiceAbcItemIter +from .pyapi import Version +from .pyapi import Api +from .pyapi import Transport +from .pyapi import api diff --git a/artifacts/pyapi/__pycache__/__init__.cpython-310.pyc b/artifacts/pyapi/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c37b3ea44585498b54a389f47c3079468ec34d02 GIT binary patch literal 2490 zcmc)L*;3<16b4`$W4s#!X5V+rVzcis!w^VFAVUo#Q#m)3#%@3vTXNbm40)rx5?86p zRbC-i`OmSiOu|eq!}9ZWpVpC(+9f-Yi2CsL>P@pc3j2J2@SyRl34_=8t^5uZdC_BIE{-Z;0c-#Pr{QlDV~C-Xi7W{Pt&w`2A-iAaR$y%Mm!78 z(yVw6o})SOJUmbH;stnt7Q|UNOIdLa&QVUh2rts2cnMyjCGj%6Ov~aGc!gHPtMDqV zir3&ZS`)9s>$EQ3fH!DEya{j8rg#h9qAl?@yiMEU9e9U!#Jlh=?TYu{J=%l!FMOF- zfBLc4Gycc;xmMTar$gJiHg7Nv9libVv&uWnV~=0g8FP8!D9ww$^(ro(D&N&Bq0>6U zr|M1>-&zXC)_i$y!%>;Pyw!>;5g8rZRXN3(VHFIA=VK@3yVY~U!MQCAyIeNRGEo_P zxpHV%t=e^Sr}Y;*J^ zDBaLuf==7 z*j=7}r+%rLS`})wb3-eOud?s?JU;+kQU$ZNA$wn}o+{%ShX#+dws{A~e<*g!v7-q489-W7F zsbpL4RHbZN6?IX~=T(IZse`h~597otSDiO@;Q@2)7fRpZW*vOUqhaaPlxLNEKKt)= z?#V+xDqS&c{%{7+9DgF0+OTk9%{Mb(l+Eum`;Wo$1El$#s{|IcN1CIPql=@PqlcrHqmQGXV}N6jV~AszV}xUrV~k^* zV}fInV~S&%V}>KcG0QQ>G0(BUk>$v7EOIPyEOV@Ita7YztaEH|Y;tUIY;){z>~idJ z>?3~j>DO$IzbJQWmsCzyElcU#y{$jy?6R_OUk&Yih7KNfC6~?e4_2AiMjm5%7`dw} i(=wf_t8DqeQDbtbsuasxq8g7~yhuw<>KL`bH*#WEL=fW*zN-y3wn^hAZQ8VHn=WbECTS*_Os5^UKiEH=b~+tl-h*>pU918BJ2loUdY)-$_*;5#|E~oP_u${+UxV?6 zWCQo{#;k9xG1=rJ-jr=#Ye}|B-VENBY?r(R+@EB=2End&ywZ^DglsF)x{}>8zYV-6 z89;tJqE#5D7OTHU?s~7~|2DErc>;c~n zwD^DsOCAQd#7*EkfEM2=_Da4Ne3#e4~fH)9|k`xj({HlQdzfv?*Ll-7BK`q1hn{3aTNR*(Bi}57V=;CGAL zz)t}!evh~vd=zN$F>wd@IMCt~;!f}=(BhNgF7PR!#be@a;BlbEPm8<3&j2kxElx>( z3VcS~13nA1_?#F8p9fm}UNI*57G9%%6k zVh%h5wD?0}9{eKE;#qMo_!`jS>mmW316n*U7Qi0{TD%|@!HYnPm&6iy8EElKVj280 z(BhAXv*1^N7JpRS2mVf=#or~)fj@qpwH zfIltX0saio;_nqU__IKZzfU{}{v6Qa&x@4gDe(7;74Q!LE&fv?4gNu(#XlrC_zOUb ze^>~~1^7>kRq&4hE&fq)9{giKlD{BjE=c)|PGa0?D5&_;Wz= zXHD`o@Shdy;4c9!{z;Joe;G*j^WZN4$)ATMe;E8zq5%GBAhlHy{Ba<)RY~#^_>-ax z{uGef>XPJ_z^{tS;I9BJ{&V6H@Sg`-{1?O(@Xr7({#o%T_%8x2{yFhZ@K=Er|0VG* z@XrG+{sr+E_%8!3{ww0$;9mq<{8z=};J*g6_?N^J;J*&E_-}|O!M_Z&_-~4*z< z@!uBj0sjin;=d!F2LD~4#eYvc1OEF!i+@$T7yJ)^7XO-f7W@x^7XKshKJY&VTKwzc zIq+`)E&fgMJoujgE#9%vK>r^6)}y+4)>9OG(8mYb&{|%~Pe+N~$Q3)a{m9i6F%< z*7Bt*c77#N{QPi31MAA=#d<2A8Io=U+w|kW;Q3tcd{!Kl$?)uG#gY;ou&O1bWtAD; z#X6&fLas0&N~uh?80==Pf}V>Z-(b@Le>lv#&!!6Nnf3EVBEZ@&s}v*is*kluBf(DA zOsxW4-+`9kVb**xv(7_}cYq5s+`FyT|o2cM{Y1T{<;R)7E zLct!^QC=_RMLM&Z5j@Zk>|*{>A%&z|p%fr}b}5z3piMKm^*|$BY0s>eL}5LZ4K$6l zu@;+r3197Fo%02;nt5bAx4xP=A3Vr<3gY2%rho~YTX{&NOVay}NTA~HoJ z%%`$Ol&V%kR8?t!b!7x1!fnSQ_VB|iE1@Pxx5s=`-7T!Gm`|mJJsfJL#)>sk>TVWX zEoU(@%K0oN*zmDq_S#CQ1p-a6CK9-VwHE}cyj~QcRwQ>vZgSjoS8FJtrBn+yldhln zQlT~|`H8NC+CdwMrbB+vmf#82&TTYeSrkJIozNW#*ET+}EQO@);2`sfPzMauYKImo z7!s?Y&MJvX)u^#nlCYTXe5eaWx@}D9X76Uc3!!ePx5wH@7|)qd51uOWuMVy`?Yu3P_Rm3T1zmJ*va~{nPSP#t=h#>0aL*=QXh@f;4Ze+WYdT{ zj|i(9aSQTWg8NuYR$LO`|b>t$8FeJIO456?PNsr3;hadVYKQcIw%A2n^gUpiK4Yb_JoPK816 ziV-|eC3sGE$^Z!-VO{A9IkbS0J}8Uscj`MXb9MP+Y^xK?y=sSKAv+zlgbw*ieLhtX z>!p}QCGKF2=Z8awt7>Rs5#>fgN9yE;SOM~j*6a=WKVQ4kScDb~W<)=gM|zpCC^M(yZOAD&e#BR%I;1#ZszNF4~b}$JDZ{pHJYqk(O!a`9z?} z^?WPxn+Hy^HodxpkJKxp1q&HWp|pt(dzAtS8CJ5HMfCk~Hw zvrfo6aaPs=eIu6;9Z1LeSg#XcOq7({8H#|?Srgu5@mhW4gfvzapj7o$sFC?q(L~y% zz##3KsVpDNbRFBywxN0ShRHL@WOZCaOV-ytww(ksY-QzKLr#w6@OIW_LJoGLmu(rT zXh-P}Z)0sH)?lmY$~ef{bleE`vDPat9k~@7^RqTvrH1cf-QIPACevy*ciB$o)=Pz4 zR__1Wl^*q>J1_iH6KgZUAi$c=+bJpTS35qLvLZLUEoz@9Q_^zh*QoY*!>m;`o80(y zM|Li^LA5_EplXEBu3Ps{KWzr&C{x>Rzv`q)azr;W z?Z%z*^ej_)?uSVDEAT|`WP_ECrNQd%SS{h{Sb69{H?G2YIz?z#WQsZ|_~dvQxXbC8 z$TfNfW>n9t+7uMgMXNT2MH=|7W`&q+PDq7cgYRaWT;F#svDx=9YkElg?%plveo+l8 zWmIk4GG^~jt$c$c4@If^Jw)}Zt`>4-wU8P9cOUCiLs^fI5of}we%a$pIJem53hres za@!%h$L+qSijZ2R&54}iZYfVC$DK~RyN1|z13$~Qvo`!%297j$_JwsezK9Z>EjYbQhh>F z+Y%YIRcOQ}SFcU(@EAl*v$<5s9Uu|Fd9J*Y6*55j)WH|?0xP9E1Y&yA>MD=HeiZ{% z(ug|bs*@%3u#1*wT@~r%BII^bE{fVU)tcmx9AU~0IkHf=j0aStAtN#e=EKimD(S-n zcJnpb0M{4Z>f`#tU32V%Je8(M=G2$2RVr20Pr8;Q=u|Mg2X3g7B91fN&NA)ljPPOB zxs=B#Q|S8-dGw~c9`_j0t48?iKGr=WaOO=HX~&H7L-4k$*;KiI@Ct68Pv{-Gt8qs= zB+=?Bd*83Z-L1|{!Szw?o1b=N2onX2^t}Or?s}*o*-exk{uXtQs>U^x2il~ZLW)i7N276nx#@;dIqNj4e&R* ziLvyEy^8YyE^ufz%R^+rNuq_&M;0nR(O{}hf!kXY23{DwQRY0l?Ft3p~-R@~|8Da)*AjodnTnw7J5@Z|YmXxA_F-@L?|Ix<= z>X#loRaNh!&I(gs$y0mJK0pTMTUm2fq*nE+Qn`n#X>b~na={%q;S4d{k<^|&a%(_~ zDJBmUf$>FqG1?i>%%P<4Nw&RiLC(Ia65ORC4WsZHYd5!A^4@FM&JXMR)T(>0#mhOh zFx-smF^EOvi0z03owk#PCUfP2teQGzkv)e+!f(^X!5G%OmMl)*rnt&1m39^{6oilk zDs_?!A7ZSM8N^zYJ#GxB4Wp8!L>wFZjzh9)IC`71s;Wj;den(Zo8-c$Sx3BbD;LC0 zP6l+fHt%+-tS^jQqC}N3>Ksziw#3R@!{TO;8pV>8ZW9xfK;qNBX3 zT$X6BDuQ6j4hdSKb%q`g zx~W7d;)t+?voA#jdlVJRQ5T!dJ1jE{MVIm2Cw)h1ns1-O_`l`fFHI^@Wg2uRJ+b%Y&}8z{frK&hj@GG6V9%+rP>*XpQX z(Cgteu0MmAuo-x(-u`q%DtEkI+3>$MvOT)X>fe9{&s4?Ek?O9juj>w>vS)+$GXHt= zzD~xI?#S(L!k+W4Po0(JiyG`k)8%3*wxR!{cs=E~qLvtC2FK=;%>vgG99K_P3;c5XH+N7?G{iGq2q+Iwfn%Lm=diAo))lnYzH}^X{l&@Ue zUSmhCU&GLrtc#W{x@wYhLUkjq@NwmzE{HYU{>pPiN95QId!ZXq9Zz713uB4ivAq>b zbh9(?ptFK6*BcqwB+8np8onfPQO5SCoD>&gEBlHT- z^wrOswesT?Ki+6$yL1nkb6M3RHfG)_eZ0ES>L_mRrCHZDT%QOwoiOSdb2jNe!N-9Q zqI!Y1QXUe$mNsoilN$P37}WPUWnrUf@>QRL9GTCHd^q z$FZ_qe^Xct9%DWFYeJi=PY|U`?qj9*`$ODc1{Op~-Colr6Gm*UfsE^*^;;TMw zqw<-E`w)o>lmYh@cp0B}qIq1l%JPD|o-Ma7uG4#6-l#A0)ZM${_R1A}rz8F844+|^ zTiGdCtG&5ejI!RTN;|wI6H#eG-+P<-qes@%UAcVEkLKOfBVG;M76##olc-(6y9jMZ z>sP)7(xTxh)(1s17R&|ATNo4jafySA%fcp82*~PPkMzMGzL#yA&lO9FT&`q_GxZ)} zefYdqepQ9tFYa^f6UK$+-Q}3A zc?X5jwSA(zwsyt%N_S0$(<>uS-R@_h&2{@hd2+Aps?ltgE~@Y{NZY-G^%vD0mYrHj z+jK9aJ`q!wewI@|@7)mHBVii$qv00tJ!MvqRmbQs3sf7`?N#@#X`WdgTk@(l@_(_Y z2DJ{Ijv)+ccjR=xGt;7xziDG_bLv}dyw&hK(IHqFLr$6=djkWmc5*_SZsG@7UyYy< zth^Sfk!$Q$wv;u6oWX(nC|zuD>yY|fTzwyo56Xw4^dY*-MMu_Y72F~tQP1jNr81R7 z<4|Qlxbw6hzb)_f=Avlv>?My#gLlUbfbZmssFCD z%HLod-{{Z@^y7`m*avn{W8H7f|m$B1;|YK!2X5U-Ne36>@-;B4g5AS z^K?7l?+IQYc%5L-5BMIje;|>T4nP~hE`mXVIKdf$X9=Ds=+zYr$ zurCPMPY@$GO;9Fygy1eTV&)BEyNP{|*ePOdTL9l6_TL15O5mroIKdf$_Y-`O;IV$d zK7tDbM+u%FSlbFXK=5{g2tkhEvjm?b=-&p|MzBb*Oz;H3Qv_cn_!WPhu}qm?-Ddq#s;y& z#J)iAMS`by0p8dNI8E$(#NJEne+U|O1D+iuMzBo42%eK^d%&6qo(}^)K;XLx&`j{^ zUcl!G4(tOQCiwQvfbSBVJOH?Z;5!80CGZ~vbP${&m?8KC!HWc6C-^2o?;$`R!6Lyj z!Ak@$6TC+7mjpWx19lTk62u5zBzTG7-w6JLAbbR{m*8=NCkg(X;5C9>w*UqS@&pBf zR|&pA@In0W>frk~+H9NW(zd-3s$LrDB_;jBsLmPw_^i&BJnkc^mM;!CZ zutGDX1Y9Zd*I@sS=pUh;%2Aha3j3?sri*t#MU1Rh!w;APxjbnM-#L0*(t4*Y*jXr9qO-rCO$in47eWb z=bF?RL^(=QQiFr$^646T|UnG>YH1+y|j4CrdMXJT?~}k0!U6ES;e2cQ~n2 zlc=@PnVK}kN1Z|^9m|?kEPE4->S;$ovx1};C6KU%)-))N!e%&urxj% zU06u=+N1OFMRa|9c7ADbY;NKlI&mSISjMy&9UDj1OtP;kVLFbH61KHzcW8)3M<=2Q zQ+D#;^<_-^4&AV*YUU$1AU_qIjV92+6UpH>BdrQJP)lWWX>o2c9-W?`78{>iqEVFG zb6v^g^^KW!xaGRWw50NKml1c36r#qrZFTaK^%RXCH`P(BTe=yUD1D?>>F#__>F$hL zrPs(;b>CrJtjq*3Q#RHcHE}$-h$OX=O}S22dXzkM-fIkar<{H=rSH6^RPx$Jj5p5o zsacfAtKFtNGxu~Y&13TB>j;=K58s%a>H)_=Q%qHu~!pZ2Cs@b0GW#sE@U8(V$<|Ibfy3*f&L^+%lCz>jS&ODX4%M2& z;roqde)Hz>y*DE}#bQo@&ug#i{Fk>B*eEX#5qE42d1^Q-{!0?CU^+fpjU{f+fzgSS1?ZZp&6;vN@fy=l8Hcg?yZ1a~`5 zn>E@yrstR);dsuS?)D3eZ#UXJ_(G%3-Ri$!GRkH}^|QRy@%F6FotNMt?{s+E?lkbR zjxG8>8a$kX%UytiE1&?SrZKgaVj4>UVV&tfaKg`D3p&~Ix_AD5T2+(_+^vg7$7?uk zv(<22B-end!+6up#iA*g*M*ZhD);q($AacuU|H|f+=r(@7k>^ z7jT028jPE7Y+c)=js)+33P3+L4d-l|w>N}v#BH<1UDw{>rtO02OpZd+^#qdXg38Qo zyV2|l7=^dpE{dtYw%y_;^upWS7U;L_dUo4$&1V}><2FO+p55&7in$H_-F~;xX19@5 zhYN4d1o9yr>Wn7D%{WIw>Zsi4gY^lx*5PvB1O@igU9clh-PLweQ0luAO#39&Q>-*0 zD9aFHNF+;$?&Ws#gcKxFBxC}9RtcGu$SH}OW+gDy^8V#@Tv5@j zdyc3EmWbAPUhKGMX~rDI1@EfMEd~}Fi4V>Ub#$x4Y>x+hbp;uA!f=I|07vVQS z2?wh~ZLT|RyqiRt=bO#T9&aVl1R7f~gC@rY2|A47SNJ{Nd?{H^Z*t*+quQ*T@$=ob zE%q!b{X)3B7WziNEEo4iu(19VIHq7_Z#rA#R!|gLKs0+lcTqU45Y9^2UrJcwsN>~C z486R|{h0*NKegjHpb3jPo)tv^dI(%SO<-aJ-M&8sdI=0mQp`#bp`qPGY^DK~qL4)H zQ0C7-J+czi4(g5Hu4%wG%J2eFP^MjTaO>AKp2&Y#b zL}-$cEy}@gl9AA#gNH+Vlx>PJvA-O946IVNMNJ-d5r96bKeSNU5Y->bz|-h1Z*KdU z&|y7N#CITy9NbyE>$Lcq=zbH2fK#=@VZ@t?=3YZ0LJav_vuQR1_X3+`b8s)R zV{9JolWc)4!o9?n*fQM9>^MZc6~7ee1JWqSsf55pqn?5y`d}Teb+{gzQ1rA13dCy2 zJszqmKIu%wnm57JkJO*46>a}%aAlZ&Vzdh*6l6KB(-oL&9tO#Ia2ixiG?vmaqSOi!nM11@ zGyGF9>W6apr9s_5pJ6;3J3huF*SsI*N=GK}3=IA=NnkmFKol^?GFYS_`Co9T!1zCx z999N7#A5GQ7HclOyXK{hnDJ(!!&7$Ep0cZXDLmtVGQFE& z>L;mCZh$09@?1=w_X@j3l269uC1_tJ`BY3kE!)q;l^aF2PFsC;GP47NmL> zM07|BEjUtPO~^>eP>(@NF^|O(7K>Qmxnp3#$Fa781=;dRteIG>VnL>T8f#~;AR~Vo zYh>xqVvWrGIjoV*KaVvs{3_Pgu%K7qt5~D=;A>c;m*E>&qc`GPQ1eg5>AThrhdoxK z9?i#Juo;s=oNqW$x1!e|>kaa7KaDjmYBR$casARjpMCElzJ~q^4lxh{EYHCOg+BiZ zOo|pH3yz z*hxA@hb>5LA`!(ybwtyNC?2vSnn^_Q;2lvT5iPPwLbHiziIoY>C8ASon$UbAI>TlO zEhM6I>=>cNM0B1l5IUKNF0v&;ONr<*J5Fdh5nW*?2%Tana3!Xn2~CYQk7SFR7whyZ zO1PL9v-qU)i-b7FDrF)s4(aSz8!T{Q)!2MXo2>eBX zzYnMB4csc)O@W6C;?O&gPayAre&SJ1T!ovT_H41kJwM~nuMV(F49`QXy5I~tf|EMe zFW2p6vtLp(V3Wq{@GF3yuRAR~y2rCXfAYQ!=NfRpZwWZ_-}5sbuyMMcZ@{~6!{Mww z@IsOgTL2S&TmU+SJRX9;*?_A5dw(j_UEj8Hl;*?_;mfFvEZzfchqSV2rEV2mVzf#v&>#B{WhKqA^gj%2Zeqr+07 zJseFR6tPB9!Jzhzq%zY-MQ$d?aw#5}3&qTlTrjM*B$v5}OMFu~md)gm**pg=gR~&Y z(lNAuDA~+MY+#XM+sLte(0?6mrO?5R=7R~wFC?Gnbg4SLgB-~yasy>#lx)G2wvYu= z?lN+zFvocy$t*<58QLw5kj^$=?ESKpcbD<<|Bp1x{ z{w%pjI|j??+cJ)2Gjn7%lt_+bgSqD4Bpd0mV{F2GXHR?g${Dt=!eUa`k+|__+35dD|6u2+d3@xRp{eOi| zwetUyto*4!tyCt1pLtubC>#-piTX;!af1T{l90q95=V$afF$s7<$MhV# zYvBK7cBiJQtGepdtEyM;y?RwO-QAsu;Irpe(|Y~RSmd7>X#AuQxCP(JtKyM}im2#h zWK91?$D$H8#tiw5jm6~G95dxNJ{FhX#8^UplVeHwO^v1GH$9e?-^^G>e!IrHfCkFAz>d!?M$`tK$tFVJ!NeJeGw zMnzUdRPvZ%zs0(6Z0(WA*hRNTR7#~^5mD)r##l~8@t09iD>`v8d|l&7l~vuZh>op8 zx*pYwbiLLkCu3umBHX9?5$?x(>k%4I%Me;7v6mq{sFowVT*8+lJfv12yu!N7y8NU$ zwgFF8s#SQh%DN2s4I{i-U4ZZf)&_*HKzNP15aA0Yd?mtb)kO$jB;kz+=hVdrUo7EG z2(MF@Abg26jQ2Mqe5qQG@Op{gg79VPa)d9J_^S}!poS41miVm*U!kr<_(}+KupT3EznDt!fX# zdn9}l!ndit2=A5f%?R&Pw2rFeF zY)SksQN&LMCPpT<|rzCs`;j)@Wcv`}v2+yeF z2p^a5eF)pCf^bE`FGRSiW)Ys1@cjs%P>&$|h=gB+@S|!D;W-IEfN)JchVWwo<jW zHIMMT#6O7eOV!H|ewoC-7~z+z#}R&9;vYiz33U?TlM;Rj!mm)TMEI2w&LjLP^=gD) zE#Zd|evNu9!mpKZ0pZuF*CYIT$^S6IZ%|Jn{G`Me5&kLlMugueBU&N+CiP~7-)t$2 zHw)pPR&PQ0EfOAA(L<5pw?0h@Ju)11x+W^q<^1@xJyob8*f%|6l?yYa{LJBP`6KpB zkx3e!4ac4MedW@0*)eY`6|0VUpj4?kvEAi4CwZV$wd}&=aMVsC^QU8QiY%t_6Gh+_ zd@F-+tOzFn5dSC$zX75j18Am`9<>YQ%FMKl?2lHfGmc3>Mo@GrpD!1ttbE?d_iLNAGdW+wZ++&zXolfMUdX=Kd{5r>Cqf_H4Oq*;^i&wvTOb z>s7F;9lTYmQmt&+yqW(LEO z79LKNd+@D%3Qje0GBTe8F*lAF^Qn4V#bzV+wt7^4`&G0Ytw-nat*1^z?OZjg%n5@b z6@St=8GQmVDvAl?%4$rdOObl=UD2OH(^k#KP;Hgu7qxG|`w6~Pjh{-W`y+=UW~7>$D?}sn8BCcOm74FWM(bVmcs(<23`LlSip^(Unt24%Sgn>*K}Fj<)ns#DJ0fxhb_05vI8fu5t5T|#YHFV$m8NDUttqSQCTXfB zuvAvL*$O~r2F2;AscBt~KV&3BL3yrXl~vxhiYGiIRj1_@RIf~}o_P7!{(QKufJB$vjyAAME z$nDvkJ3L!flU5EvpnP-gHfy{vJIR)r&OJP8&sq;}cJsOaDC%6XsuHsg{lI#7W6rkF zl|Vm$=gG-jp;)wLs%XEtW)RU4Ei_ftQn|x(ZiYdXHcFFA7NsNQY1_&jovu_#>vB`2 z3W#>`D0&0B#TJf$M`ud5rM%h&XsB$|_13UV6^>cCx#?M8W@cuRcw&>Dn4RS4JS;VK zvzRKBH(q#~^PFR!EGwkhbB@$aiYMgFDnj=RnJGX(qe0)H{X!YI9%*NZ}r802l#q0EF z;_+O0x{PM6aD<;IDIXuG1qcUUWHWjNxTBy_RiH$@1US=6I!$Cjk6K9w;o@3YLzQ& zFt-dzZF73DyWxz~c0cA1uX&=OJYAKsj?RCgFj-O!qpymwRmlbE^YUPR*l^N*9!{_C z)zP)P2pK7nACW7dW3rs7*(#>u$vFUDoSdzcPGH>JGih<0f$)x(j?5w%{;_$?rkGjt_|`V=^{ctQ;#EQ>m&r*qI=V}#ES1@rTVIh0emLzUNQx#aPI~X7 z9BkxL5}LDdk}ffJlDC7xfZ#f5kXo=9lcmE>xAwXm1-KbRckP$xy|z7V4`-c}N9AlX zE>1#IB9_Qr%4ppUoEUK9bR(Kgl*iyK9&-{hdsOV@d^N@rW0q|@v8l?DfI+dBNh~VA z1)j<_IEhPBU?%$THKHc}&YR~`@t$apVaPK)J>M4_i1r{3sa|fJvxo6o5#P`!hR`ke zR(8M%m@Z|!A_B%MrcC^rDy|avji;0P57H*(&nRT?B-pYpr<*7o^~iFOoSgSD;UUj= z7rvEe;V5t?Cn9zac@zk?#%$E{m%%;MBl(CjB?b8ta}`8x6~|NXDDw1DJWa?`15XW= zl&4$pG>NB1H8x@5Io_Bskaxs>Ni}vVQB6*yz|k-^P0&^5Nn<`%%}jLFWBF{|IMrQ` zosLE$i0{Fhz4*pe*OO8Lb2`;mHyAJeew95npt?^j)53K6X}{`U~RXV<_v0(?A_d9g8%7EzH?5pb@?Y2(etabW07w3d8q z{>H~Hw&%}8?UhJA(7cN2^j;t&dg1(V(tco8^QCgB zn$K_ErHQ~z@OZBcuM(sR@&tEI(j~V}{I(M~w-O0;IYoZ63 znsEsMN~5U^sD#E0nyK@KVLmq$ABqkd=J`x43u`=qaNboxn(T#~kGn8Gj0$h~MGZ$iCX8 zdjcj#^B5kxf{9I)Dr8sGa8jDqNzU4npsrUteQr!1_$h;V0B$iK=_#QyHnhK7v5J_8 z?$sRH{W_7`Gu&5(4f`IzuKSEHMGBF&N#@?bicy|RL^B}3eNppVZDqJi2F+O{D!dPe zi7yDg6#*5UkJXaZ$SDpH_@S8`gb-%TT?iq}q~5X)LUw=T0ib2xe5qN6R+PUKz^X9_ zk?~rl9zSJj@^(Motj8&)Ngn&%JOG3N?X zlTNx)7`O71(*k}B6F;2oHXo<>aqD0CcC&Yc16nT@ z6p+5$Bk2-Ib7MVrDtQ{El+7wce-Zp66X}Tz+A|4d0A^?8oq94MqI{SA2&UKcL{_C& zMKA#$t#+U4LAV$FDpNO6TEs5aGlwE|6Xj)2Lty~eg7mZ1zEk}O4=|>l#y4_m8N!2- z2dXavGc!^%*H_k8YS}&0kXy>tO_b4UeGSsY7OItMD;u9o7pqov6Z!{eZ0!=hK_+mf zFvou7Guq_!X3NLQ(~p$*jSeTAgck6f7{<0^Vty*fkR0m;mpT0ix`Kkl1FejcJZcpb z*sfX@6j^{GFFU+kNWYUQRXo*%6F)o$S;Kw_S`{P%!Z3QJ{bGi?M0+q(x)uB?I=$Do zrPJFZlHR4ujxl}Aw(!J$fX*1>O!jBTC`~)bTUo;XgHF~L!cJIu)-vhh#KFL+&e~-T1yoUr<1-N}^CIKhMV79ZIc5w!f*J;xf{Lzr z5TRPGTHqact#S*Tp0vrK0zzgAF-r-}&%mED5;7NXKER)m_(3Aw6V1j_Q8Sh?dW@`L znuA7dMR-{GC7dxw@Bw-5K`Am5+I{pLqC+Ywc(G5=7tmPoE#ot))u!;R@KGuPZg_1f zVGL?$dVV1B#6ajnT6+t=mF;jmZnp$Z*D|SWdj*)dvAC7cd@uY-_=Wd{KP9|w%IS7H z!Xas}5cy{IQ48Z{o8StmzSV1=MTn0JfFaR5# zc(dM_=m>g!%H`H7PV9(PrH0d+$?|!77YeoShvOtLzR;S(F(+1p+!H%y%{d9Tw*>ek zDjkyb%dtPO-JyO{|?yq$p;SZjXIvPoVY83$hvRHo*m)yQii zn8!)Z!0qdrzDDZk&f%e~m<8uQ^0;TW!Qrf@$O=FxI2oNVUlRdC0G9kTXw7SYTFg|@ zcSP@vK*4Ef1?L%Kq!x#)_}KiJxcw-yupg&GE)pXULtZ-DnV1YO$0UPfzW|ZoX|vV*FliOzCjHlqXR?B=;4vvzqHHOhjnhH51hu$l5MKp7_haRN|r zvindFXuA+9NB$$_19HO^C{IEKw(pL`onfM<4^K zGy#1Wo;rxg1eY@U ztHuQAz$x=IxGZv1PsZkrIs`^Z5l4!Ps)lu6d(eL6_#X zV%gJuGqao&Bv5$yYLxr0Hq_h&)Kk;ua!-?-j&j_TKUd-+e%jQ!Q699?Plw_l!ErMy9J! zJnAJNOYIfyqdS$Qyh;ea*Fe^UqD`Qv0gOXgSk3egM$L5Q`%nxfGtYooi)Wv!EpHr| ze%IA2;t_#Fw6?6VD7W4%>H(jLx=aef7>`yV zRe_Pn3cCb`3d^6Ai(G{p2x7Fb70q&6AaPll~eqWtNZ-!RS>)lw8^z{qDs4kQ$U=;LvA$#LObfX1~T)Uyg zLG9KPwQP{SgKo=$+#0s#3E7HzcQ7R~YA_DnW$v@j5D=MPe+@pb z{4NqKPvmPFXTOeg2k^fAUU-^DnXW}>IFo|;Gwm%1R4J@PPhwmtjI~p-)0k^H&z?4@ zgom)Qit!3F|0|6fG3!$PpNO7{p9W*V(3$v1Ew*j*wN7;N)2xO~2jYrJRjXY`z)8(O zlBNF9>Cpp|8coq(ChQ6p8>>#di1i@bt*#TNxS>~YG@eP#oRlZ-97G8sv1FnvA(cYv zJm1V@cu7Zw`P5E<$8FO<>S!c;7^ zIvbPuqKHJHPYj`3@U5_bMs5?Pfzo7Ls!>?9!Eb^}Ap9m>J~JgeW(0gEO#~w_j@+Pn zRiAL3{b~SDvTB(c#BaA+u7>d2qgJSu`0Z7z)N1_prF*Vst3gSN~g~q6EEblBkeu}RiQr09>nh+eC=PP<8z#C zry91zOYnmIOYqcIH5U-DoXphw(C-g~9SETNL-0iR$NEu2_a8)ehXPM`f3m*}lO5HH zFZ+FXbvSPSCVuSSqVqvG&VbipzzS)VWX1jvW7|xXPB#=c=>BfH0w5E+p_R~D_87Ib zt@UY4-a<=Afrz;Z`zDshpx>(uV3Y@QDfGUlVv5QM<5vfL{owXH2U^vCm5p%{p&!TOLB-8r0Unjt`@rf0$R#U`z?6NAL% z#D#o`F3=-hF=W^Tj+1RH?FiwbY62r33n)E?iKSaEsH_&(IA6PPL1;TS_zW^#YJ;=6 zPk~yTW~0Z^=od*h=&8DtL&vJrX``vxuWf4f^oafYC|5VU{eF0#CKuPz`W$Q0`WxVp z*6;IL|0I?rr0siQy%uhJL-Mshj(6-&(D@XdfVldt{W7n$H$-aNI^(Z2b7FhD=C(7) zx23`DPqVbo(D_q3e?o_=9q4-$e4*H#X#xi8{F<;?d6qTX+Smgi`9^e&*VwJYJCs4^ z*1ic@yRF^TIJ_&}ijy>kIF<;YD&usHp&mPCRyIipZH^ZALJ5SDeh91OOlfb?d8imx z>P-mJH?ky^ex-qM;#jP57s44g?r!*DWbeh)j23;G=9$kJJ9pY2fTtGQ3E$iK{5(ESpMx`6Gp^cMGj?8u$g6g?baS7` zQ4K8J{1UI52Sm>9Cy}!+DMO=K?o%|hw`L4bj1`f-Me!we$f62hb&41cKML02S< z_UGV??gRPxBtz0!I}H-lUvo~0h+*zLXJVB%@!TTAWk7L?1bi21V3fU2dSkH(C75^bjEN35lq za~CyrDHC1l50TL*c!DsBbo&qy{#0?)dbAlI!Bm0BUnM#??-3maWQv4GH5Qm6@ZLy~ z)YkjZPu@|Og5QS6tz=qLjgv;DOGcz2YZVx8b>mpXUM|n{(&a^XMyha;JmZpK)P4|4 zhXzLQR^%2t7OBt@$3&W~ZW^lQZg%5HJran!*^T3-7E+BA-XkSRBTiEdQ)LkMAf9z0 z?g9K}5%(b9Q{CVndq(y_X^GkY>TNO@CRwrbFFXIT7*;;`e8=`l)|Zd?*9%>Xq$cnE z@)E}H%j5x){SW~>lus%WdMimKk8VB=Dm0}~`#3t%EY`E9V4s0${!yokVzX-~-`tRW zL9c@(4TG@XWMf{2>^K3)Qj7HFmEt07(5%aI&1mi71!ggwV@p@D}b15e|e;3{pw zN=ct&rJVRU7Fo$fv2ON1&}kZ*J$@A=>7SqiqSD3c!$qBele9&G;(h4%K_gv6vvwF| zb=?V9ajc!x9dVU(8r>1syU*Df*Gs3MaTSb0Mu*Mj;YLb`r+)364B9OZ*6m33DEx&- zU4L_}d;MCIq?M0+mhDD_au7m?CSSCVwg{goz0eb6HaET4(md>|(mZ4~yus%+jqY!b zNjqly>qyWHSHM^>$=`U5k%=xu@tCy8InDd9Xodw2>LT5?Xd(u%{(ygGwYUpRgV;z$s7 z`*CsDH+XSw`jev5L)sMDG%>R8nJyopkImOEc+59kEx0zTki_lM;n}L?Br(Q0#%P(KO)NhDxH6!^E4bMeu8?K zv9$c;C$Z7RWctpHMK#D5*oD^Obq@UjvD3sfcHYFAc?#W$-#(}U7HUW_T%$DOedzZG z)kXw54=U^ifkgWXq|p2j(2HrRg>_+W!l5%aVO<8emMdammi5P3oC(hTlccv)FqhQaq3aeCkI-jj3>sc`d(u1v3@4|99%#7*@ngyLq%y(B)^=`;}-FWYQu`cMr zyD?e2r#2{6O*5Xo1pIVN_0M;gk6`Gs#eY$9V_un)=6rX(TXLyME(7yDFgPMt@Jh7| zIbt6Xo@hg+H`RO8Af7=MSP_};QOj8(>;p2dK`Hf~)8>4vd=1JVFY#F^gRsW@65i{U zkQD+HwLdH+Kpiokg{c$E{CGVpB|vsT3E8F+vQmP{oT20--2JHi7l11myNSxe2vb((ING)ze4BBbiPFA@8LKJ><=RRPj*P>swwVQ%*y09S6*eQD-RwRYUzpluz=7LQ z;3~O}j@6l9R`&(v)gT<&NHLNC%aJ&jFlyJdj6Kr7N`nro-Qe42zX+w&`Zscq35=1j zrid99^$R~LJjzF_r0z$s9RMD0!2#aK=3({pN#vtti6-QKixFbRksbv^nqqT^J8A9_ z;>Iz{eig#Qy$uvxEH3hnm<-aM{w#C(M>=1n;}i3-l<;p;g&F&w81Zd78{mv3p`fPD zeJn|y0lb2yVb3xFG3oR*Bk0>CCnpePW}(q-{`;<(_00B3{-N!~-vF3-rWD4W#OGWh z1(^pie5zB?j32t8^C_6%wta3gCy=dHZm}7{eIcHVJU{|p;RD#Sq1KdcMcW(B`H+Ho z+z!{rK>{mAn$@pEI)euM-~nKlLt$ZD=5eMWk%GleV%|4wVoF#*GMvPg#p|o7lPoD& zH+Mz2y%B?c55rV6%qPk;e?lDnAdCqRz!%|3`VaT2zNihENqPgjO}oJ4-~fqV8I zvL8cAo6?eS2+k^RFu)#9HU#Ej5-vMWrT^(whL17%&(Zl^I_$WbD-}K@F*^f=w*}KT zG8>LbJA4_T*fJuE3NXXqzDUV+tjjHi&4|4vlsuZ3MC=$k-Ax?NoUzxqodzpU;4El> zoI%&2-Cl;{oGViDoU10aD_TZ;$NGi34cSLd+cMvM0vhe{=Sd;>ZccbMeyb_(4md5Y|53Y`dAp`a5<=YR(D7f=&$F7L-rh#UjAvPdB0 zn9V8V7$$D@C=L8*)TYU>roo2Ol@GR%N*D4OA#jaQT$_y6#Kfn_iY>^JRz_;qFVHT* znp8V#Tw8CY*?6ZGf(0Mz4` zfooTCOu#n=bMJBmawU}H%83@8_%U{8C(e$JA6DJ%!d-k(5YP?Z{Y1cK9;I5VH3KJnX+DQs{ZzY*qy>3@*qK zTo59vdyb1$riw3;Y9$O4uzrNyL?AvB;4Z+^Q0I{lJ5LZvaCb0WkQ5+qKKGH-#3|sR zMdK)a(urn3E=YyYv-GOZ37ETUEuXXro5TJ+I-*(9b|EtT+j%~166t#z8ynjo%S1gH z*d9;?emMb=Y5?KSwc&-EUJv0GEg9&U?m$4Vr|I2ZAoPPAJfHxvT{4W|!z92FsGo95 zA#NlD%Bn(U4R}vuL?$KhZ^CYJ$T=o0itvQIXu;KWr{571$g>)V`0juyhzA)Gv!;}N- z?<-}>;j%i;7P2yWVI6kiUGCC))?HffPRDQxjXr^=M{N=#&M218WkF)B&o$!g$H_EY zVCRy#USMD5F0c>EqIv`i<`=59Sa2Uw7pWY6SE!5CI{dCwm#9neyGpHBm*ICca=Kh? zKu#B6LH-InS@UZ2$*~L3skZpm>IcPYrhqL&k!FigY&+k=Ep*s=i?ao`RIo91s^Hn# zXcMKq;DhHpMVHQsbBt|ayS3~JCmRKxU#$1!{T$9a!0!2Cp)AHZ!d7vM{S>xWmoPH1 zsktb7%W1Obzk9RyQs%E=XZmL?7RX-6J&O+)_L` zT`FSsv)ucY2neSM_R1Ra1=OOiaD!n9DMP{K#vM*o$ z49w=|J=)a+zK(xT0uH&fOSe*In+KFFRO>9cf6yWy+NdqSJ%z^&gHgs|4lkWTnWFuL zyyzM9x@Bp=L+VcA%%_hdQqn14>~z##Px`0l1es6!NhR@&`ywtRi;uPF3mNv9`r}z* z8nXqcCvhuOGd5yh44@p7V&Jfe+3{!rn`orXHJ2kT9GjV*@#v^9E0+=V0jXi_@Gf`d z>384d5z!39GYV+N%OQe2>l>AL*bUwYRU2;yQ{XNHXjDR(2$fp{rBL8!mE@^ZP9p?N zhom!6$v8%FLRV7Phmdob&xv7olRN@zDHDWLELyiZ!*fW400^K9%XG={2 zytOPE`3*>FE^rdQen5^87JsRH@k5aQ(0JV6CYw1&!RkPVFVY$sc*4Y+8`03v3B!h) z4URmp`wjaTAs(1d5+CwJ#VJMV5(ICDumRi+Pf#K}1l5fj_I@W|w4hnF@)}q0I41Bi z{jmTNq{o6WSUa~Y$eTVSUS7a^a%5D-DAq>U^QET^N5zjZdE4H7yYD+NdPqM`2`SN1 z9u*PxFyD{~^9uSl(xDo|T|~0kT28ln+ymLESsX3FMC{MaU9&q6-L)rD%zc;*dIj=Y z8Pnn&=Xh)eIp1dvVDpXvF%O;fobmF3IGZ~ItFqb!O=O`lzoIu0B1;*q{=xv~Yw*9+ z``t*yh%9%Rpf+mb7tj1L46*()YC92YqRAU#PDj1dfzSjdHJ6%dPQ=kHyWED_g*RZ% zD~*E2L6^8#nvQ8k-8Ae>P<=&8agDafD0qz%Q38qV@^+w3hHu7y26GPC*OHnA70y zJ(}YE4ntWWZNU*&+Z-G<;Yn4RQf$nL_AaMGn1WzLk7Fmc0do+Kq(w#AB3o_?mo7a+ z`U7c`rna04VE;vO;tGy)-kMb)T(#*LHchKP&;Gyy!R=uw0Xvki9+}p8%HFX+2tZwXbW1z^nT5@&MAMXcQh@u6bK)z|n?FQxl zQyGPxM$=TRN8H;shRaO%S8=`r`0yC|Quu9b@pIok-ZqABKMGxa3aceC(JjP4vINd1 z=&&L^oUUDThc$^A-aE(vnqJ=~TDY7Mtps`zJAr7DzXTt4o?^*JYlTC&=JY{)bB;et zsZ7)j32zmqQPmI?eJLmuwZ8WCbeg7sop_eTJS>y;V6a!qo5J+ggLbL}oNY3c$7UdG zt9Ey%diJz|T_bl~AD`vPLYe^HiPB&=D`SFYvZ8&|WRcvDzm0Z3Pat?F!IjY=S~gmd zxV;`*73J(N`(;cLsIR4N!i(@-R!I~FCT2FRNbNB>$8o++MOPcELHt%5gCvjVdoVQk z9G%|V?hr;nXa-Lsd%wFs3&_dzRk0VbY95Je0UjM+_9DW_C_x3(L*GDmk3scC;+F*3 z`j*13Z!EQ#Rh-jlKY)&t;Xdwp9ASpXl(xEQAbF=o>(e1!sW~ru{H_Jyu zY3}jToQ(P@?$^&wM*JruQZm?7`;9(CZzN=OluRW?-2lnP6GEjDP^v-U#zRzi^qi>R z`mm-ekV&pQKqXaAPH@*a{7{F?)syou?wXI6S4s)Jfd4&O@n^pWrSl*alvRZi5Ei2b z;@l_H3u7<2=!-pwaHI;h!eLOt@T2mHmZx19ke`M^#l&zn%VZ3t9(W7;+1kB75T2{pqJHS)H_$c1vo&EfMrd<20cH>PUO^bt%kq=?}aswP+zgM68@Nz z{HWH|tYjYz4{iG@beWE0+TMy-Jx)KtcenY$pnr4N?!mCNuSTT5!P4uo+M>VhpdHc* z1P&&>pz<~PWFc!i%i##sgKnHYs;Qkm;V+6uOOr~A8k%$Yb;c#~q*4`8e+wIfovfl; zk$Fr8uFPXQnE5quU=$|&C?^RRpbG_Xy1i*lwA$DJpikJF)11#(uRg%c-^vUVTLLqd zoz}Z)^0JFSc7-;PH^SHtJXKx{4|P`5<8ZG!SR<>lUi zI()H$8^v%UheA>ihklxCdATYNUGSeV4MUg}v5JaL&%uecQKZ~nPvGPtdCG0-w6>Jk zSUoXLBN%WkLDzixSr|7#b4VHs`v=+XS<#ALu2|a_&{;!ASW~?sVeewY^_40eUPGsF7SOK^kOiDk{;e6yK3Z?6>gb2jWQg;aV8 zs-(A#5ME5>96gRXWlc>tgN)7o%#YdS^M{F5!ZTp_yQDn~HYDqaJ=xGs@VU^34LpW@ z8z33Ma`Ekis2$31MvyLh9Ayhbkuh2|4mwE-+VG0jIP}4z(T1rL$UBC9>+K`lgQ7hY z#HXQ8YB{GUkEU# zBsNq4E9Vb>h)4EtfJtKf=^gZ##s~_K)hZ}g)J4=P$AS{9yTz%Wm({O zw;UQ~)=s?8H73`GdwMKa&ZVL}r<8IBn0J3G9FG~pIHJK*4w^CO;^f>yB*C`XIq#f7 z9)wr|vx+T)F3Se1DL)TLx%cjU!F~Jh-Fw?e?IyjhRLJ4rN7=A5=M^tqn`@{z_OEhu zdUjID>eFEXh*^&Sm!Lwjia$z}%Y-3Qhs>Rq;F*&_9cT5@en?frh4`j%Ak)lopuDmg zk$oV}8A>@~189ncpbxMOFayRh<6t0BzLgIHrV!6Z_8;v7o~ef- zBK;)l;3)JG=Oq%KK)m*Go%<3ICZly~Js{|UH^LiuzKaW#;E>{2jzlb1sdn23K1-t+EX@ zNmd8ga|J%Bi9jE*zlh`VxHxNaDb0gkmr&*O_c84+Q!B((e+u)29%om%?<@g&UvTdk zu|;OT!DBLLYf?GNqY=<2gA*n(LJ&dC;YOV2TFtpuDbP7THm_In**k0N+h^l$mSw+} z7s&C6iHSpFkL=fUJXXU26bkHXY{=J&H*U^}S);5+hV8vTCCeLovdolm&$ zyE_WJ9KLUU&)<*LLQRCl?K~Z9L`C#`M=gn79mF)?o`8rL(JY)s)9AH8nF}EZlbH^r zYMY4hC}StF*hzUL?(;+;O*AMMlfP}Ar@e$B5=gBBUeqM;bpp44f)TYa-GE1ya3CqB0Rvv)mm!vD;_$hCn>(O!%NFa zDo88%W&9m}JSK=B-Y24vBY>BPFr&|OKY0J{dq?(<-2M>H)UCzWSD+6CYCnS%;G++X z?jF7GP=l5SHXg9V_7EJ937k_gJH>M{ng=~4)Bh%NNpXotuDU?0g8>VP3}5rxW>@Xf zFk;*5rf>+<$e9=yvF8Z?GjN92Hm_uVgi#-*BeYPcq7X#cKTN$FcB{K0s#f9-143C& zu{YC4y{pz=Q2@0m<=A`Z2=9CseJ`MMh>i?ok&j=@pfEnHF*LqfXewHhlh{fg2q^2A zPV`*Vn!S#CuIo^aY!(Nx(tnU`laQifV0N;Z^O*}%xzyUs?o>CPnE0dHpL#(i**7FB zk40n<`T*bZsr&|hn%BQoY%K1tc&C=Ikz8(?!D_f(=gzw8+}-+48Ehk$yJWBqE;q_ zJvh}5XBI*KD(j?j5K^eC=vD0f`hg_FuFGgNNW*oT-HYv z4g%L$)K@z2lpP#QOJnApXzK8G1w4@Hial92R)m-4xww;$$#Oi*5h>!1*q=vIP_DIj zRXUJfk5>#be=YXP@RQLfW03R!$F4?Xt(wm&4&_8jx8G8{hqj2`d>;eYc zDBmDYG0(_+yaSTB>@7G6k@UqesPVqQWs9|rfr{<00H@P#}!D`n@oF0U9St)-SOT$ns z%MN9(*STRnz#Y|j0RkVr|uM%3|EPPuf=K!FQ}(W-3x#{4OF}~2D1eHDdZG*ra9HSx7BLsKWdO8O z`NXOIwYL*4d?RF;eFjH&L&moh#}O$Ve;Yh#X0UK8#B2t~K}L_od5#mC-;|hZ0UZy3 z2D^u_Rz{7;u4ar>flOMC1BEAXPtUMmSyzM6hKD-LpY7o<F}HwLHW1Y*uRE%U4@oj z%nCQXJ&Q`+4Cq9gmWujk1!>#{m1}{{$8ZiM5O4aRQP=Dg%%O^|#PfWNl+UiPnN3aN zq}K~ZiCYi2Hp+F!%;RwKTfMf=q94}0b6Yfgh;9MQLz^(l1gsvtQ8#@66jUZ2P%#aZ z56`e`&hkT4tAQgDikPsW6g^?>^C04mIsc4Ofk-E4fyqY}`Af=To)v+IG>(PgXzlQB zIW-lkEY4$7R9?}h4d>HQee3cREXWr#MsK}sr#?1IE_A@%E?h9pp+itKfx(-56N~=> zCbTY0XrK|e3+dpv{TSN7uF+}g8EmFIST5m&pY({(wCj6dAjWd<8SO!FYT`Q@> zi|+44B6L()bZ-N$>}`B8a?`7K-chlFHuucCwrh7$-6C!1n8+FrGRJ#?t|mr6FX4we zJ^Kv5dsrK7csC)c2ckiA%=*}2Zqeg%63lj>*W(^MYO6yC(prTmC z4unZ}%w%FC-L?p?1Uig+YeDs2xin< zvT4Z0)i6Mr-gL5~5czhqk9`-i9S4BIIZ~wrz{2yjyPy(kJa$E|@A{B!y{&O2Y3X3? zWy>^?77D4y*qL}-j(>!(?w$)R9pM$-qlj<0mB3&1(n_nCK0WWutkE+;rvo<2wkI=_6;F>E(xtqL-9x2`l)^6owWr(=-KJ9VsD#t{MaRtGd z60`7*A8g+R+LCdAbHc~9cNCxoCzu9s4~dK((YBIY*@22;l9eP`vX9VroDP*U_6a&< zAoQ@R(p8a)`fJ;@81<34N%+rSPwprwbweZx~R zz&eaHS4f&G;oB&_P4I0N-xm0;65m$%wu$d*__mAh8u)gI?^^h-6W{gl?G)b)f)!oY zT~cP3x)FviH$4?cxi=%-Es}0G>VYd~)olXLUV(IByGx!O zfbVYcjlg$MeD}cj0`c7o-y!jh!grteUI?GY<^8_zMGbB7fQuhoBkRKYV#Ge=V)`W# z`;f}3huzo$Vh_8qMTtG^;#Ntn7A}mHe(~<8I^yQdXTU=#`tB&sJv@pt4@9H zJWZT;IEk|kr=XxJLpe17#ndt=rIte>HO6|r5|LOWhi;&a1~%9UDBBTSIDIz4R5}U&dCz|1$M*@vnscarK1wS6Qnj zR;!bKXh>fvi#IN?E?_A@vURPKmk9x(qSz z@>i5OJ z4gNn+e<=Q|;s3b$g!s3^|4H>J@n2(I11SE;4-Kh5R-cxb9o7!Se8vwAsXtMFDlymM z{XbKm75{bCbx8F&KQyHNT>XW_TyI^En7{NxL+bykzmk}pc>nY2uf>0ZbpulUjUO6P zf2;mZVs;_b7t|NUek`g`%;1pk-Rm&JcG{9jT3ApTq6|3~#z@$ZKJpVU8#|5o_F zroJxzJ@9`+eN+6mS+}9&fAK>@>S^__60_IZi{ zEit!SwC`w{a!KQyGiuYMpgcUpHM<{3XU zq<*NLm6*G%yAbo77ZO$WfkTlE5loj(_8uG8Rz3<{HZ-7O74GzUW(wY!zpujd=_L2+ z1xTlNS}rmyOuEsytkANo{B>7t%Wpk?_^^|#;2KCPzg3Q{fSAv>WwF;8z=fNWc||k6 zNAp{+x+*_)Sj>{2{x0mrDt;Zr~%-|*ah2#_Nr!$LKY_`d`R>9k@y2|%&5BazI z&#$@aDh~p#%{$S86FscY*yv?ArL-kr#Y=UTRgGFsblgeqb1NJ@;&k1v{p6pV=uvxy zFDLYgEKYR7>AEwBm)(+1@-FXfT%U8m^)DA&w&`)Qn_%+XvYjFCv3rh?2UAR=fiQ_> zr@fWXr4I1+&Vyy#2jtttILW)kJjQaeJogbh%Xmz18Fxk^bdMWg)Q(Wp4lk+;$A05yM(uPY=?(&AX;1#GC-^eC=6CDn0`*Aw2gTtfrNI2}b@yYAyyn)V>aBBNpQWcn# zVKGSWM9npJ9E#q-Z8#fq`^(x22FEMspoy#9qnD!d+ppR#hCN(U^44*&T~*(L)tpJ$ zqPVYk>$Nr!!h#u-$LgjbUp@Wq)2_1_n{wBv1mFgw;?*b=twg_><7kT z2K22^wbAB>XYcC$PvQ?Y9KhTSiZw3{%=COe&g%00I0?)5r|Q`5;O3deHGQ5xQ}6Qq zUG=Q*&(?8%uA9Ca=WKcYo;uFTb)Wav`+R?2z2Eou*9Uz6Kz*6-UsfOV{e$)8zJGar z$oCJ`SNQ%F^_9MVWqpS8%)~;g|D)=vvm$w}nv`==}_`m+yZQ zMtdDW5>?(Z^gjV}7)Hl(cXQ8$JQVi%{lRp4c_VcV*0E_<>wT!k^-Y_%Bfy(qPDM{c zkN(gAwmhw#zo5Pvwo5U4Mg0QVZMg!y+^DavU%=Kq9%uV<>HQwOdnRUcSwinZ5$vwf z*!^Ec>@FgfhKvn*FhMbOXorbnuHO%=p^6zh$j;UJLTGEZ_CN};2j8<srYZ;%ZtI@=_n zv{tkX^F7{%hYMz=#hwQ1Z9jHRPqKD@+o_6-eG*l){|=s}3VOhFs$k4*RoO#;3hoX` zTrJfDOA<7yd*{v091mj+nuQ%7doH9|+O-Jd-{!SQCS6+{YLQU+EsF?Vdz__4S$9G# ze3Imf;Y97`(Cgek0AVG7I0U|MF71HljuDRJcBj<}O@F5ceP61j$223f=rMvcd1{2^ zHvfLboy}a|<{WN)D&p92b|kWaK@EJIgNY4LE_2Km2y#1wGxmM#A76y0HW)&;3tdM< zLnfv0QY(1XXh!LeRt*>TEtMFt|DLt@I$F1xa8Z+>){QIgit9!5s{XcsaQU0&+->Wy5A9 z_Xug7|59L3qHm$IRGW^hZ`C_c!r&-OKDaJW!K`~|W3Krzv@z`;Z*TV)EbzLAv=JcZ zAnJplRZ$wA8JGM1r|J`rvp3ulGbZq3a zIn|$;fSEj0hi?q z;{~!*+^;6WAlRknP>0Ub8xiw8AV${rQ#iJ@FS;nLJ$|^QWe-f#8c`pPwW+!3Hs=oE z7CKlUNdy!i*c54P#x0m7TR&^lwsQD>(7K|I>DaoAjX~?CC%ka$9`4w>_LuP*T5tMr zOY8lls^hj_xH5~i;9lm}PxYtyzZGOXz3I!bno-A8CevI`S3 zt7V8cLx1mh%MjlU@l;Eta!&Mgd2-G@=xIa6-MB$c$(J(Rg{pw?z7-I8GWXBG-&WvY zq8D@kd%Oi~B-Dxp+9-O81(-F`z%q8)q^hN69citKKb&-p^tp>}ZDi}VI|pJjd7GAK zSau6)_p_{>sYTbHW9>v|c44P_GWm-EzUUSP)3tB|9cig)vuwEgXq#G5n8pc_TCv^+ z@UXD`Hp13%v@`Yy8$u+%FnC879p*P5Z5iLYMb>Wvo;!G3fm>iK3hacg?O1F^)=i~$ z$eM!)0(J;IVjEO7@=3C=+8I+bz*M~hrb>%qYFDWprrN>g;;99)1<*v$UfmH*h>+1^ ze-+7~zc zmwl{FP0CpJgqpC0h;b9V&+|TVv{XFGMKQfV*_j->E9pT6xhE0JdRlkI3bxayFws-2 zRvW5(Y|(1XPqtKRpWLJ2A6NmMkFMYIecq-SUHgEbhQEYbc{O}{ry4TRdpgu`vZaR2 zBlR%5TfW&Ap{3RVJD>-!yOh|j66A=GsDaCog_4eRkFmc+_=WDR3yF7afm?KhKiu}U zHlyAfY8~p-$mF!vXaOp~D*Ya-v?OAwJaC~K;{8#s-NyoL;3iz85s<2(5oDpNVAL@1k`H0r{*V{tlhwJ?R^6BKsz9hzk3I&+Liz^(U*t=A%Fwn zmSvVLB%&EFr+oXO7Tg?kS4~_Lc`G!qhJj^=1z!BePtXPvu8~uKh$oaZ z$40=HR88MVtYbBIG*`3pgZ9<*EYE^!zNev@zuKvqO!QpmYWjdLT1{MuwW6_Gg-ZKG&m6?ph_BHoXg{rxvhixkF znH1imOAKoNzJ}Vrzf*?@-M>VyU++U}zv zte^8L*n)~?27Hg(vv+K7!3ARQl-xxdkP#VxD+Wj%nLEbbOgM$Z4$pjk>5KAnyZxjs zEL=N4U8b!C%mvsr!g(j*ToT)S$cIO)Mi;=ID4*J(@Bl>>d9i5nZ_YS=bOxHnrgJ@$gDu-qhWYU)fZVGbfro6 z9KOrkWB76hugO4rP8jO9t-x^`M>I1oG zdmQzXwh)0IsXmPaqO~>)Gy|*ivmKkEnLt=gTOe9S3DyJke;ZV{8T_H$62W-*Z2;ws z{oi40v{Uji(J4ay4S1SHeG`}qk9w?LT+5yR?JCoz8lg@eCv+W0E@R*4_mwcq#1a?o zCTC*LTqAHbkJ)yMt}Re4(B=f|qaE8EB34LWy<2ZzSt52C_P7M?`MW64(@OsyF}8+I z$5k69{{-N3sXEWutSxJtGd63GTAH;5biK)DiJ&*^#0fzE{RYtgU~$ly{4a>we}$(B zXbnsY(9L6PySE9*2fIxtbYTtP{6oU&>cu}!INJ>wCi)Vg6SYv7clAnL96oPH(n9dL zdzAwCKG6W*Cp*E%MBnTHpI2%Ne9eu1GPLQ*2T}wLIDt}ItMJ3ClCtQ^Q>E#_g&^LN zMf)X6y^l((ySP0tsP3m&U3VSkk67J>dpwi>kKb*=_O_wwwA8-2_Z;-paqhKZ&Gz1H z`jRJH>DoYxhr8f{n*1?q;&!Z0vnK62789K({6dSvn&kEXwN#|J8OM)oeV%Q{W_$iC z%AaAK{<%}d7@NgmTzWkBhKSIStxKrHw*M!U_>%=I!Pr%uDzUAl63x8VUPvw8#=w@^ zNZgXdRoNEPajInOWrR`0)v)fXq5OqsOqfAavi5;(o;ce9+fHO9Fbm9|jNVFEzXZ>s z=(|rtB<{l}8()_0LdtXU>DMH~8ob>y?_}Srn%fx`ES%8gxc%QwR>w}t*n51ehBfVt5G;z(y^X0`B!IT? zw(F;aX8{~C`oSgR@O~GjhGuRSwHg3xYUhP|s%(Jkh*QQ|K2Fz$C~ONviz4>EmRA@titS7S7+doZ+uB(@2o}YubXG5QTXeR- z+pe<`o&|8o=vOWohtgR?TgMkdWK%mY)LH*xL7X!7jXq9WJ8KA{MG-5VHT23t*lnsr z=gvwX7eF+le__dp#_9Ap^gvGl?Po7{4++yv;e^y8wgk+v9zt)q4P9Pt!*}9&#^cKM zw%CqD;x7U7yL`Ndr?X}N7e%{jexn8J&$mkLx;sH$pcNSXfhD&>r2*sx=<}j*Klo6m z#%RM~aFcRp^1|4U`ArhG;Aso(qV00L?Q74!aat zpHVuEpW#)Fp^$(0?&hQRJ_;p^z9H|E^vQwHU!(6g=wQ1fuArr}5zbh~JrDw?-uQm( zvuf~f_x;#WNjkvr=m~q ztfykgri#U;Cc~z>z^3SIQ~tC?k`qaY4Ehpw;L91(4Z9fE@ip0m{c`x~5Unc*APn&w zLf&v}@TQk@shIJcVamap=Zt4@!(UYYna>*EH+tlTmvhGdq*fSD8!O#Z|6;6heP1(j zuJ0dHml|J6tvCKYb(!I$E;qhtY;a?~klJYcb!wCO`P63PuZ%73)BkH+O&^Z)e9rh> z>N?{ysq2kTr*;~DoVvmIqtq_rQ>hz`Po{1%K9RcF_;~6T;}4D9?wfyL?A32d_=m>t zqz)J#GVa#TklP21dp&>R{i*wnGpQFDznXf$cu#7~_?6Uy#=BE5Hr|zb$arV!CB{2a zdE<2IVcbJsklfB0zie3gZ3+L-_(fyVjd`mv6N-70@rWDqTH`StgVJ9ad09iMXCsfB z=kX-j@a%_?#}hw@yv*z~V!-Y>Gp?_qz?I@SSewrp{}SIfx*Nkw^Y?t+xM682gH)Ms z7&+X6ozY*DziAwnzR+)%8{hnk_q=@g+nmQz;~LX7`djkLwkf0G8Lsw-%Ga%%A9kNN z=eP9mK-A{QDuOJ8KGgm2Q~6IgjpuY)IK@Q8o-*)@duX0ARNTU;iXk`gR2)}@B*&7a z$XE*BbUGFMsWoyAVp?Tz4q`@K$a6e#s$rLv)mOCQw7_nwdjc1U@WNIJW%YF;@b_B1 zh#64*64Q%!mZ?GU_gQ_2S?-6j`l=DU({J@7W~Evo>H6``Dz#et1J(dyF7QHf65BFt zMqFz@L9!$IL74$w#o!Ns2sw{xIPS!(e1XnkeVh~y&k{y#E056<-!|yy{)=z@H=L0o z^l<)%eyRwm)2WQY`AMG~BPXdOMuPG+rT!Md`5!pmDJN1%nTn*QTNveD{+VN1AO5EI z+nqr24NS>${&G(`IDrHwi}bmhcY;GjypDy6gN!eHs7Qj>Ot^=NBpVJDagW8(hl<#r zC$N7_=u`R>k&b}xV#*uoG#!P^x%hj4MsCC8W$Eq-A6*{!n35OODqV+8(IWDM7KVH& zC%lUjQG z2th&$-+3f3cC;gkwk;V&+nzs)So8uYVszd^(QrZwYxZh99Ug2es>#eOQksE8fo#@R z#1bm?pG+sCja}CEC&bP|2dBut;MDd)nXSOwLd-DF8Ms=~JeM#NxPvG09kU0Fub~AH z&5ZW^Ak%NeJF}Jndj|H4WwfwgI88u4mEXosnEk>*=LQZsC+lVMXmlKTjXPiwN z+m#wiDlk`Is~E3r4GZtP8AI)@8qXRUg=|Zm?hdY5?q4kJTGurEvJQ&r0?B ztP~lhexH>Zz&jo*wai+E7>|`&Calz;uu|Ocdd3JATZdy#Y@FQFc>XY*qWx2Bj8~za zE{laAPX4@@PrpOwyL4p2X7HJ=$}|i^(C4v#@tYb;satfS?;(Dq=;4lW^n1+KSsQ@` zn621pbR_Jh9M>dnbuX;iiruw1nqF?NP4GD`#ljo*qP{&!RrHE)UA3FkHv04_>ZvGZ~oXWA}_rv3z~u>cijJ8);eN}l<_m|FxAS}dYH1$;T`ZgXu2PTuN8n6zziY!JR#!MHK2SW_V@9` z{sEnbS@QC>b9ta_1=($w%bnQ1{O&P0x6)~^J(YneQ+q&d*mE015h0aAC4UAH6M(OB zD>{s55iyBlDu)_Tru6S>offoO&zT9)YC(aR>G3D?kUj~MH}h+mypg|rDsMw<1Bx?Iw&z&pe03h}SBRwCv~KQy2=s!bBZdo2dlW59pwFq{S%_0hHE?R_k!I}sO{oztasyk$W8n-oM_7l} z%)(`wS-7SKZdXJb-fjhuE0-zuWCIPGKIu2pz~#A37;t&iv3Vc1k2eui+HiTP`E)(y za(U?nF3&w~x`oSgtG0v+Ey(^|!>SRsflQ!z^D43wMsNoP;S%T9&@?ZAcbr`ry9Z#o zS|bl2l-0tAu+x)u_D=rXPJo^_*TDi8m|G>9@GMEs0-P+B=LoI(3+3sE6UM%%9Zp&~ zjy5=18pqKB&H^|gJS0I&!%2a3ui1iX!Q;0UKU21eVH29&5q*rEYKOiBPI_~dQ+dMP z+@*dr*xPC>Wwu!W(**s|C1d)*A4fF9%o`HLFbO|TQS1pH$35P#U7{%Vz>hA9Ed}fa z5X@=i$t5Eg!&|j<N>j%EdONJN?iOms3YuwYVtpHc7QhQ3 z`pA;;@_KNgEqK|D<4;07u@q}kLxgoHVNFU{ zk0K0g#}3HYkGDhhcuNOto?l+eS~e5NAFY;dPyMm#xIpW%lAmQI7oW(Nu%z?1KDx3V zt^0{A>3r3La5xPyJ`I>fa>zC4Zn2zvlBJM9NBMGbCQ4c`A{VUW1(720wfJDsI06>#Z zpK%Uafuw$B#I=qf@pW@;*t#Y012Y3Hfp7PcIM-+=<1Pk#S6di)b}AXzB(++51WN*o zS*<|pK;T>@=2TAr^|tMEK4vUN9P>oxYzv8^aq?;9z`1TO8+?|sj% zMWC&Sh+{1CP&0dXgvYhMT=EQrE!nJi5zA>KE`5u=cN~$mL3dQ>%XVQmTdL;sE!2cC z?ZH@sYpBF#_r0G`!=w+^#f{;C@5}sE#H*o?KgIqO z9yd<0+9(oAe5&;^z0x33CE=#91|P>7d;(LfQHo-!H89P_FvY^`5#fwlArmtv+_V@$ zLY*&a>uwk-4ya|~?}2|%Ef+scAp0;8yCIo!`_a8tI!X8VS($d7*aQ{R6EIN>*4LjP z^0;K-t*@^o4lkl3?Mo4~meCUMX1rS4d1wCC)(a0^5xMCWMrf9EC{xHSZuV@Q_K7`C zvuDTPw43&ERbFJmgcf(btHoWZcvPQtVvp2mtCZm9_SBHPHj#_Pw@Spica zofSsU^VC_rnox^@VvpCo{{PomEd}faBw3ELpC;UtWHr?vXiL=F*lCT$?&R7oC`^N# zCn8=zm6*RR!d^#0&*8lvAjo=#UeOKYH<)LA&&--J^So(d-p4O&wP-W%+R>XCNK?$A zh<*_I_@v&(<3>^s0{$aPQ`(9h>$5`Eu||7=5OvtQt2HpHq6F0=8~F6;QhcWu$ko<+O~{aB_J-)R4FTp`Ru0!Pm}urP|%}b&`wT z!~C^e6wZHfxhN1*>|Pepj%txJcrT04@=3S|Ehn{%dAy>l;EO>WXL8$9qBy#1>;7lO4ns$k4vnGUH8oOB7pND3&%$G=Ln;6jx&KK&p_shoy>k;+~V7 z(6Yks023ne^`)Svfn3m#`DQmwsAD}JT=23h-2M3@N&-I$PQv)GHvrmp)fayH)9eIS zuoLt)RvIjQk<-5S;T9H;7@W-^z{_Cg6ZOOdnj5@WA`b-)nm_SlH2?GBcN%~Vs>^8v z2mVO&%akIsi3pYMHkbe6^wQ2C_&camlgJ}X(&yPVAXP*XDcb%@_XuGM^J$?;fQmuRgXBk<4~AAIOt9jxv`*lgRG84mAq7IsnjTA8VwWvaTn2ua zaEZT5CjBf3L$Cc55hS$gRVYaBLlc1wJ5nw8;3y|G?)s#Qjrl6tKGL7C z5{S7FhLAect=6iG#LrEoy)b|DLfz_OwN7HVN1_+zk6x%-U8>eg49zEdVgBfay4B@s zgTxG4gNPaSL*42Mb*046u(B8Ck8VgP#SkdP7W?gN`hZf1;o@uX>}hIO?AJ2(YxD(s zSN{w_$K>?`;_k4&hzDm^@XD9$o$SOn(BUgC)$zIjoN^pC_L?`4p;&xZnUCC{7`jslZ5!)jRfL{`rCgFMY!*Gw|z>QWP=f)Yn~=I%)^B5 zMgqEcH9Uz)5b4uCQ3#!BwAou?cI_6SZu|eL`w{>-kLt{so}QkbyEP+?ZhLIYhkT6W zOEyM6gHz4xjLUHc?Y zXp6?|ac!)7&X6ZKP2e!z5D$TgCWu>+(SEe!NV^-W*WruRYd_LKf`w!CPIPLS-Y7Pk z$w1dL5zC+?{Qyfnir?-bUTpKePA_23U{g0>4+{rw^s`)?fQ^y=fw&PtoU+tH=Hv6oplJsw9dC8&`T&UGxPpM$EiSNyAfy;hm_0`bzX=>7V-dU2Fo}ID zazU=^5E91|i5jF-Ab?IfLL#M@`#MXhUPCFjzPd!Z)&SNBeIj6`(1&onxpDeP^h|@) z2}Rn7s7s^|bKha<({1P@Wz?sR2CEU;!~m5-9YXah4O8dk&dl6CoCX~Zd<^igRkK2n z$RLnN9_F5~s1d3}z)7JA;rZQ$X>yI6p0og>h^~-G6y|=_5~a%!g_YH%%GCnWyvf2U zQ^>;XZ_SG=n-;<=qCF*&g}HwlOO{Oyk!92TxrJ4xkcHVN8z##p?47?5s{A>4GCA&& zxi4C(*dBzs>JsHD0yJ+{VTCC)VRpXT9kfp%D$f0!$lI&sv2!)?emqZHWwc40x>2{% zQEsB&h~q=X@1OA9I8{7xc1NvtC1_WEnn2qCH+s3TEfzL&GOO72TJ~s~`)>B!@Va*G zBk%cfW~JX-o@ws**G%sjhO`mhB0vp%vhJO_0^A7e$kU{co%7W4J9%#2-a|9BcDdR< zGpE*PYOPb3kIi1LzpkibB2ibPWIfGxO(9Z;Hyzl-{Bv2arvfwg9P+_6$gD1rx_3>N zJUt$d+Yhgahv;*EiaVHp_X~v44#N;!DQ)lyIj}C~TK|NTTVph2$pbk&6X+=E=I#{! zYGM+nE%TxCiO$ynUA0F_AvywNL^loN@^L;Evr`3enPU4~h0qpfZrT~2t_&WSn|@Ft zjWOR84A1Zhfpw7Q*dl^?0?nU96|#m$mV10;xjTt0d}w0=S*}>PWroyNEIT=Ng)G?5 zny=+!yi4pEC%1#Og7y~&i%Tb)5nF;_PoE_cRz_GNVTo}qk=%fbR*ep^DRjc7(4~Y$ z*uT(uu0S7>HIcOrq4M4bRH-!Y-XtZ~?@c>Gy$MX*cyF2zSW|k_m0oA^Uux!If3cil zwO|iro2TwWYnaaT8n#SaXW~P*g}8>;XnGz-Yk|%TDN(&l7#^Zz=gADno@~!!vB?ZW zDsM)mVr!tV&ufpjYsiBUk542s5yz)66VZ$ZCTexE+LR4LT;AyxCSvq3w-xCT!!}r` z)Ttwg!A@PJt^?gLZ6ltTcfwpfV%ipxxy*H?VJ?@US^$9g@R~w~-zV20sb@=){mu~d zGY%Y$QAaBC_-+G;3sQB;K_jLYii#$sEO2Ag-CF z#b>5*ZC_zC4Gi)Eq`_V9Ft2CTg|Joh6uJhAH?+DG=0C;;Of3K*MTWI-qgJ7y^=_*D?DM z!ud@STzpj0QF~)MYD_4LFM!2U;eSCUSGYz!t1FS$h5j+7o*}-WYs- z-m~G6>XpN3n?Qz&H~T>fYTqJDeUHo$@*XhvOF&J$2YK14IeWU$vS>nAYEKusWX<=J zx+Ss=?~;3nD_TE9bl5|*CycK7+JJj@-VT_qe3$chL5<87Bn!(Dw+s2*H9MbON++DaeA86=D+g zPgt!;LEc5$m`WZ$C;u6VU-^}7cibKJ;H$a^Z~XN|op*sXc=20UhKo@IDv(9xUm=nZ(x);t5EkS~WqzD`M_F~Iah zR(%^pP$ZLL2R!?IVNl((9@mG|h)o2Qz(8FR&szjv0_V zKvD;@ivf}z%vSko^-tHF2awtqNyQ-n}a^M*Oz!M6-m$HgldnCs_8lX`w{N>`+sNKp`_^slWvo5J8@XkC6eU~uP>7p2A?4WnL#Se9 zM$YQ>IowSl(_vgt_D)gxp+)A0YPJL>{5_{(@-_)m8EQP|y=Xh#`2};zbR+yl~f+%NP%(+UBXTB*1 z+FgAEXh26g$mWYTuM@SnQTdyfsO0x?gmvpQ| zaxwR}ExFG1(a3k{k*hRYms(c~pz|gc0ZAbiv;U}JVqIILO5Px~0%3e2ffA|3+;3QF z)nP7yp)R>LX;2%XR|L=$dJ)pUG4$e&?G&i$2__V#Y8>=Dk+QV)c|Mfr!t~w&*VcH_;fu>mnm$B04?0oB@L0tBP8k%Ninf>@h;NF918hS z2Z+ZyB`DDDqaGwOPx4B)Hm{B|c><5ueA70A3hClXH#NhTtr184F>81&f6KE3t1Tw$ zA!4*qia?nI5%{{tAsbjwXupOsABnNZTtm|T6fabL_7^|c9s{+I819EEf>9Gf_7^qB zssusL_`{yOjaA9G?z6N6s)`%XLl%TnXJTpbSLQZHjHPAMpvX!%wPwdFFvi7g(;(7oddIf0{HhB2KorjI(-KlH8 zFypMpVO?RHMgYA=Y#OS{ioQYa{vP-*%ww!*h85LUbkrlMAaiD5rua2fdOxf|Ig*ZV1Y12iy4#Sz~xI6<1@N?4`sX#-BvMsJF3-#BNRv?JKNIy17qhjjgQygh)Nf z>JmFUtNS{uYoN3Ld@A5nD8FL?_f1XW0k1bTQNNH1H*5PrgK+<+RJf@F|JcG^hu|`z zMLND!0XYLzznBU*t7|T}1gECY9;1GV?>x&ZYWnK!y!E)y69w!fA0V*r;1j%ybXvpd zMy38R3zSYP0o8vY>ttiy}UVUEA1bFtt zYfDU5pT3QYQDU49_0(yvE?jx41c_jj>Gu%gI8}lVttHqxB-tx!2*4~{m6irbRHaGI zE>ex{8_PT<1r^(Mihc{X@kCj%WDupZZjJ^Dg1SY9aZ#!6&|yAR}DG4KeSM1cK}_NL&Fm=2&%^C zUvUL`B9rWC{M_$L5}ACcLZZm*>nx8H-qk$jULRyNGWYsWQiaU@nK~6VIP-#i`+aBP z-KK;IIIL~GfnWb!-Q7=;6rwZ6%CSbB-S1tvv->}W3MocZij-d>85+=K>rY(YZwYG5 zEP-Cqi2u5QY3s*W%c4wMKW*WSXMjfh$EyCM_4&pC#wxSlB|}6tH|z+#Ywsm$XypOF{7~AG`4*;!9hcVJ0|dp zTVQ!`ZhD*x&81fTu6}b!9&$<(<8xDHk-@<^ED&=KBpZqeU>BMa$7zKxWZSU6rT&Mldt{j>mU{M_ z>KI7(o%6H-_|I8)MB6pyhw>)?P*B^Qum8NgqrI&?-~J!(N0;%^H~V5sg-j;D0^Flo zM zKw4*6Yoj0IL1)I&74=8_w;d9f9f@ zW`cFPciwD+#4!e%kFZta3^aV`)kH%KGy}mRG0za-7H+7K21*<#N#=70WydD)})KEzt;h!gmh)4MRV7Ct5d3}y%9`m8^S}$YYcjnVo_Zr_wkomU43PU zafLE1jm{Ed*D!)%yk-__UE-XKxqoDlw%({%q#JNR&o2@^0%wZRf`ERLfYvtxfLsfR zLd}q2;#Qz){2jlx6OX>YG_32Hni5!~v(Q)X(D~UaaasnR_W6|?+-zK|o=p%!8W*>LqSOK3Yhg~6JFcc$LD(`Jg?`Gj%@M43d7CW>6=8U;unT8R>GEq_5F)LUvvnw=Kl+%>=&7U zfb@1td;)(>(J0KSfA3|!Wdb4uDv$SLYzKk0X|_TQMocWkN7=R&fK)ZQfZ@|nH}yJA z3y?9N6q|wp#6x5=5J?Pv_#6QdrNm6Ek^pH$ADK&Xy~D9rIXqk9xw)q6#5n3gORjaR z2mJ1qC+4|={EI|Wlo?~eNkX%cX)^|89C14{S%ibL#CUiQm%XW&%JlTQ!85@#Wk@I6 zeT9fNqy-(dw2VmEEfK%1Z8hzM_3*XZ9ENa0_Y5{1I&GlMgg+A%Q09KkwwckTlG@B- z67fb@9sMQH2F><}eKgW?^FTVj85=@5rTK{ScZhQnF4E0JQ2lSyy(6aW+zivt5?d^w zEsDHMY!2rBgKdtwT}Y&L-L`n83uw3tZ5gbCflK}f{3*000zWpig}OMR{yTmd(aYWk zV%0=%r{$ooINE;8wvlbOZ`r$T>u7HHjy-#K-8P!NW!J8)qb)aY*&6H0m+|0#Qw$5& z3#}6^3><6T08mff4r%Xdk{Q?(UV>9AZ_cB{mDn3{KgB6?WxLKJ{NBUA?4|XFxm46@D$_i4Dx7?MFj@jf(A39|=`N|<@t#g(r;QG)hv&q*IIRl|BN8Krq}DymlBz|KzljgU=;-^%LR*lD4J5U|4F4ZRn&Tz0srEjxt87 zmk+0H)`)02d&JkE*{YG1t8cM2zh{vZv;|}4zMY^wfQxj^M%}`a5|N}g|F}i6*B}X1 zfFTUY63@l&Run!`y)+d+w=9dA1P~;m#@vq*pl?&m;Lm<|O(q=1pI$AtBNesp;<-;- z)Vd97kkR8QQ8q4OuMos8PDM;gvS_ioYeN3;OyHZiQ4!JK{l)6k?Vbg(>BXwMyb_-7HQ*mNJ7AaPi+)m8RW3fmh{pwXLDN$r_ zed|(|By!P@RLX%kE>gGS-H~ctq&8WkWHD`GOELHC29es6iqxN@%`dS?S>{VU&&I`R zui%uIZ+{MHj_+)qmXEn*VKZL9D)41dGCf6d9n)#h3 z(}`)0geG$uWd5a|Ce!VnD$_ZiZ-g^bV~D7a#`day6KKL}`6)c4Bs$8Q;62ITILlPe zGZBC1pOOON@BA(PCiM9duId;j)o(vZHk4Q$ zFLuq0yH#mo^5Nl`>50kxx0c48k}@_HZ-T`^%zRP|kLq_UO5Vu-D2VU~YnAzwF&w1S zT3-wLT~?FW+d0*K%ytZ8I7+Fo5qqEdJ=U4H@S1hLg>`bGQ%48*{Z#15J@2&8UsAu3 ztT`*9`q*jkO8`oJB^3cydyLgK;i3)#f54Iw$xqY9hb;n)kiP+2k@_F3Gm-qP^OFX8 z^*{Nn9K7&{yowV+>_NkP;g9$P?;;)C27N9?ZqT_>FX+<^|KtYG!SGM+1=tBk3t}u7 z+R1(Yutry}&n>{|(ly$}08poIvG*5kuaH4|9zpMp^4SH zt$4=aq4g^8tYu^dv!eB@q+6Ufmk+gpcszy>J2xAJA^So#ZXgWsr9Nv4P?6zoo*?n8sIG*y|Hs%&hfxBl<)t@T~IQ#(;;l z`v32RodFM!3>S%AfVmU4CE^s(V6XQUd9JSG9ZC;EJ;BC$J(I_oyauhamdrG;Xp*$(r^FOi8WqYZOG1_#X%}r3=q6K{ZXVxvlb(|(2TX)>3 z&H0y%+P9Kz0b1wWsRaNVWg2M1l1L(SoT8tHCCJ`?^*FPthfPr|LIf| z7?}8Ri-HN!O_cYh)wuU<9SnXw6$94$`35nl9}xLvi$TMUP+XLt$UinHsLv4HabTrB z%PUWx^o%jmlla2t_yq4Fo!aQE>VD*|@2$1nrF|jVJDfW-Ha&i@Bs%{3X7y)yrh((V z_?Yp?d>z-JjXDFKVLltDl>a@!W`kD?E<~Q5jbH7D@LN4Q-X$zmY$l7m)r}q1+aRJ3l>la#xD7t z)2_$Y57bCC-4O2E2;7++VO_@ecDY zk>^kD1K|GIKY}E)4#E|2{4D}2F&9U0B~CDH!paKF_3_=NPcPN8eBAS7Q>>goSmiP| zbg~myJg~`}Xxfdr^nm(2iNLw^_GtHM0TBFCoq$yboVrmJ@|HIcu4N%-Gl`kRE*Ze@ z6UeMCb=hSH8b7|zpdQb4)n#f`-Mo63<%hb+9DW;M`8!$u@?iPc?`;x$fQ*er3`?wL zn27b*DtdVpH-jr6V->4df{O?Wz@)MA`;yA4r0fY>6ywPc37F5#-Kfo2tX(ECdk6 z^ARA6A9j-%A{&0ht04Q<+78X^J5VZCE(TTfiM@F^32^x|S93~=& zLO`*bD)uEshF9b@^(|hpn&fbI3bHOzAAd59$!2;o`PO_^|Le&1b%}^9B0KO2X(#H7 ztWa9Ml~+&TVW=g%j>=WOOU{;4M^E6?Q9fqW5-G?Ntqc?~d?cJE#m9)*-6SQMq*@pa z2aVuY`$_eq#U&4QJVvRLgcHN{fN3$Q+MF(N_z z1*wx&e}}Jn-clB1U5kQYqK3fS55MfRkQ-)|)(di)MhvVrki)yT2)AEVuR8XKd1K-qD~jM40X z5T$}-WQ>;H89PQ-^%(sN#9W4|eqSX+Zf-zC`L!1Hmm2GZj=&4S-eRu4kIL2GGWk0u zF(dF(7Oh@CT8lIS|2=C>AAv;_5s2^bS>7efJZ%Y3&r@8n1#7v(o)ti_t25a0i0^+u zJ!Y_#k~}%c!4`c%20R|g>R;CAAQ(4`?7X9pl znl^DZfT6*MFGFBGrr6`KWM4NlxS=?6aCT-I2j-SHV1ZHT;COk1%MKgdjS?qIVosClWl~`BX(o-DD}?Il$_V?$305r12=5X*X8B3f z?KfBW&!48j0(((qogB}c#`@1zCl9klyVEh*YyuNtuIL!;K=47Qqc?`o>pr^>1kO-( zuH0ncIn5V(n}=?!`&=g13_@RG!_)QggMFCvtf+Mj%St)jKSf7c-%@KWjX|E*S|{Wy zH$B5|9YR2zUA>-EekT&hfpd8MzbFF!HxrSb^4mZ1)@G#0oIyT#4iXa#@B{wf37k;) z6y;B%9`?^{i*xaQb(tSA&ya$b?T6R&iVWk=Jr`N6W8DJv*H}-Sv4goUv7Yl;PhX%O zAzZOuB^R&~A=h6fRl?kMXc=*pNV7yL;eaZb&=CRArgZF7oM?+#x2uh`a zUo=|;mJLe7C(0@2E+tMPr}_hg)4u#Co6f@_ctnZ zMq9Uy?Yj9DqpjQdRm+X+;*N^ zbkF@b+nsI6p3Y{m3=Ip>dNOiOO$U65_{(;{Z^*ZkV=eAtG+~hX@K1ul_TVP{zVP2@|Gt@QYUa5*oHEJ zTj}S^#ht}n#Y$urwFlfehICYxus5+<46#k8Vtjt6$NA9O5F@wyOq5YW|m+F||BHa5}ozd@3DbDm28 z9Be{@EGG#{ItT5saaQSCS5dSCXaO+9-b(y01`gG=;R@W?B>h}qgbEPg5>0?d7ie(x z*E)Yf1c{)22w389mKoVzi|SH;rNVxg{RIvYVNfdN&@legr5eMzc{cI3T|(jcBNc32 z4jGs_N$bk+A>*>N?qx(bG{xm3_XAVer#jbxp`uwV>;n;;MJ-VOMmG5gk|OanA7ii; z{5LEN|Lu!|Kb0qgzo=Or{u^WP=OeRh=^xgj zXk^xr(X$TBFtGCsoTS+Q7S|ol5*g$5Hgugh)STPUafZ>2YqJrZUI1%0qSIqHHocGn7Ayr&M9oJqKvWJ)1(1PM*%yrQ=1_R?$TCRNGNjJL!0_TsC337;#vW^Si9OZ~zXgspW9UJqxyfPZLCc5|*vMW?#1hpbZ7UtFA_gIsb3BL`pi1`cwV894rp zj21U=@Sz`*3=iX?dUgsK$mVs23~W6p`+6;C$e0)#4~!D5ah}$z7VM#~$B1)MP-$?a z7+v^CQ4f_7^<%b3eUaZogedaUNv~d{Oi48Cu`8^yq)B6T03I1ZZ9jX7m7Hdh7|6_; z&Sy} z5E+rtsyX+s*)D5!gUwB!Z9>bNZ2u(dond)nDT!m38{Dg;m&t5h9I;fH8}a9q%%fSM}UjZl^q$xA;`wWo@AuC~1E)YZGZ1(zAU-Taw-XT3o8;uFP>8ct@Mx@3Az7U)|AMptm$^vWDUa-9IE~%h`tPCGJ>&X zHu42=CGjr85bP=ZB%jmOiuJGAr=iL`m64-Pa!+N%orJAL^^QkQJ0^4;P+dCpCZdiu z;8Klg$H}v+MUBy0h#DnEZy{=S66Y48Mv2i|h?9T(`QAb(zDj=j6C#?^^@XZR)ivJ0N~QO->q_I)ia<|+1@g7U8Jq$b9!y8(uw-De zIEV<=%3K+ThTxffbwh~oq2rm+jb)M4x~GziD|ba{40@pM1l&*70cPc~Z8(;5V) z#O}%5HxU!*o*fz!0uUKANJ{DS?zC%0zzk2i76}#Cq2x!TUL>7>W2Rn$^taf&-y^$* zgdcO?L8R-C!)UW7$^DTwdnJEFtZ|79halE+d3=8V_q}RqzZqXgxgRU4KTF1n`+RmMLC9qWKY`NnxL^N}&l4Nh_5j zjkt3XCuN2kk&n5@a}FMQU=pWpmP_g(_O~s&cMK{R%&DDmpnEy z_mj4*x^(B$peDDL+x_NTl)~+`C@8s&8bzqyk{1^!(+vgv#BRvkFPLtq4v|#j6vpxU zk3P?Qv4uRxD@<{H$DE9|@4bD?$e!K1Zr?lFap#tuJGO4wyJOc#EiZPGku5u8)lQKT zqH)?mDLE#a!_<9%wtN#VT(uMDg=VmT6e-rwo=XybnL)j0^j!YxyfCf6XLr%1lc9B`f$YE~-6&3idC2M|&Y~;w*-U{{h(vu>-9VF zo|vL+o(~ZPyw|{ z=nE{}Q$pQ}J-}1-&!wzb^v}Lf#f>PU_nnbl2h9{1+1Yvl9YyGtsG~4(F|C#rH7C1$=dQbA)f(x1qSkn#Byk*~K>Pv6 zq0Nv?4Or89tV$!Q3=cVXRT`F5G;+>-Tb1U`_$7I?5`Q?xDENf(GFr7`wCZr8qt!A| zb~r}C8|3qbcbB>k^dKr1i;G=9xf!E+@f6RCfp3;j6`Vpg(em zK5|c1Qa&14NqxS@de8mRvcuy_&37_${0YEUG$@~Fk=4Sr_R7O!6AJ5b%C&Z7E>o0s zT84RAow!#zKq}RV#JEoK{J|58l!GVy+IjG;xOwAmk)Ome-0vaa2}mqggF*t`c-&`|mbOkD8JPQhi{?@vnzq`A_7<>DpU74>+eaHZ$|DHhNOfp9ZPS0R zY-8#Ygc40%%>C!aiEF#g!idX0lx%fm?n|-6wbj-qu6^|1fw*4ThPZ-IB5|49zRKlX z&yIK^Ww`h*1y_chVlNX>xL(66kv5O=N`?yQ@iJ6M`wAS1Lj}dvvmorrO(>m1h2F}W zHbSuuo`Pct*z3z|y>S$C0-@X}Xq3p3Nl2sD^D)Y9y#k+i!98D zL1b~3Wn7d}#Ud@rxYSnR8^)wL8rv-Ad_0@9B*P;ECJwM!j1@i@?T?LimMA_`1kizx(co1Za$!yA z@FqcV`mt)qV|Dak)y1ORpop_@9a4Q&H-C!})>9;;R&qTk=B?za9u^;JCys<=7Oyo~ zU-5N~%nfX;^Ds-+nyjznMbTs*XVLXFS=CFVQ}xiFw?HoS0cjP$bX7?eSbn1BLZ#w8 z4MMsk6;f&@ABu(4YEyL}?MsD}<^QUI)YGw4Ki~40Mz~XYI2rgZzOa-}@U9r>K)5mE zgHdb5Mlf%+M&4>rt$CgRX|={{OA$GXrq=uptI%pqq>9B;Yreu-v|1CXWpZ)Unmdsef@v3TUwDq1R zXu%N|T8f})wUpS=mjmNBiK~ph%Yp^gQ$Eycjpjm?3$M2Mq8mh2oeel*(c_T+zbtxv zUWL+>0p&uiVIgtyi(=(BSjbvF!MkFT{3_p%oUj#-w!5e3zsNaRpWRLeYjBfP+Ua44Zpi^!+q~VOlfW>?#RR zruZ!g<~oA;O|lFfk2=65esL{BOd8(2N19M2s`4NT7GpZjYNl-jn`E@P zwvkrtV1((MPbYRdv;X$8;hBR6XQpp2Aux8jT-q~NEFuCt73Y|neA>Rlu7R(WVj8iSe7L4t_ZFTe5}@d zKLvVkt*~Wwk_SfZn4X=h+&tqP*1X?Yo;g?=1JW2U=EeW(P^sbn^KhNU|9m!%|0jup zj1Mcr&@GttrLI)gpJuHxLM)BcT9@nT)9{gOA)GG|CUQP=%Y;w{h&53Nz4l6H{1YwJ z&3;Jd&HRKUh54ENC;<%(5ogByLY#EwC%4_piiP=kR}64IZY=ZPOXlyY_3dG3cCoZ& zUlGdPL5_!7En)<%uzmOu>VU4QO9~Uve$KOK~Bw}Diuw;^U zNB~=SM65JQqH;hYzlqh4p)nNiik3|7g|WJoe+NH=HEzTXiT6B^w%|y?R%qZk?y-Tt ze0!_;=L|?Jk=DiAv5<;K79ec8)Ts|GK)g^_sp|kd=&ml_g&Z#1qL$9xH@E`b+;!R= z0qI@mo`8CPz+Sv#qmSTS?}o2F9E-G~))S<)Zl@=J?nA?seCJvl-1_4Rveah>`ro|h3m%Uy5&gLUT2TA@>GPz`FPXTru+Kt%^Yn#nmf|!G(Xs)mLJJEO>@oo=4Sn^ zM{>mRwXMX`7m?eh=R$FSr;bElCL8OyN(k(_;}H7)b#99TgKJXu*EhzIt?1+%;& ziVA$JBIkxQhDR;sZ!P2zZ_0DLwt5#+7xdStMV;HMW}2NH272%pb5G&nAUA1RKNn1Vm*? z^$EP3aEVVKwmp4*0ly+b6^zOVIj4Ls5`VbEkt_lpT93AB)x#I?@aQ}P9)dVEW=;>j zL*m-`!iiRG^%ap3los$S2&rTOA<+-6Vi)slTnL2xb|Xl6l2$k`{vp$x`)NlTA|T=# zeG;u%JQJ$6N)*KF7Z?Q*q|`#FYbmQPgA7zdOg1p_91i^;hr}qnihQ;anbpwvE&Okt z7BV6%I3hxVQ_>?MC{oV>EOuRDBqE|u@tGn34}6S7FF%8y>&(qsWQ_-AW!M3X|9J1t z&H|Cm?KZNRvoaIetY>8=vYE3o|4K#f&8}C0^dQGXHtSiLS*h47UKQ?^h;<-$mQ;Ci zX4*IDYN-{*XD7$Xv!&wLLprzCS#}=uZpLS4&5dr%R|Dxf@f}>0cm*h@u4Hl*5;JkS zoIiNOn7Cp5an8ZF;^s_;*kT=kp{GU9nJ{B2xQKaUn`t7p8zq#PDyd+&v)K(JRBh^v z=P|Oc%y>FYwT(=5?hVs9qV>6@ag{!o-?L37Cnk%sXGzSag#jzCAdsjvGxui+wy1+E z4A^0a>MDez;Wr|#o5pa6TWLoaQ&dJ~{{m5{KVgDqeZa@UX>{JR^_9prTOdrRnS=8u zz3_M<>6!Z;OZt98dLMjsss4cP;WUEJ51F_&Ah0QI!0Zn;+y>J=$&uCucx=k$a_k2) zU7kD04JfeFNZH+sg69OHL)7a66f?;)BIZ6DZ3iEWb=zUe_i$P}%pak+wjjVMZNco% zn6{w2rC9bQj3;b-mrdWgAul3aWQxqEgvEuvi6%`7b_ej3HvtacRO-cSjt7oI`;n`j z(;e-J%PLt$5w8b6oTc1^zcM4&{e$g(Y_rDQBHqwMv!~OFZ`mmV-&iaJ11C(N+PsNH zM6#{0gdt$S#12*Zkbo}tkN|fvKlZ2^aF!##SB?p28Z9`hoYlBrf`bFr;=9i|%Q+k0 z{m!6s4!)N<=Q`)%dzrJ&IUnBx&IQhe_+IW@;Y8{z*^p@Gl!7ckRWQ-Rp z>`VcZ6G;rxH@%W%z6lA`^`_%U$8gLikNX_U$S$4DV=YITVLxp-j$g;1)E|Hqajr?N zb`a4#hHIp-HKOX)k!tJ4p^ZbAYmQupGPkd9tF=AksuD_cmz+@dTcJX z-6%d->kHnG!L4y3qwSTi!t-Grlj_Cqkrio7=xEO4Ul%qV=f>mJE)c@g5{S6@7$OYg z2iXz3(gft22VerHsrW!MjHk_tLX@i8qGFU zGKW_*H}Rj-bTo6f{Cda@ec--AEr6;QguLx9C;yv6VVr(K7$KP8=EW5k7rcdk>)-6 zE_0v-_d~!o3%+YT-gLYfN6u!%n!SqHA}4noSR%LWc+-Kr(~MnXGh--$Pw#KWbvvJv zvO7@L-IdNG%?G+3hyMhY@y%>X<{jwbn^OA@a~H_z#=G}uIP|l}0VCfQX29OFV1g#~ zERyv-dS$^q{Gl63Er0uLahp(mGa6Ejl3!lVE7_Ch+k8$o50bh0@9_4GOt{w5Z5{o1 zT(k60Wf?0yTrAC2pxFNBz@GpBR+gj~oLj{Wn zG!pv+|JX?C5cxfG>dxJ}_Us+pFg`npGs~tYCii>e@}5$KTe|VbIVEZ<_K+&i%qhgF zM0Sz7Zg2$Wo!NO~tpiH*n0{G(81#nY5AXfDIQ;DH zEqjM=jYnc@X;zh>beEj#24}I2Yq`YD=LTnIuzwa!Af<6dbF3ALWwS^24!g?!ydl6Wxn{iQHL7d|X2#9v_Ww-_R-LfsA0dHXgQr&925ff1B zfbq}Ynz6ePZ3iAXj8PgPX+-a}x{bKQqM_H2ls!fiJltPn7|%RE=zeOQtk(TCnf|u| z++GWAFX``luP)j5Sa{7C5CYiz90ReN1tBc)kRA(l5d!m~2K}j+4)Y3tzQTeoqmBQ? zy0G82b=%Hud$;KxW2*DOA4We>=LHq@X9(4 z&uf!jkXFsiRLld(%`yV?F1G0PyBy_zw=RA+`dcP~VobzmSne)y<_;b_Y+xmYlHuJA zc(1hZE+f2=x9j%XvNwQ4;B}isoC_um8f^Hbh%-A9zQz03~-$`0!8MA`fVsrI1^Kb|47G-KUqSD2P9<;tK zun}Vvk5Il36WK*E4wGJ2UxXeYyE{H=aglL6lv@{@z4ON=5e+L_!S@;PMl9cB#ei&1 z`Lh=8PI8d@Yh8HfL;bq~3umHWhw^>YA54P2*VQ$RM*LQbg-}0~TNj(zc~Cz#kUxr4 z{9``cWW_}sXAQ(Fm~Xczu3|&QKU5dfiFsg(Y69W*Q6wWz`0zU~sqL1GYfXG?l5za| z5Xb)>i<;<^k^H(?9he7Jdm?evQM_WF@nI%0(s3=(gf{@q4 z%r7Y<>LCuR-Vn^sSd65vg>vg+GapHJr?wYI(J&dlRuR{74E*Y9FygZoW|4BPR+9|t zdpU`gon6ET6H{!hwKz3XE`5pxzYkCA0a$)3`n}II+|pe=jKA`G_+VQFfx0x>9?jm> zG`&nrwum-4itRP3?Gx= zBX1(eH~gm4;+ENhx3fpvj^vKz5cu3&eq|+dq)pcXMJzi~-8eioiIWEhA2~Yc5^3{_H}ryx{)kbQuBD@mFacpvN_F0nC9d@Ovhzv9$yW- z3I)6{K3$o#5e!OLf%eo|&z3UyleST9g2ncqICXN5%>4Jj!Cq@UI9@3}fIX9Gwjb>% z3ii}qM`4g8UUJ<-U|_DCu8eWd2GvV#^6f}!&1Ds5n7tSqPQrCD=9cFb#rO*t#x!bF z&=3DQI7lM6Gc7$Z(PE7tToswq+0*&QGN&_b(ciLdFzcS~$TF=CK?DyqURg57uOmw2 zcqk2<5=A#=HDgmV#qlYl;QuN4|08&izEM9~xwzbuo30%N~&HfEGJ7fR5Tq}K+&3QJPGv%!S zZVYO%qU9Nj+tKD~4p?F>z|joE#DEBxL5PVK2$&9d=~^c6d#>qjdWc#cZJ`%~-y&kV z@Fs-Mf$WjY0R-Vwcao`Hv@ zDY+K<2lFPzrMg{rl0n8VxTFfm9MfBjAkdvD@_04($WaO;y@6(4O_8S#G7-~{9LJji9J~g@1-!LB zK0aT(vEXWOGxN~Kd_w$HnUU@AEL}r_T+4(gsTn3gk3(%B0`u6+bg}d!qK~!BP4xG5 zWDtgh(-3*B(_99QR?$)8Umsb2Q8>=~*HD;tqDpMob%aH{WjFAO?jA+&hoZ+o(GIU@ z(N;7MD;iN1Et86tJ4J(+qOC~LsG>x&+{-KRxxI#0V@&R6GR|ZllOhv`Nr?${1~tJ% z_{QUSqOB2+@we<4&t&K@0gcTOGc)@!^FDzVHN!1KNOST2N0taMi4ehH5GT7&OC zXRUJeRszs!LBbLc=XUGfy}Jh?_5$63qXf06PW;JPt!81@fsE5U z3772$nxAZLZlbni?!ewzm%XJ~OvoW?(;M=@2ZUpBrgRvg#zXv7EOK#vPImX@ zgiwMD+Mo>Cf4QGl`wWRv{Jj>3OHmQTB_cU=>^TQT!3LoP4!Q=#=CSPYrV6@;i_tJ@ zKXqfk6lI**80D!4JJv&dX_AMy)(X|N_<)*2Vd^0y2s9O;7NUU&CNY-95rQJ`LK0#C zXk^=<8J^A~=v9-0-yp{tLykCz16_(tN~7yA{!R`eAz@r{H0#C%K`{Cs$9VrXZmZX- zwh?~DUUi&==PV9By_H`XD>H^zS$HC;UmqGedTD7-fO1 zI}CWIx&=JfTvZ-XRXz~uDl$yPQI@0N-GEI!f{W@>KP;xqWFEi}70UzMk=t$mSEATj z&M8fmuzKQA+-L~dyK$pMn{?(l;5a%z5N&p_?F-cb18N<2ZkTenv05_ZDc!K>l5|-n z5l)8oIM}E(9I}L4ZlFOU`kjP{v{SFc`)J5r1m`g(k0a4gsGs3|T%}Y}o?xY~$3=Ce zskFWe)yOk-1TTU;Ud0+JOjvCKR}1dvF+Yy0Z%4*E3CmGjR96^S>UuiE4YG$7utBPt zm8qO#mx6ssEg~vb9C4_(ebBauzgs0bE5oqdVPRP=-O9k?xh!4wjdU>4`Qo6WBKZjm z)iOgS@QLTLOy&}|yWeHuIwt`x&;97~&>Q$l96(fRpSJ+5js+;eTWH8t<^)J!C_r^1US*w5mrGv*00XMj}UyE2(94u5GuIB841knhj;BJFkm z$yK3O-YVjSzy~nOr~Fs=GU~ag=Ab=P^A^MeQ#I##cif?<8;1_@OHAK zV=HO06}7YT*ea*%*lMTy*c!c(3z4d8xn~1xCi0I|01=mr{2dKDlLgoo)!DeJ_KJDp z0VvwnUA=MR)tBodiO)fnqE@6XVM29RUB+Z1lIpAa>m$-VuETGw0870b7u9vQsM(@_el)aMfGyvE3xurDeshDK zlAWcGLL`UCl&sc@pyRoHwLC0qIE0`yg&&Hr*Vek^3-*J9y3rP(pqq8}>RAKS$=Nn@{wrCJ;A_wR>YZZqq<9?2*lL4X(b6Hzzt#~Yd4#AFMT zo0$wV*~(-alkH4;ncTwURwiOX+QF+=FxkZCAZmL*H<3jsE#9HPxsX!MJ?K<}gsK^x1| z7Sr~L%zjvg@jIi;v9h7k0!t{?Ie?li(xY?J>tN$#e)jRqu{>?8m6l_OGKYk~>6 zGU;mc>rO}_+)qf~M>(*pq8!LCC-*iyIhLz*AETtn$!ZFL1+CIHg5_)d`_ZF@O4H+T zet`Air!SQy#Jsvva>)Au)*m}qUf*16n~^B+axJ6wRoBXs2@`0a2Qp?U@ZAmSw z5ENZo&br)gJmxQ(%`b~1YCXY%YWdlHSBw$PS|_bRQ0DhQ8bHAnR_PtSb<4=eww+_U zcJqYWJ)QyU`0!p zUeQ7eH^@(W&!mcv)N{)gqDG0Zktf23D@aD52gkQE9(*sZ^^y!B(|x@CHj^D>6OM@-qsAv8v+QDwt4OV- z$fA>=(45cqyjXxR2je}Kd9k{}QY!RXKw=S8{*g|K9y-LBUG5lr6c!3|JjAjD_+ud? z9R%;s3}U*3Qzj|68OaX~VCY1%dNccAjB;M9?eZd**}VJIw31fP{ZY5IF!(Kr0rOb(+bg; zKa!Wh_4Z2dvBHs7D&_71tlS8k)-*qYFOK7D?}_HxYD8{|0bqLn*sPkV%#2M;mZlsT z25UVg-hFJ}Vc3tb@em17Yu$}y3?=nm6j5uz*raXLGlU2uqvHY0mHA&+YbS z-NiU!s_T)X-p6d5MOZG6?=S70*$SzxEveIdWQNIq!6WP2Wv~;wYArXrZw#`$)`kuz z7g^Dcaa-oCdWr?l@zwoILM+GW@Lo1KN53prd%;{x?{WrS3=usDD8Sak@K924L*qPM z?KA9sOR$R20|cVt}dprWL?qg}Y8gX)y! zj?M#Jhi~$6M|UcBG#}^zcVN!!a!0QNUb5WrYQR)D-gIoqk-X)Pwh?uRv~E`7|N8(5 zr9Mbvl4;QTVw)!msAu>q89<$2BDQ&9fK_++&Xsp1aDWy1V;+cO3iVMIEJk(KE^9GQ z__#p*SN{4jCeJc?j)`sg8XVN+xv5IH@#!m=VB>S<$EgIB96t-VN>B?%pa2{2nd%zD z26ep%oF;Pg9>(9vy-3IqXk4t_JdmO9fKe5U9)JkI=!_<6sleZelaF9%!d>=A_E_G@ zqQP3xh}4xYLJ93?unvSRnGTKJ7sHLzso3GvyOGq+-9N)w9HxhuO0aM5o12iE(!trv z;juAv-CFB5Uf0@hG5uDzg*0+p3%I-dkmOh;%Xc;9rMrECRfoD8ebGlj@soOt=d#Ky z{^`yoRJEOpnkB|(2#>%Z>1>&)#WosSY?{&HjtIG}guAhx8=p zQD@viFECwJkG3a*nEw;1z#wKjrw{XPSr?dwyE$%D1l?zdy+}LuxzRkwXs$^QQ-pq{ z4<>ayC^@IA1BOZ|-X%YsVp_De9A+#3GQTl*onJyL_o9_=$D+U6-Bp3HExnHz%9JCn zrRkG;&bG8wzQK}-KB)i_UtsB9M3T@POSW>Qp8=4O-LXJE&tgJMNYB-03EFSrqPo(M zH{EmP7jNowgiC}*k>&e@#+R5AFEqq^B|-y78kPg}4Gg`7aBdv|;nK~cOik^;!nty6V>%>uBFE9^ zRZH(pY@O0)V8a?w`m;w3yINLgqnmAc6#aI>PE$;A1>^5fnlr5Z!MH z2ytY+QwPt+;vt^9L}HJk;1?~i{Y+w9b~@5&bvUR`ya`X@Z9O=MQq5VBcH?o%uibc@ zD(l%SXE6Uh4n2AtzC&yLwQP*0u1v=Th_+jv@6K>9S6Bu!aP7J7yc&uc_x&#wI%uin4l`9X@*LdYh7+Y zEh5)o5faNF&26Iv8g5aWw+5fixmtF|$o5@oJxhFy$;C__W-`g-vrJaQj-sw%@)(oX zGkGVI4D>$rZeFeB)q8pM6q8?O@-&lIGvhT(?q>1<{`Mgzlf0c~@(gd^$*XrU`7m$a z!>ji(`6zEc!mE!-!rR~A)pNZ1IFnB?`7D#KGUMw^KF`}PGWks=&olV}Grq*DFEjZU z-u@etdx)h>{6uNZu-WoVTA7^1B*$cs$vI49oVt)#>zQ1{MAjfM6ja>8!aBZDRmNAb z8|F73oN?x+N;d!qY*~a99%fnzWB+x*sLkzM@C_G|y=oc6FR;po)8g&TSf7S-w%@T6nl{gx~&ug?sS(nnFeL3x)d%dkcFC>+#zocz12# zGW=a$Sd06Wg$Lw&x%+*2VcPxuK|FJ`aG8{_yl@oHURijsu%U2`{9T3;?{{C2o7To{-4w>7