diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ef3fdfbd..d309482d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -68,50 +68,25 @@ jobs: - name: Trigger dev workflow 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 + - name: show artifacts + run: | + ls artifacts + ls artifacts/pyapi + ls artifacts/goapi + - name: Commit packages + run: | + git config user.name "Github Actions Bot" + git config user.email "actions@github.com" + git pull + git add --force artifacts/ + git rm -r --cached artifacts/pyapi/__pycache__ + 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 @@ -166,7 +141,7 @@ jobs: with: name: generated_py_package path: | - art + artifacts - name: Display structure of downloaded files run: ls -R - name: Run python tests @@ -214,7 +189,7 @@ jobs: name: generated_go_package path: | pkg - art + artifacts - uses: actions/download-artifact@v2 with: name: python_package @@ -255,7 +230,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/openapi.proto" fail: true publish_python_package: 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 93f75630..0f0ce7ec 100644 --- a/artifacts.py +++ b/artifacts.py @@ -16,6 +16,7 @@ import sys import os import importlib +import shutil def create_openapi_artifacts(openapiart_class, sdk=None): @@ -41,27 +42,27 @@ 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"), - extension_prefix="sanity", + artifact_dir=os.path.join(os.path.dirname(__file__), "artifacts"), + 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/goapi/go.mod b/artifacts/goapi/go.mod new file mode 100644 index 00000000..6429af46 --- /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.1 + github.com/stretchr/testify v1.8.4 + 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 new file mode 100644 index 00000000..3ff15d96 --- /dev/null +++ b/artifacts/goapi/go.sum @@ -0,0 +1,1859 @@ +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 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= +cloud.google.com/go/accessapproval v1.7.1/go.mod h1:JYczztsHRMK7NTXb6Xw+dwbs/WnOJxbo/2mTI+Kgg68= +cloud.google.com/go/accesscontextmanager v1.3.0/go.mod h1:TgCBehyr5gNMz7ZaH9xubp+CE8dkrszb4oK9CWyvD4o= +cloud.google.com/go/accesscontextmanager v1.4.0/go.mod h1:/Kjh7BBu/Gh83sv+K60vN9QE5NJcd80sU33vIe2IFPE= +cloud.google.com/go/accesscontextmanager v1.6.0/go.mod h1:8XCvZWfYw3K/ji0iVnp+6pu7huxoQTLmxAbVjbloTtM= +cloud.google.com/go/accesscontextmanager v1.7.0/go.mod h1:CEGLewx8dwa33aDAZQujl7Dx+uYhS0eay198wB/VumQ= +cloud.google.com/go/accesscontextmanager v1.8.0/go.mod h1:uI+AI/r1oyWK99NN8cQ3UK76AMelMzgZCvJfsi2c+ps= +cloud.google.com/go/accesscontextmanager v1.8.1/go.mod h1:JFJHfvuaTC+++1iL1coPiG1eu5D24db2wXCDWDjIrxo= +cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw= +cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY= +cloud.google.com/go/aiplatform v1.27.0/go.mod h1:Bvxqtl40l0WImSb04d0hXFU7gDOiq9jQmorivIiWcKg= +cloud.google.com/go/aiplatform v1.35.0/go.mod h1:7MFT/vCaOyZT/4IIFfxH4ErVg/4ku6lKv3w0+tFTgXQ= +cloud.google.com/go/aiplatform v1.36.1/go.mod h1:WTm12vJRPARNvJ+v6P52RDHCNe4AhvjcIZ/9/RRHy/k= +cloud.google.com/go/aiplatform v1.37.0/go.mod h1:IU2Cv29Lv9oCn/9LkFiiuKfwrRTq+QQMbW+hPCxJGZw= +cloud.google.com/go/aiplatform v1.45.0/go.mod h1:Iu2Q7sC7QGhXUeOhAj/oCK9a+ULz1O4AotZiqjQ8MYA= +cloud.google.com/go/aiplatform v1.48.0/go.mod h1:Iu2Q7sC7QGhXUeOhAj/oCK9a+ULz1O4AotZiqjQ8MYA= +cloud.google.com/go/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= +cloud.google.com/go/apigateway v1.6.1/go.mod h1:ufAS3wpbRjqfZrzpvLC2oh0MFlpRJm2E/ts25yyqmXA= +cloud.google.com/go/apigeeconnect v1.3.0/go.mod h1:G/AwXFAKo0gIXkPTVfZDd2qA1TxBXJ3MgMRBQkIi9jc= +cloud.google.com/go/apigeeconnect v1.4.0/go.mod h1:kV4NwOKqjvt2JYR0AoIWo2QGfoRtn/pkS3QlHp0Ni04= +cloud.google.com/go/apigeeconnect v1.5.0/go.mod h1:KFaCqvBRU6idyhSNyn3vlHXc8VMDJdRmwDF6JyFRqZ8= +cloud.google.com/go/apigeeconnect v1.6.1/go.mod h1:C4awq7x0JpLtrlQCr8AzVIzAaYgngRqWf9S5Uhg+wWs= +cloud.google.com/go/apigeeregistry v0.4.0/go.mod h1:EUG4PGcsZvxOXAdyEghIdXwAEi/4MEaoqLMLDMIwKXY= +cloud.google.com/go/apigeeregistry v0.5.0/go.mod h1:YR5+s0BVNZfVOUkMa5pAR2xGd0A473vA5M7j247o1wM= +cloud.google.com/go/apigeeregistry v0.6.0/go.mod h1:BFNzW7yQVLZ3yj0TKcwzb8n25CFBri51GVGOEUcgQsc= +cloud.google.com/go/apigeeregistry v0.7.1/go.mod h1:1XgyjZye4Mqtw7T9TsY4NW10U7BojBvG4RMD+vRDrIw= +cloud.google.com/go/apikeys v0.4.0/go.mod h1:XATS/yqZbaBK0HOssf+ALHp8jAlNHUgyfprvNcBIszU= +cloud.google.com/go/apikeys v0.5.0/go.mod h1:5aQfwY4D+ewMMWScd3hm2en3hCj+BROlyrt3ytS7KLI= +cloud.google.com/go/apikeys v0.6.0/go.mod h1:kbpXu5upyiAlGkKrJgQl8A0rKNNJ7dQ377pdroRSSi8= +cloud.google.com/go/appengine v1.4.0/go.mod h1:CS2NhuBuDXM9f+qscZ6V86m1MIIqPj3WC/UoEuR1Sno= +cloud.google.com/go/appengine v1.5.0/go.mod h1:TfasSozdkFI0zeoxW3PTBLiNqRmzraodCWatWI9Dmak= +cloud.google.com/go/appengine v1.6.0/go.mod h1:hg6i0J/BD2cKmDJbaFSYHFyZkgBEfQrDg/X0V5fJn84= +cloud.google.com/go/appengine v1.7.0/go.mod h1:eZqpbHFCqRGa2aCdope7eC0SWLV1j0neb/QnMJVWx6A= +cloud.google.com/go/appengine v1.7.1/go.mod h1:IHLToyb/3fKutRysUlFO0BPt5j7RiQ45nrzEJmKTo6E= +cloud.google.com/go/appengine v1.8.1/go.mod h1:6NJXGLVhZCN9aQ/AEDvmfzKEfoYBlfB80/BHiKVputY= +cloud.google.com/go/area120 v0.5.0/go.mod h1:DE/n4mp+iqVyvxHN41Vf1CR602GiHQjFPusMFW6bGR4= +cloud.google.com/go/area120 v0.6.0/go.mod h1:39yFJqWVgm0UZqWTOdqkLhjoC7uFfgXRC8g/ZegeAh0= +cloud.google.com/go/area120 v0.7.0/go.mod h1:a3+8EUD1SX5RUcCs3MY5YasiO1z6yLiNLRiFrykbynY= +cloud.google.com/go/area120 v0.7.1/go.mod h1:j84i4E1RboTWjKtZVWXPqvK5VHQFJRF2c1Nm69pWm9k= +cloud.google.com/go/area120 v0.8.1/go.mod h1:BVfZpGpB7KFVNxPiQBuHkX6Ed0rS51xIgmGyjrAfzsg= +cloud.google.com/go/artifactregistry v1.6.0/go.mod h1:IYt0oBPSAGYj/kprzsBjZ/4LnG/zOcHyFHjWPCi6SAQ= +cloud.google.com/go/artifactregistry v1.7.0/go.mod h1:mqTOFOnGZx8EtSqK/ZWcsm/4U8B77rbcLP6ruDU2Ixk= +cloud.google.com/go/artifactregistry v1.8.0/go.mod h1:w3GQXkJX8hiKN0v+at4b0qotwijQbYUqF2GWkZzAhC0= +cloud.google.com/go/artifactregistry v1.9.0/go.mod h1:2K2RqvA2CYvAeARHRkLDhMDJ3OXy26h3XW+3/Jh2uYc= +cloud.google.com/go/artifactregistry v1.11.1/go.mod h1:lLYghw+Itq9SONbCa1YWBoWs1nOucMH0pwXN1rOBZFI= +cloud.google.com/go/artifactregistry v1.11.2/go.mod h1:nLZns771ZGAwVLzTX/7Al6R9ehma4WUEhZGWV6CeQNQ= +cloud.google.com/go/artifactregistry v1.12.0/go.mod h1:o6P3MIvtzTOnmvGagO9v/rOjjA0HmhJ+/6KAXrmYDCI= +cloud.google.com/go/artifactregistry v1.13.0/go.mod h1:uy/LNfoOIivepGhooAUpL1i30Hgee3Cu0l4VTWHUC08= +cloud.google.com/go/artifactregistry v1.14.1/go.mod h1:nxVdG19jTaSTu7yA7+VbWL346r3rIdkZ142BSQqhn5E= +cloud.google.com/go/asset v1.5.0/go.mod h1:5mfs8UvcM5wHhqtSv8J1CtxxaQq3AdBxxQi2jGW/K4o= +cloud.google.com/go/asset v1.7.0/go.mod h1:YbENsRK4+xTiL+Ofoj5Ckf+O17kJtgp3Y3nn4uzZz5s= +cloud.google.com/go/asset v1.8.0/go.mod h1:mUNGKhiqIdbr8X7KNayoYvyc4HbbFO9URsjbytpUaW0= +cloud.google.com/go/asset v1.9.0/go.mod h1:83MOE6jEJBMqFKadM9NLRcs80Gdw76qGuHn8m3h8oHQ= +cloud.google.com/go/asset v1.10.0/go.mod h1:pLz7uokL80qKhzKr4xXGvBQXnzHn5evJAEAtZiIb0wY= +cloud.google.com/go/asset v1.11.1/go.mod h1:fSwLhbRvC9p9CXQHJ3BgFeQNM4c9x10lqlrdEUYXlJo= +cloud.google.com/go/asset v1.12.0/go.mod h1:h9/sFOa4eDIyKmH6QMpm4eUK3pDojWnUhTgJlk762Hg= +cloud.google.com/go/asset v1.13.0/go.mod h1:WQAMyYek/b7NBpYq/K4KJWcRqzoalEsxz/t/dTk4THw= +cloud.google.com/go/asset v1.14.1/go.mod h1:4bEJ3dnHCqWCDbWJ/6Vn7GVI9LerSi7Rfdi03hd+WTQ= +cloud.google.com/go/assuredworkloads v1.5.0/go.mod h1:n8HOZ6pff6re5KYfBXcFvSViQjDwxFkAkmUFffJRbbY= +cloud.google.com/go/assuredworkloads v1.6.0/go.mod h1:yo2YOk37Yc89Rsd5QMVECvjaMKymF9OP+QXWlKXUkXw= +cloud.google.com/go/assuredworkloads v1.7.0/go.mod h1:z/736/oNmtGAyU47reJgGN+KVoYoxeLBoj4XkKYscNI= +cloud.google.com/go/assuredworkloads v1.8.0/go.mod h1:AsX2cqyNCOvEQC8RMPnoc0yEarXQk6WEKkxYfL6kGIo= +cloud.google.com/go/assuredworkloads v1.9.0/go.mod h1:kFuI1P78bplYtT77Tb1hi0FMxM0vVpRC7VVoJC3ZoT0= +cloud.google.com/go/assuredworkloads v1.10.0/go.mod h1:kwdUQuXcedVdsIaKgKTp9t0UJkE5+PAVNhdQm4ZVq2E= +cloud.google.com/go/assuredworkloads v1.11.1/go.mod h1:+F04I52Pgn5nmPG36CWFtxmav6+7Q+c5QyJoL18Lry0= +cloud.google.com/go/automl v1.5.0/go.mod h1:34EjfoFGMZ5sgJ9EoLsRtdPSNZLcfflJR39VbVNS2M0= +cloud.google.com/go/automl v1.6.0/go.mod h1:ugf8a6Fx+zP0D59WLhqgTDsQI9w07o64uf/Is3Nh5p8= +cloud.google.com/go/automl v1.7.0/go.mod h1:RL9MYCCsJEOmt0Wf3z9uzG0a7adTT1fe+aObgSpkCt8= +cloud.google.com/go/automl v1.8.0/go.mod h1:xWx7G/aPEe/NP+qzYXktoBSDfjO+vnKMGgsApGJJquM= +cloud.google.com/go/automl v1.12.0/go.mod h1:tWDcHDp86aMIuHmyvjuKeeHEGq76lD7ZqfGLN6B0NuU= +cloud.google.com/go/automl v1.13.1/go.mod h1:1aowgAHWYZU27MybSCFiukPO7xnyawv7pt3zK4bheQE= +cloud.google.com/go/baremetalsolution v0.3.0/go.mod h1:XOrocE+pvK1xFfleEnShBlNAXf+j5blPPxrhjKgnIFc= +cloud.google.com/go/baremetalsolution v0.4.0/go.mod h1:BymplhAadOO/eBa7KewQ0Ppg4A4Wplbn+PsFKRLo0uI= +cloud.google.com/go/baremetalsolution v0.5.0/go.mod h1:dXGxEkmR9BMwxhzBhV0AioD0ULBmuLZI8CdwalUxuss= +cloud.google.com/go/baremetalsolution v1.1.1/go.mod h1:D1AV6xwOksJMV4OSlWHtWuFNZZYujJknMAP4Qa27QIA= +cloud.google.com/go/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= +cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= +cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= +cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= +cloud.google.com/go/bigquery v1.42.0/go.mod h1:8dRTJxhtG+vwBKzE5OseQn/hiydoQN3EedCaOdYmxRA= +cloud.google.com/go/bigquery v1.43.0/go.mod h1:ZMQcXHsl+xmU1z36G2jNGZmKp9zNY5BUua5wDgmNCfw= +cloud.google.com/go/bigquery v1.44.0/go.mod h1:0Y33VqXTEsbamHJvJHdFmtqHvMIY28aK1+dFsvaChGc= +cloud.google.com/go/bigquery v1.47.0/go.mod h1:sA9XOgy0A8vQK9+MWhEQTY6Tix87M/ZurWFIxmF9I/E= +cloud.google.com/go/bigquery v1.48.0/go.mod h1:QAwSz+ipNgfL5jxiaK7weyOhzdoAy1zFm0Nf1fysJac= +cloud.google.com/go/bigquery v1.49.0/go.mod h1:Sv8hMmTFFYBlt/ftw2uN6dFdQPzBlREY9yBh7Oy7/4Q= +cloud.google.com/go/bigquery v1.50.0/go.mod h1:YrleYEh2pSEbgTBZYMJ5SuSr0ML3ypjRB1zgf7pvQLU= +cloud.google.com/go/bigquery v1.52.0/go.mod h1:3b/iXjRQGU4nKa87cXeg6/gogLjO8C6PmuM8i5Bi/u4= +cloud.google.com/go/bigquery v1.53.0/go.mod h1:3b/iXjRQGU4nKa87cXeg6/gogLjO8C6PmuM8i5Bi/u4= +cloud.google.com/go/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= +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/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= +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/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= +cloud.google.com/go/cloudtasks v1.8.0/go.mod h1:gQXUIwCSOI4yPVK7DgTVFiiP0ZW/eQkydWzwVMdHxrI= +cloud.google.com/go/cloudtasks v1.9.0/go.mod h1:w+EyLsVkLWHcOaqNEyvcKAsWp9p29dL6uL9Nst1cI7Y= +cloud.google.com/go/cloudtasks v1.10.0/go.mod h1:NDSoTLkZ3+vExFEWu2UJV1arUyzVDAiZtdWcsUyNwBs= +cloud.google.com/go/cloudtasks v1.11.1/go.mod h1:a9udmnou9KO2iulGscKR0qBYjreuX8oHwpmFsKspEvM= +cloud.google.com/go/cloudtasks v1.12.1/go.mod h1:a9udmnou9KO2iulGscKR0qBYjreuX8oHwpmFsKspEvM= +cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= +cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= +cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= +cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s= +cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= +cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= +cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= +cloud.google.com/go/compute v1.12.0/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= +cloud.google.com/go/compute v1.12.1/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= +cloud.google.com/go/compute v1.13.0/go.mod h1:5aPTS0cUNMIc1CE546K+Th6weJUNQErARyZtRXDJ8GE= +cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvjxega5vAdo= +cloud.google.com/go/compute v1.15.1/go.mod h1:bjjoF/NtFUrkD/urWfdHaKuOPDR5nWIs63rR+SXhcpA= +cloud.google.com/go/compute v1.18.0/go.mod h1:1X7yHxec2Ga+Ss6jPyjxRxpu2uu7PLgsOVXvgU0yacs= +cloud.google.com/go/compute v1.19.0/go.mod h1:rikpw2y+UMidAe9tISo04EHNOIf42RLYF/q8Bs93scU= +cloud.google.com/go/compute v1.19.1/go.mod h1:6ylj3a05WF8leseCdIf77NK0g1ey+nj5IKd5/kvShxE= +cloud.google.com/go/compute v1.19.3/go.mod h1:qxvISKp/gYnXkSAD1ppcSOveRAmzxicEv/JlizULFrI= +cloud.google.com/go/compute v1.20.1/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= +cloud.google.com/go/compute v1.23.0/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= +cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZEXYonfTBHHFPO/4UU= +cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= +cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM= +cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= +cloud.google.com/go/contactcenterinsights v1.3.0/go.mod h1:Eu2oemoePuEFc/xKFPjbTuPSj0fYJcPls9TFlPNnHHY= +cloud.google.com/go/contactcenterinsights v1.4.0/go.mod h1:L2YzkGbPsv+vMQMCADxJoT9YiTTnSEd6fEvCeHTYVck= +cloud.google.com/go/contactcenterinsights v1.6.0/go.mod h1:IIDlT6CLcDoyv79kDv8iWxMSTZhLxSCofVV5W6YFM/w= +cloud.google.com/go/contactcenterinsights v1.9.1/go.mod h1:bsg/R7zGLYMVxFFzfh9ooLTruLRCG9fnzhH9KznHhbM= +cloud.google.com/go/contactcenterinsights v1.10.0/go.mod h1:bsg/R7zGLYMVxFFzfh9ooLTruLRCG9fnzhH9KznHhbM= +cloud.google.com/go/container v1.6.0/go.mod h1:Xazp7GjJSeUYo688S+6J5V+n/t+G5sKBTFkKNudGRxg= +cloud.google.com/go/container v1.7.0/go.mod h1:Dp5AHtmothHGX3DwwIHPgq45Y8KmNsgN3amoYfxVkLo= +cloud.google.com/go/container v1.13.1/go.mod h1:6wgbMPeQRw9rSnKBCAJXnds3Pzj03C4JHamr8asWKy4= +cloud.google.com/go/container v1.14.0/go.mod h1:3AoJMPhHfLDxLvrlVWaK57IXzaPnLaZq63WX59aQBfM= +cloud.google.com/go/container v1.15.0/go.mod h1:ft+9S0WGjAyjDggg5S06DXj+fHJICWg8L7isCQe9pQA= +cloud.google.com/go/container v1.22.1/go.mod h1:lTNExE2R7f+DLbAN+rJiKTisauFCaoDq6NURZ83eVH4= +cloud.google.com/go/container v1.24.0/go.mod h1:lTNExE2R7f+DLbAN+rJiKTisauFCaoDq6NURZ83eVH4= +cloud.google.com/go/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= +cloud.google.com/go/datacatalog v1.7.0/go.mod h1:9mEl4AuDYWw81UGc41HonIHH7/sn52H0/tc8f8ZbZIE= +cloud.google.com/go/datacatalog v1.8.0/go.mod h1:KYuoVOv9BM8EYz/4eMFxrr4DUKhGIOXxZoKYF5wdISM= +cloud.google.com/go/datacatalog v1.8.1/go.mod h1:RJ58z4rMp3gvETA465Vg+ag8BGgBdnRPEMMSTr5Uv+M= +cloud.google.com/go/datacatalog v1.12.0/go.mod h1:CWae8rFkfp6LzLumKOnmVh4+Zle4A3NXLzVJ1d1mRm0= +cloud.google.com/go/datacatalog v1.13.0/go.mod h1:E4Rj9a5ZtAxcQJlEBTLgMTphfP11/lNaAshpoBgemX8= +cloud.google.com/go/datacatalog v1.14.0/go.mod h1:h0PrGtlihoutNMp/uvwhawLQ9+c63Kz65UFqh49Yo+E= +cloud.google.com/go/datacatalog v1.14.1/go.mod h1:d2CevwTG4yedZilwe+v3E3ZBDRMobQfSG/a6cCCN5R4= +cloud.google.com/go/datacatalog v1.16.0/go.mod h1:d2CevwTG4yedZilwe+v3E3ZBDRMobQfSG/a6cCCN5R4= +cloud.google.com/go/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= +cloud.google.com/go/dataflow v0.9.1/go.mod h1:Wp7s32QjYuQDWqJPFFlnBKhkAtiFpMTdg00qGbnIHVw= +cloud.google.com/go/dataform v0.3.0/go.mod h1:cj8uNliRlHpa6L3yVhDOBrUXH+BPAO1+KFMQQNSThKo= +cloud.google.com/go/dataform v0.4.0/go.mod h1:fwV6Y4Ty2yIFL89huYlEkwUPtS7YZinZbzzj5S9FzCE= +cloud.google.com/go/dataform v0.5.0/go.mod h1:GFUYRe8IBa2hcomWplodVmUx/iTL0FrsauObOM3Ipr0= +cloud.google.com/go/dataform v0.6.0/go.mod h1:QPflImQy33e29VuapFdf19oPbE4aYTJxr31OAPV+ulA= +cloud.google.com/go/dataform v0.7.0/go.mod h1:7NulqnVozfHvWUBpMDfKMUESr+85aJsC/2O0o3jWPDE= +cloud.google.com/go/dataform v0.8.1/go.mod h1:3BhPSiw8xmppbgzeBbmDvmSWlwouuJkXsXsb8UBih9M= +cloud.google.com/go/datafusion v1.4.0/go.mod h1:1Zb6VN+W6ALo85cXnM1IKiPw+yQMKMhB9TsTSRDo/38= +cloud.google.com/go/datafusion v1.5.0/go.mod h1:Kz+l1FGHB0J+4XF2fud96WMmRiq/wj8N9u007vyXZ2w= +cloud.google.com/go/datafusion v1.6.0/go.mod h1:WBsMF8F1RhSXvVM8rCV3AeyWVxcC2xY6vith3iw3S+8= +cloud.google.com/go/datafusion v1.7.1/go.mod h1:KpoTBbFmoToDExJUso/fcCiguGDk7MEzOWXUsJo0wsI= +cloud.google.com/go/datalabeling v0.5.0/go.mod h1:TGcJ0G2NzcsXSE/97yWjIZO0bXj0KbVlINXMG9ud42I= +cloud.google.com/go/datalabeling v0.6.0/go.mod h1:WqdISuk/+WIGeMkpw/1q7bK/tFEZxsrFJOJdY2bXvTQ= +cloud.google.com/go/datalabeling v0.7.0/go.mod h1:WPQb1y08RJbmpM3ww0CSUAGweL0SxByuW2E+FU+wXcM= +cloud.google.com/go/datalabeling v0.8.1/go.mod h1:XS62LBSVPbYR54GfYQsPXZjTW8UxCK2fkDciSrpRFdY= +cloud.google.com/go/dataplex v1.3.0/go.mod h1:hQuRtDg+fCiFgC8j0zV222HvzFQdRd+SVX8gdmFcZzA= +cloud.google.com/go/dataplex v1.4.0/go.mod h1:X51GfLXEMVJ6UN47ESVqvlsRplbLhcsAt0kZCCKsU0A= +cloud.google.com/go/dataplex v1.5.2/go.mod h1:cVMgQHsmfRoI5KFYq4JtIBEUbYwc3c7tXmIDhRmNNVQ= +cloud.google.com/go/dataplex v1.6.0/go.mod h1:bMsomC/aEJOSpHXdFKFGQ1b0TDPIeL28nJObeO1ppRs= +cloud.google.com/go/dataplex v1.8.1/go.mod h1:7TyrDT6BCdI8/38Uvp0/ZxBslOslP2X2MPDucliyvSE= +cloud.google.com/go/dataplex v1.9.0/go.mod h1:7TyrDT6BCdI8/38Uvp0/ZxBslOslP2X2MPDucliyvSE= +cloud.google.com/go/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= +cloud.google.com/go/dataqna v0.8.1/go.mod h1:zxZM0Bl6liMePWsHA8RMGAfmTG34vJMapbHAxQ5+WA8= +cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= +cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= +cloud.google.com/go/datastore v1.10.0/go.mod h1:PC5UzAmDEkAmkfaknstTYbNpgE49HAgW2J1gcgUfmdM= +cloud.google.com/go/datastore v1.11.0/go.mod h1:TvGxBIHCS50u8jzG+AW/ppf87v1of8nwzFNgEZU1D3c= +cloud.google.com/go/datastore v1.12.0/go.mod h1:KjdB88W897MRITkvWWJrg2OUtrR5XVj1EoLgSp6/N70= +cloud.google.com/go/datastore v1.12.1/go.mod h1:KjdB88W897MRITkvWWJrg2OUtrR5XVj1EoLgSp6/N70= +cloud.google.com/go/datastore v1.13.0/go.mod h1:KjdB88W897MRITkvWWJrg2OUtrR5XVj1EoLgSp6/N70= +cloud.google.com/go/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= +cloud.google.com/go/datastream v1.5.0/go.mod h1:6TZMMNPwjUqZHBKPQ1wwXpb0d5VDVPl2/XoS5yi88q4= +cloud.google.com/go/datastream v1.6.0/go.mod h1:6LQSuswqLa7S4rPAOZFVjHIG3wJIjZcZrw8JDEDJuIs= +cloud.google.com/go/datastream v1.7.0/go.mod h1:uxVRMm2elUSPuh65IbZpzJNMbuzkcvu5CjMqVIUHrww= +cloud.google.com/go/datastream v1.9.1/go.mod h1:hqnmr8kdUBmrnk65k5wNRoHSCYksvpdZIcZIEl8h43Q= +cloud.google.com/go/datastream v1.10.0/go.mod h1:hqnmr8kdUBmrnk65k5wNRoHSCYksvpdZIcZIEl8h43Q= +cloud.google.com/go/deploy v1.4.0/go.mod h1:5Xghikd4VrmMLNaF6FiRFDlHb59VM59YoDQnOUdsH/c= +cloud.google.com/go/deploy v1.5.0/go.mod h1:ffgdD0B89tToyW/U/D2eL0jN2+IEV/3EMuXHA0l4r+s= +cloud.google.com/go/deploy v1.6.0/go.mod h1:f9PTHehG/DjCom3QH0cntOVRm93uGBDt2vKzAPwpXQI= +cloud.google.com/go/deploy v1.8.0/go.mod h1:z3myEJnA/2wnB4sgjqdMfgxCA0EqC3RBTNcVPs93mtQ= +cloud.google.com/go/deploy v1.11.0/go.mod h1:tKuSUV5pXbn67KiubiUNUejqLs4f5cxxiCNCeyl0F2g= +cloud.google.com/go/deploy v1.13.0/go.mod h1:tKuSUV5pXbn67KiubiUNUejqLs4f5cxxiCNCeyl0F2g= +cloud.google.com/go/dialogflow v1.15.0/go.mod h1:HbHDWs33WOGJgn6rfzBW1Kv807BE3O1+xGbn59zZWI4= +cloud.google.com/go/dialogflow v1.16.1/go.mod h1:po6LlzGfK+smoSmTBnbkIZY2w8ffjz/RcGSS+sh1el0= +cloud.google.com/go/dialogflow v1.17.0/go.mod h1:YNP09C/kXA1aZdBgC/VtXX74G/TKn7XVCcVumTflA+8= +cloud.google.com/go/dialogflow v1.18.0/go.mod h1:trO7Zu5YdyEuR+BhSNOqJezyFQ3aUzz0njv7sMx/iek= +cloud.google.com/go/dialogflow v1.19.0/go.mod h1:JVmlG1TwykZDtxtTXujec4tQ+D8SBFMoosgy+6Gn0s0= +cloud.google.com/go/dialogflow v1.29.0/go.mod h1:b+2bzMe+k1s9V+F2jbJwpHPzrnIyHihAdRFMtn2WXuM= +cloud.google.com/go/dialogflow v1.31.0/go.mod h1:cuoUccuL1Z+HADhyIA7dci3N5zUssgpBJmCzI6fNRB4= +cloud.google.com/go/dialogflow v1.32.0/go.mod h1:jG9TRJl8CKrDhMEcvfcfFkkpp8ZhgPz3sBGmAUYJ2qE= +cloud.google.com/go/dialogflow v1.38.0/go.mod h1:L7jnH+JL2mtmdChzAIcXQHXMvQkE3U4hTaNltEuxXn4= +cloud.google.com/go/dialogflow v1.40.0/go.mod h1:L7jnH+JL2mtmdChzAIcXQHXMvQkE3U4hTaNltEuxXn4= +cloud.google.com/go/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= +cloud.google.com/go/dlp v1.10.1/go.mod h1:IM8BWz1iJd8njcNcG0+Kyd9OPnqnRNkDV8j42VT5KOI= +cloud.google.com/go/documentai v1.7.0/go.mod h1:lJvftZB5NRiFSX4moiye1SMxHx0Bc3x1+p9e/RfXYiU= +cloud.google.com/go/documentai v1.8.0/go.mod h1:xGHNEB7CtsnySCNrCFdCyyMz44RhFEEX2Q7UD0c5IhU= +cloud.google.com/go/documentai v1.9.0/go.mod h1:FS5485S8R00U10GhgBC0aNGrJxBP8ZVpEeJ7PQDZd6k= +cloud.google.com/go/documentai v1.10.0/go.mod h1:vod47hKQIPeCfN2QS/jULIvQTugbmdc0ZvxxfQY1bg4= +cloud.google.com/go/documentai v1.16.0/go.mod h1:o0o0DLTEZ+YnJZ+J4wNfTxmDVyrkzFvttBXXtYRMHkM= +cloud.google.com/go/documentai v1.18.0/go.mod h1:F6CK6iUH8J81FehpskRmhLq/3VlwQvb7TvwOceQ2tbs= +cloud.google.com/go/documentai v1.20.0/go.mod h1:yJkInoMcK0qNAEdRnqY/D5asy73tnPe88I1YTZT+a8E= +cloud.google.com/go/documentai v1.22.0/go.mod h1:yJkInoMcK0qNAEdRnqY/D5asy73tnPe88I1YTZT+a8E= +cloud.google.com/go/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= +cloud.google.com/go/domains v0.9.1/go.mod h1:aOp1c0MbejQQ2Pjf1iJvnVyT+z6R6s8pX66KaCSDYfE= +cloud.google.com/go/edgecontainer v0.1.0/go.mod h1:WgkZ9tp10bFxqO8BLPqv2LlfmQF1X8lZqwW4r1BTajk= +cloud.google.com/go/edgecontainer v0.2.0/go.mod h1:RTmLijy+lGpQ7BXuTDa4C4ssxyXT34NIuHIgKuP4s5w= +cloud.google.com/go/edgecontainer v0.3.0/go.mod h1:FLDpP4nykgwwIfcLt6zInhprzw0lEi2P1fjO6Ie0qbc= +cloud.google.com/go/edgecontainer v1.0.0/go.mod h1:cttArqZpBB2q58W/upSG++ooo6EsblxDIolxa3jSjbY= +cloud.google.com/go/edgecontainer v1.1.1/go.mod h1:O5bYcS//7MELQZs3+7mabRqoWQhXCzenBu0R8bz2rwk= +cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= +cloud.google.com/go/essentialcontacts v1.3.0/go.mod h1:r+OnHa5jfj90qIfZDO/VztSFqbQan7HV75p8sA+mdGI= +cloud.google.com/go/essentialcontacts v1.4.0/go.mod h1:8tRldvHYsmnBCHdFpvU+GL75oWiBKl80BiqlFh9tp+8= +cloud.google.com/go/essentialcontacts v1.5.0/go.mod h1:ay29Z4zODTuwliK7SnX8E86aUF2CTzdNtvv42niCX0M= +cloud.google.com/go/essentialcontacts v1.6.2/go.mod h1:T2tB6tX+TRak7i88Fb2N9Ok3PvY3UNbUsMag9/BARh4= +cloud.google.com/go/eventarc v1.7.0/go.mod h1:6ctpF3zTnaQCxUjHUdcfgcA1A2T309+omHZth7gDfmc= +cloud.google.com/go/eventarc v1.8.0/go.mod h1:imbzxkyAU4ubfsaKYdQg04WS1NvncblHEup4kvF+4gw= +cloud.google.com/go/eventarc v1.10.0/go.mod h1:u3R35tmZ9HvswGRBnF48IlYgYeBcPUCjkr4BTdem2Kw= +cloud.google.com/go/eventarc v1.11.0/go.mod h1:PyUjsUKPWoRBCHeOxZd/lbOOjahV41icXyUY5kSTvVY= +cloud.google.com/go/eventarc v1.12.1/go.mod h1:mAFCW6lukH5+IZjkvrEss+jmt2kOdYlN8aMx3sRJiAI= +cloud.google.com/go/eventarc v1.13.0/go.mod h1:mAFCW6lukH5+IZjkvrEss+jmt2kOdYlN8aMx3sRJiAI= +cloud.google.com/go/filestore v1.3.0/go.mod h1:+qbvHGvXU1HaKX2nD0WEPo92TP/8AQuCVEBXNY9z0+w= +cloud.google.com/go/filestore v1.4.0/go.mod h1:PaG5oDfo9r224f8OYXURtAsY+Fbyq/bLYoINEK8XQAI= +cloud.google.com/go/filestore v1.5.0/go.mod h1:FqBXDWBp4YLHqRnVGveOkHDf8svj9r5+mUDLupOWEDs= +cloud.google.com/go/filestore v1.6.0/go.mod h1:di5unNuss/qfZTw2U9nhFqo8/ZDSc466dre85Kydllg= +cloud.google.com/go/filestore v1.7.1/go.mod h1:y10jsorq40JJnjR/lQ8AfFbbcGlw3g+Dp8oN7i7FjV4= +cloud.google.com/go/firestore v1.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= +cloud.google.com/go/functions v1.9.0/go.mod h1:Y+Dz8yGguzO3PpIjhLTbnqV1CWmgQ5UwtlpzoyquQ08= +cloud.google.com/go/functions v1.10.0/go.mod h1:0D3hEOe3DbEvCXtYOZHQZmD+SzYsi1YbI7dGvHfldXw= +cloud.google.com/go/functions v1.12.0/go.mod h1:AXWGrF3e2C/5ehvwYo/GH6O5s09tOPksiKhz+hH8WkA= +cloud.google.com/go/functions v1.13.0/go.mod h1:EU4O007sQm6Ef/PwRsI8N2umygGqPBS/IZQKBQBcJ3c= +cloud.google.com/go/functions v1.15.1/go.mod h1:P5yNWUTkyU+LvW/S9O6V+V423VZooALQlqoXdoPz5AE= +cloud.google.com/go/gaming v1.5.0/go.mod h1:ol7rGcxP/qHTRQE/RO4bxkXq+Fix0j6D4LFPzYTIrDM= +cloud.google.com/go/gaming v1.6.0/go.mod h1:YMU1GEvA39Qt3zWGyAVA9bpYz/yAhTvaQ1t2sK4KPUA= +cloud.google.com/go/gaming v1.7.0/go.mod h1:LrB8U7MHdGgFG851iHAfqUdLcKBdQ55hzXy9xBJz0+w= +cloud.google.com/go/gaming v1.8.0/go.mod h1:xAqjS8b7jAVW0KFYeRUxngo9My3f33kFmua++Pi+ggM= +cloud.google.com/go/gaming v1.9.0/go.mod h1:Fc7kEmCObylSWLO334NcO+O9QMDyz+TKC4v1D7X+Bc0= +cloud.google.com/go/gaming v1.10.1/go.mod h1:XQQvtfP8Rb9Rxnxm5wFVpAp9zCQkJi2bLIb7iHGwB3s= +cloud.google.com/go/gkebackup v0.2.0/go.mod h1:XKvv/4LfG829/B8B7xRkk8zRrOEbKtEam6yNfuQNH60= +cloud.google.com/go/gkebackup v0.3.0/go.mod h1:n/E671i1aOQvUxT541aTkCwExO/bTer2HDlj4TsBRAo= +cloud.google.com/go/gkebackup v0.4.0/go.mod h1:byAyBGUwYGEEww7xsbnUTBHIYcOPy/PgUWUtOeRm9Vg= +cloud.google.com/go/gkebackup v1.3.0/go.mod h1:vUDOu++N0U5qs4IhG1pcOnD1Mac79xWy6GoBFlWCWBU= +cloud.google.com/go/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= +cloud.google.com/go/gkeconnect v0.8.1/go.mod h1:KWiK1g9sDLZqhxB2xEuPV8V9NYzrqTUmQR9shJHpOZw= +cloud.google.com/go/gkehub v0.9.0/go.mod h1:WYHN6WG8w9bXU0hqNxt8rm5uxnk8IH+lPY9J2TV7BK0= +cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y977wO+hBH0= +cloud.google.com/go/gkehub v0.11.0/go.mod h1:JOWHlmN+GHyIbuWQPl47/C2RFhnFKH38jH9Ascu3n0E= +cloud.google.com/go/gkehub v0.12.0/go.mod h1:djiIwwzTTBrF5NaXCGv3mf7klpEMcST17VBTVVDcuaw= +cloud.google.com/go/gkehub v0.14.1/go.mod h1:VEXKIJZ2avzrbd7u+zeMtW00Y8ddk/4V9511C9CQGTY= +cloud.google.com/go/gkemulticloud v0.3.0/go.mod h1:7orzy7O0S+5kq95e4Hpn7RysVA7dPs8W/GgfUtsPbrA= +cloud.google.com/go/gkemulticloud v0.4.0/go.mod h1:E9gxVBnseLWCk24ch+P9+B2CoDFJZTyIgLKSalC7tuI= +cloud.google.com/go/gkemulticloud v0.5.0/go.mod h1:W0JDkiyi3Tqh0TJr//y19wyb1yf8llHVto2Htf2Ja3Y= +cloud.google.com/go/gkemulticloud v0.6.1/go.mod h1:kbZ3HKyTsiwqKX7Yw56+wUGwwNZViRnxWK2DVknXWfw= +cloud.google.com/go/gkemulticloud v1.0.0/go.mod h1:kbZ3HKyTsiwqKX7Yw56+wUGwwNZViRnxWK2DVknXWfw= +cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= +cloud.google.com/go/grafeas v0.3.0/go.mod h1:P7hgN24EyONOTMyeJH6DxG4zD7fwiYa5Q6GUgyFSOU8= +cloud.google.com/go/gsuiteaddons v1.3.0/go.mod h1:EUNK/J1lZEZO8yPtykKxLXI6JSVN2rg9bN8SXOa0bgM= +cloud.google.com/go/gsuiteaddons v1.4.0/go.mod h1:rZK5I8hht7u7HxFQcFei0+AtfS9uSushomRlg+3ua1o= +cloud.google.com/go/gsuiteaddons v1.5.0/go.mod h1:TFCClYLd64Eaa12sFVmUyG62tk4mdIsI7pAnSXRkcFo= +cloud.google.com/go/gsuiteaddons v1.6.1/go.mod h1:CodrdOqRZcLp5WOwejHWYBjZvfY0kOphkAKpF/3qdZY= +cloud.google.com/go/iam v0.1.0/go.mod h1:vcUNEa0pEm0qRVpmWepWaFMIAI8/hjB9mO8rNCJtF6c= +cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= +cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc= +cloud.google.com/go/iam v0.6.0/go.mod h1:+1AH33ueBne5MzYccyMHtEKqLE4/kJOibtffMHDMFMc= +cloud.google.com/go/iam v0.7.0/go.mod h1:H5Br8wRaDGNc8XP3keLc4unfUUZeyH3Sfl9XpQEYOeg= +cloud.google.com/go/iam v0.8.0/go.mod h1:lga0/y3iH6CX7sYqypWJ33hf7kkfXJag67naqGESjkE= +cloud.google.com/go/iam v0.11.0/go.mod h1:9PiLDanza5D+oWFZiH1uG+RnRCfEGKoyl6yo4cgWZGY= +cloud.google.com/go/iam v0.12.0/go.mod h1:knyHGviacl11zrtZUoDuYpDgLjvr28sLQaG0YB2GYAY= +cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0= +cloud.google.com/go/iam v1.0.1/go.mod h1:yR3tmSL8BcZB4bxByRv2jkSIahVmCtfKZwLYGBalRE8= +cloud.google.com/go/iam v1.1.0/go.mod h1:nxdHjaKfCr7fNYx/HJMM8LgiMugmveWlkatear5gVyk= +cloud.google.com/go/iam v1.1.1/go.mod h1:A5avdyVL2tCppe4unb0951eI9jreack+RJ0/d+KUZOU= +cloud.google.com/go/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= +cloud.google.com/go/ids v1.4.1/go.mod h1:np41ed8YMU8zOgv53MMMoCntLTn2lF+SUzlM+O3u/jw= +cloud.google.com/go/iot v1.3.0/go.mod h1:r7RGh2B61+B8oz0AGE+J72AhA0G7tdXItODWsaA2oLs= +cloud.google.com/go/iot v1.4.0/go.mod h1:dIDxPOn0UvNDUMD8Ger7FIaTuvMkj+aGk94RPP0iV+g= +cloud.google.com/go/iot v1.5.0/go.mod h1:mpz5259PDl3XJthEmh9+ap0affn/MqNSP4My77Qql9o= +cloud.google.com/go/iot v1.6.0/go.mod h1:IqdAsmE2cTYYNO1Fvjfzo9po179rAtJeVGUvkLN3rLE= +cloud.google.com/go/iot v1.7.1/go.mod h1:46Mgw7ev1k9KqK1ao0ayW9h0lI+3hxeanz+L1zmbbbk= +cloud.google.com/go/kms v1.4.0/go.mod h1:fajBHndQ+6ubNw6Ss2sSd+SWvjL26RNo/dr7uxsnnOA= +cloud.google.com/go/kms v1.5.0/go.mod h1:QJS2YY0eJGBg3mnDfuaCyLauWwBJiHRboYxJ++1xJNg= +cloud.google.com/go/kms v1.6.0/go.mod h1:Jjy850yySiasBUDi6KFUwUv2n1+o7QZFyuUJg6OgjA0= +cloud.google.com/go/kms v1.8.0/go.mod h1:4xFEhYFqvW+4VMELtZyxomGSYtSQKzM178ylFW4jMAg= +cloud.google.com/go/kms v1.9.0/go.mod h1:qb1tPTgfF9RQP8e1wq4cLFErVuTJv7UsSC915J8dh3w= +cloud.google.com/go/kms v1.10.0/go.mod h1:ng3KTUtQQU9bPX3+QGLsflZIHlkbn8amFAMY63m8d24= +cloud.google.com/go/kms v1.10.1/go.mod h1:rIWk/TryCkR59GMC3YtHtXeLzd634lBbKenvyySAyYI= +cloud.google.com/go/kms v1.11.0/go.mod h1:hwdiYC0xjnWsKQQCQQmIQnS9asjYVSK6jtXm+zFqXLM= +cloud.google.com/go/kms v1.12.1/go.mod h1:c9J991h5DTl+kg7gi3MYomh12YEENGrf48ee/N/2CDM= +cloud.google.com/go/kms v1.15.0/go.mod h1:c9J991h5DTl+kg7gi3MYomh12YEENGrf48ee/N/2CDM= +cloud.google.com/go/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= +cloud.google.com/go/longrunning v0.4.2/go.mod h1:OHrnaYyLUV6oqwh0xiS7e5sLQhP1m0QU9R+WhGDMgIQ= +cloud.google.com/go/longrunning v0.5.0/go.mod h1:0JNuqRShmscVAhIACGtskSAWtqtOoPkwP0YF1oVEchc= +cloud.google.com/go/longrunning v0.5.1/go.mod h1:spvimkwdz6SPWKEt/XBij79E9fiTkHSQl/fRUUQJYJc= +cloud.google.com/go/managedidentities v1.3.0/go.mod h1:UzlW3cBOiPrzucO5qWkNkh0w33KFtBJU281hacNvsdE= +cloud.google.com/go/managedidentities v1.4.0/go.mod h1:NWSBYbEMgqmbZsLIyKvxrYbtqOsxY1ZrGM+9RgDqInM= +cloud.google.com/go/managedidentities v1.5.0/go.mod h1:+dWcZ0JlUmpuxpIDfyP5pP5y0bLdRwOS4Lp7gMni/LA= +cloud.google.com/go/managedidentities v1.6.1/go.mod h1:h/irGhTN2SkZ64F43tfGPMbHnypMbu4RB3yl8YcuEak= +cloud.google.com/go/maps v0.1.0/go.mod h1:BQM97WGyfw9FWEmQMpZ5T6cpovXXSd1cGmFma94eubI= +cloud.google.com/go/maps v0.6.0/go.mod h1:o6DAMMfb+aINHz/p/jbcY+mYeXBoZoxTfdSQ8VAJaCw= +cloud.google.com/go/maps v0.7.0/go.mod h1:3GnvVl3cqeSvgMcpRlQidXsPYuDGQ8naBis7MVzpXsY= +cloud.google.com/go/maps v1.3.0/go.mod h1:6mWTUv+WhnOwAgjVsSW2QPPECmW+s3PcRyOa9vgG/5s= +cloud.google.com/go/maps v1.4.0/go.mod h1:6mWTUv+WhnOwAgjVsSW2QPPECmW+s3PcRyOa9vgG/5s= +cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= +cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w= +cloud.google.com/go/mediatranslation v0.7.0/go.mod h1:LCnB/gZr90ONOIQLgSXagp8XUW1ODs2UmUMvcgMfI2I= +cloud.google.com/go/mediatranslation v0.8.1/go.mod h1:L/7hBdEYbYHQJhX2sldtTO5SZZ1C1vkapubj0T2aGig= +cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE= +cloud.google.com/go/memcache v1.5.0/go.mod h1:dk3fCK7dVo0cUU2c36jKb4VqKPS22BTkf81Xq617aWM= +cloud.google.com/go/memcache v1.6.0/go.mod h1:XS5xB0eQZdHtTuTF9Hf8eJkKtR3pVRCcvJwtm68T3rA= +cloud.google.com/go/memcache v1.7.0/go.mod h1:ywMKfjWhNtkQTxrWxCkCFkoPjLHPW6A7WOTVI8xy3LY= +cloud.google.com/go/memcache v1.9.0/go.mod h1:8oEyzXCu+zo9RzlEaEjHl4KkgjlNDaXbCQeQWlzNFJM= +cloud.google.com/go/memcache v1.10.1/go.mod h1:47YRQIarv4I3QS5+hoETgKO40InqzLP6kpNLvyXuyaA= +cloud.google.com/go/metastore v1.5.0/go.mod h1:2ZNrDcQwghfdtCwJ33nM0+GrBGlVuh8rakL3vdPY3XY= +cloud.google.com/go/metastore v1.6.0/go.mod h1:6cyQTls8CWXzk45G55x57DVQ9gWg7RiH65+YgPsNh9s= +cloud.google.com/go/metastore v1.7.0/go.mod h1:s45D0B4IlsINu87/AsWiEVYbLaIMeUSoxlKKDqBGFS8= +cloud.google.com/go/metastore v1.8.0/go.mod h1:zHiMc4ZUpBiM7twCIFQmJ9JMEkDSyZS9U12uf7wHqSI= +cloud.google.com/go/metastore v1.10.0/go.mod h1:fPEnH3g4JJAk+gMRnrAnoqyv2lpUCqJPWOodSaf45Eo= +cloud.google.com/go/metastore v1.11.1/go.mod h1:uZuSo80U3Wd4zi6C22ZZliOUJ3XeM/MlYi/z5OAOWRA= +cloud.google.com/go/metastore v1.12.0/go.mod h1:uZuSo80U3Wd4zi6C22ZZliOUJ3XeM/MlYi/z5OAOWRA= +cloud.google.com/go/monitoring v1.7.0/go.mod h1:HpYse6kkGo//7p6sT0wsIC6IBDET0RhIsnmlA53dvEk= +cloud.google.com/go/monitoring v1.8.0/go.mod h1:E7PtoMJ1kQXWxPjB6mv2fhC5/15jInuulFdYYtlcvT4= +cloud.google.com/go/monitoring v1.12.0/go.mod h1:yx8Jj2fZNEkL/GYZyTLS4ZtZEZN8WtDEiEqG4kLK50w= +cloud.google.com/go/monitoring v1.13.0/go.mod h1:k2yMBAB1H9JT/QETjNkgdCGD9bPF712XiLTVr+cBrpw= +cloud.google.com/go/monitoring v1.15.1/go.mod h1:lADlSAlFdbqQuwwpaImhsJXu1QSdd3ojypXrFSMr2rM= +cloud.google.com/go/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= +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/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= +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/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= +cloud.google.com/go/orchestration v1.8.1/go.mod h1:4sluRF3wgbYVRqz7zJ1/EUNc90TTprliq9477fGobD8= +cloud.google.com/go/orgpolicy v1.4.0/go.mod h1:xrSLIV4RePWmP9P3tBl8S93lTmlAxjm06NSm2UTmKvE= +cloud.google.com/go/orgpolicy v1.5.0/go.mod h1:hZEc5q3wzwXJaKrsx5+Ewg0u1LxJ51nNFlext7Tanwc= +cloud.google.com/go/orgpolicy v1.10.0/go.mod h1:w1fo8b7rRqlXlIJbVhOMPrwVljyuW5mqssvBtU18ONc= +cloud.google.com/go/orgpolicy v1.11.0/go.mod h1:2RK748+FtVvnfuynxBzdnyu7sygtoZa1za/0ZfpOs1M= +cloud.google.com/go/orgpolicy v1.11.1/go.mod h1:8+E3jQcpZJQliP+zaFfayC2Pg5bmhuLK755wKhIIUCE= +cloud.google.com/go/osconfig v1.7.0/go.mod h1:oVHeCeZELfJP7XLxcBGTMBvRO+1nQ5tFG9VQTmYS2Fs= +cloud.google.com/go/osconfig v1.8.0/go.mod h1:EQqZLu5w5XA7eKizepumcvWx+m8mJUhEwiPqWiZeEdg= +cloud.google.com/go/osconfig v1.9.0/go.mod h1:Yx+IeIZJ3bdWmzbQU4fxNl8xsZ4amB+dygAwFPlvnNo= +cloud.google.com/go/osconfig v1.10.0/go.mod h1:uMhCzqC5I8zfD9zDEAfvgVhDS8oIjySWh+l4WK6GnWw= +cloud.google.com/go/osconfig v1.11.0/go.mod h1:aDICxrur2ogRd9zY5ytBLV89KEgT2MKB2L/n6x1ooPw= +cloud.google.com/go/osconfig v1.12.0/go.mod h1:8f/PaYzoS3JMVfdfTubkowZYGmAhUCjjwnjqWI7NVBc= +cloud.google.com/go/osconfig v1.12.1/go.mod h1:4CjBxND0gswz2gfYRCUoUzCm9zCABp91EeTtWXyz0tE= +cloud.google.com/go/oslogin v1.4.0/go.mod h1:YdgMXWRaElXz/lDk1Na6Fh5orF7gvmJ0FGLIs9LId4E= +cloud.google.com/go/oslogin v1.5.0/go.mod h1:D260Qj11W2qx/HVF29zBg+0fd6YCSjSqLUkY/qEenQU= +cloud.google.com/go/oslogin v1.6.0/go.mod h1:zOJ1O3+dTU8WPlGEkFSh7qeHPPSoxrcMbbK1Nm2iX70= +cloud.google.com/go/oslogin v1.7.0/go.mod h1:e04SN0xO1UNJ1M5GP0vzVBFicIe4O53FOfcixIqTyXo= +cloud.google.com/go/oslogin v1.9.0/go.mod h1:HNavntnH8nzrn8JCTT5fj18FuJLFJc4NaZJtBnQtKFs= +cloud.google.com/go/oslogin v1.10.1/go.mod h1:x692z7yAue5nE7CsSnoG0aaMbNoRJRXO4sn73R+ZqAs= +cloud.google.com/go/phishingprotection v0.5.0/go.mod h1:Y3HZknsK9bc9dMi+oE8Bim0lczMU6hrX0UpADuMefr0= +cloud.google.com/go/phishingprotection v0.6.0/go.mod h1:9Y3LBLgy0kDTcYET8ZH3bq/7qni15yVUoAxiFxnlSUA= +cloud.google.com/go/phishingprotection v0.7.0/go.mod h1:8qJI4QKHoda/sb/7/YmMQ2omRLSLYSu9bU0EKCNI+Lk= +cloud.google.com/go/phishingprotection v0.8.1/go.mod h1:AxonW7GovcA8qdEk13NfHq9hNx5KPtfxXNeUxTDxB6I= +cloud.google.com/go/policytroubleshooter v1.3.0/go.mod h1:qy0+VwANja+kKrjlQuOzmlvscn4RNsAc0e15GGqfMxg= +cloud.google.com/go/policytroubleshooter v1.4.0/go.mod h1:DZT4BcRw3QoO8ota9xw/LKtPa8lKeCByYeKTIf/vxdE= +cloud.google.com/go/policytroubleshooter v1.5.0/go.mod h1:Rz1WfV+1oIpPdN2VvvuboLVRsB1Hclg3CKQ53j9l8vw= +cloud.google.com/go/policytroubleshooter v1.6.0/go.mod h1:zYqaPTsmfvpjm5ULxAyD/lINQxJ0DDsnWOP/GZ7xzBc= +cloud.google.com/go/policytroubleshooter v1.7.1/go.mod h1:0NaT5v3Ag1M7U5r0GfDCpUFkWd9YqpubBWsQlhanRv0= +cloud.google.com/go/policytroubleshooter v1.8.0/go.mod h1:tmn5Ir5EToWe384EuboTcVQT7nTag2+DuH3uHmKd1HU= +cloud.google.com/go/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= +cloud.google.com/go/privatecatalog v0.8.0/go.mod h1:nQ6pfaegeDAq/Q5lrfCQzQLhubPiZhSaNhIgfJlnIXs= +cloud.google.com/go/privatecatalog v0.9.1/go.mod h1:0XlDXW2unJXdf9zFz968Hp35gl/bhF4twwpXZAW50JA= +cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= +cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= +cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= +cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= +cloud.google.com/go/pubsub v1.26.0/go.mod h1:QgBH3U/jdJy/ftjPhTkyXNj543Tin1pRYcdcPRnFIRI= +cloud.google.com/go/pubsub v1.27.1/go.mod h1:hQN39ymbV9geqBnfQq6Xf63yNhUAhv9CZhzp5O6qsW0= +cloud.google.com/go/pubsub v1.28.0/go.mod h1:vuXFpwaVoIPQMGXqRyUQigu/AX1S3IWugR9xznmcXX8= +cloud.google.com/go/pubsub v1.30.0/go.mod h1:qWi1OPS0B+b5L+Sg6Gmc9zD1Y+HaM0MdUr7LsupY1P4= +cloud.google.com/go/pubsub v1.32.0/go.mod h1:f+w71I33OMyxf9VpMVcZbnG5KSUkCOUHYpFd5U1GdRc= +cloud.google.com/go/pubsub v1.33.0/go.mod h1:f+w71I33OMyxf9VpMVcZbnG5KSUkCOUHYpFd5U1GdRc= +cloud.google.com/go/pubsublite v1.5.0/go.mod h1:xapqNQ1CuLfGi23Yda/9l4bBCKz/wC3KIJ5gKcxveZg= +cloud.google.com/go/pubsublite v1.6.0/go.mod h1:1eFCS0U11xlOuMFV/0iBqw3zP12kddMeCbj/F3FSj9k= +cloud.google.com/go/pubsublite v1.7.0/go.mod h1:8hVMwRXfDfvGm3fahVbtDbiLePT3gpoiJYJY+vxWxVM= +cloud.google.com/go/pubsublite v1.8.1/go.mod h1:fOLdU4f5xldK4RGJrBMm+J7zMWNj/k4PxwEZXy39QS0= +cloud.google.com/go/recaptchaenterprise v1.3.1/go.mod h1:OdD+q+y4XGeAlxRaMn1Y7/GveP6zmq76byL6tjPE7d4= +cloud.google.com/go/recaptchaenterprise/v2 v2.1.0/go.mod h1:w9yVqajwroDNTfGuhmOjPDN//rZGySaf6PtFVcSCa7o= +cloud.google.com/go/recaptchaenterprise/v2 v2.2.0/go.mod h1:/Zu5jisWGeERrd5HnlS3EUGb/D335f9k51B/FVil0jk= +cloud.google.com/go/recaptchaenterprise/v2 v2.3.0/go.mod h1:O9LwGCjrhGHBQET5CA7dd5NwwNQUErSgEDit1DLNTdo= +cloud.google.com/go/recaptchaenterprise/v2 v2.4.0/go.mod h1:Am3LHfOuBstrLrNCBrlI5sbwx9LBg3te2N6hGvHn2mE= +cloud.google.com/go/recaptchaenterprise/v2 v2.5.0/go.mod h1:O8LzcHXN3rz0j+LBC91jrwI3R+1ZSZEWrfL7XHgNo9U= +cloud.google.com/go/recaptchaenterprise/v2 v2.6.0/go.mod h1:RPauz9jeLtB3JVzg6nCbe12qNoaa8pXc4d/YukAmcnA= +cloud.google.com/go/recaptchaenterprise/v2 v2.7.0/go.mod h1:19wVj/fs5RtYtynAPJdDTb69oW0vNHYDBTbB4NvMD9c= +cloud.google.com/go/recaptchaenterprise/v2 v2.7.2/go.mod h1:kR0KjsJS7Jt1YSyWFkseQ756D45kaYNTlDPPaRAvDBU= +cloud.google.com/go/recommendationengine v0.5.0/go.mod h1:E5756pJcVFeVgaQv3WNpImkFP8a+RptV6dDLGPILjvg= +cloud.google.com/go/recommendationengine v0.6.0/go.mod h1:08mq2umu9oIqc7tDy8sx+MNJdLG0fUi3vaSVbztHgJ4= +cloud.google.com/go/recommendationengine v0.7.0/go.mod h1:1reUcE3GIu6MeBz/h5xZJqNLuuVjNg1lmWMPyjatzac= +cloud.google.com/go/recommendationengine v0.8.1/go.mod h1:MrZihWwtFYWDzE6Hz5nKcNz3gLizXVIDI/o3G1DLcrE= +cloud.google.com/go/recommender v1.5.0/go.mod h1:jdoeiBIVrJe9gQjwd759ecLJbxCDED4A6p+mqoqDvTg= +cloud.google.com/go/recommender v1.6.0/go.mod h1:+yETpm25mcoiECKh9DEScGzIRyDKpZ0cEhWGo+8bo+c= +cloud.google.com/go/recommender v1.7.0/go.mod h1:XLHs/W+T8olwlGOgfQenXBTbIseGclClff6lhFVe9Bs= +cloud.google.com/go/recommender v1.8.0/go.mod h1:PkjXrTT05BFKwxaUxQmtIlrtj0kph108r02ZZQ5FE70= +cloud.google.com/go/recommender v1.9.0/go.mod h1:PnSsnZY7q+VL1uax2JWkt/UegHssxjUVVCrX52CuEmQ= +cloud.google.com/go/recommender v1.10.1/go.mod h1:XFvrE4Suqn5Cq0Lf+mCP6oBHD/yRMA8XxP5sb7Q7gpA= +cloud.google.com/go/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= +cloud.google.com/go/redis v1.10.0/go.mod h1:ThJf3mMBQtW18JzGgh41/Wld6vnDDc/F/F35UolRZPM= +cloud.google.com/go/redis v1.11.0/go.mod h1:/X6eicana+BWcUda5PpwZC48o37SiFVTFSs0fWAJ7uQ= +cloud.google.com/go/redis v1.13.1/go.mod h1:VP7DGLpE91M6bcsDdMuyCm2hIpB6Vp2hI090Mfd1tcg= +cloud.google.com/go/resourcemanager v1.3.0/go.mod h1:bAtrTjZQFJkiWTPDb1WBjzvc6/kifjj4QBYuKCCoqKA= +cloud.google.com/go/resourcemanager v1.4.0/go.mod h1:MwxuzkumyTX7/a3n37gmsT3py7LIXwrShilPh3P1tR0= +cloud.google.com/go/resourcemanager v1.5.0/go.mod h1:eQoXNAiAvCf5PXxWxXjhKQoTMaUSNrEfg+6qdf/wots= +cloud.google.com/go/resourcemanager v1.6.0/go.mod h1:YcpXGRs8fDzcUl1Xw8uOVmI8JEadvhRIkoXXUNVYcVo= +cloud.google.com/go/resourcemanager v1.7.0/go.mod h1:HlD3m6+bwhzj9XCouqmeiGuni95NTrExfhoSrkC/3EI= +cloud.google.com/go/resourcemanager v1.9.1/go.mod h1:dVCuosgrh1tINZ/RwBufr8lULmWGOkPS8gL5gqyjdT8= +cloud.google.com/go/resourcesettings v1.3.0/go.mod h1:lzew8VfESA5DQ8gdlHwMrqZs1S9V87v3oCnKCWoOuQU= +cloud.google.com/go/resourcesettings v1.4.0/go.mod h1:ldiH9IJpcrlC3VSuCGvjR5of/ezRrOxFtpJoJo5SmXg= +cloud.google.com/go/resourcesettings v1.5.0/go.mod h1:+xJF7QSG6undsQDfsCJyqWXyBwUoJLhetkRMDRnIoXA= +cloud.google.com/go/resourcesettings v1.6.1/go.mod h1:M7mk9PIZrC5Fgsu1kZJci6mpgN8o0IUzVx3eJU3y4Jw= +cloud.google.com/go/retail v1.8.0/go.mod h1:QblKS8waDmNUhghY2TI9O3JLlFk8jybHeV4BF19FrE4= +cloud.google.com/go/retail v1.9.0/go.mod h1:g6jb6mKuCS1QKnH/dpu7isX253absFl6iE92nHwlBUY= +cloud.google.com/go/retail v1.10.0/go.mod h1:2gDk9HsL4HMS4oZwz6daui2/jmKvqShXKQuB2RZ+cCc= +cloud.google.com/go/retail v1.11.0/go.mod h1:MBLk1NaWPmh6iVFSz9MeKG/Psyd7TAgm6y/9L2B4x9Y= +cloud.google.com/go/retail v1.12.0/go.mod h1:UMkelN/0Z8XvKymXFbD4EhFJlYKRx1FGhQkVPU5kF14= +cloud.google.com/go/retail v1.14.1/go.mod h1:y3Wv3Vr2k54dLNIrCzenyKG8g8dhvhncT2NcNjb/6gE= +cloud.google.com/go/run v0.2.0/go.mod h1:CNtKsTA1sDcnqqIFR3Pb5Tq0usWxJJvsWOCPldRU3Do= +cloud.google.com/go/run v0.3.0/go.mod h1:TuyY1+taHxTjrD0ZFk2iAR+xyOXEA0ztb7U3UNA0zBo= +cloud.google.com/go/run v0.8.0/go.mod h1:VniEnuBwqjigv0A7ONfQUaEItaiCRVujlMqerPPiktM= +cloud.google.com/go/run v0.9.0/go.mod h1:Wwu+/vvg8Y+JUApMwEDfVfhetv30hCG4ZwDR/IXl2Qg= +cloud.google.com/go/run v1.2.0/go.mod h1:36V1IlDzQ0XxbQjUx6IYbw8H3TJnWvhii963WW3B/bo= +cloud.google.com/go/scheduler v1.4.0/go.mod h1:drcJBmxF3aqZJRhmkHQ9b3uSSpQoltBPGPxGAWROx6s= +cloud.google.com/go/scheduler v1.5.0/go.mod h1:ri073ym49NW3AfT6DZi21vLZrG07GXr5p3H1KxN5QlI= +cloud.google.com/go/scheduler v1.6.0/go.mod h1:SgeKVM7MIwPn3BqtcBntpLyrIJftQISRrYB5ZtT+KOk= +cloud.google.com/go/scheduler v1.7.0/go.mod h1:jyCiBqWW956uBjjPMMuX09n3x37mtyPJegEWKxRsn44= +cloud.google.com/go/scheduler v1.8.0/go.mod h1:TCET+Y5Gp1YgHT8py4nlg2Sew8nUHMqcpousDgXJVQc= +cloud.google.com/go/scheduler v1.9.0/go.mod h1:yexg5t+KSmqu+njTIh3b7oYPheFtBWGcbVUYF1GGMIc= +cloud.google.com/go/scheduler v1.10.1/go.mod h1:R63Ldltd47Bs4gnhQkmNDse5w8gBRrhObZ54PxgR2Oo= +cloud.google.com/go/secretmanager v1.6.0/go.mod h1:awVa/OXF6IiyaU1wQ34inzQNc4ISIDIrId8qE5QGgKA= +cloud.google.com/go/secretmanager v1.8.0/go.mod h1:hnVgi/bN5MYHd3Gt0SPuTPPp5ENina1/LxM+2W9U9J4= +cloud.google.com/go/secretmanager v1.9.0/go.mod h1:b71qH2l1yHmWQHt9LC80akm86mX8AL6X1MA01dW8ht4= +cloud.google.com/go/secretmanager v1.10.0/go.mod h1:MfnrdvKMPNra9aZtQFvBcvRU54hbPD8/HayQdlUgJpU= +cloud.google.com/go/secretmanager v1.11.1/go.mod h1:znq9JlXgTNdBeQk9TBW/FnR/W4uChEKGeqQWAJ8SXFw= +cloud.google.com/go/security v1.5.0/go.mod h1:lgxGdyOKKjHL4YG3/YwIL2zLqMFCKs0UbQwgyZmfJl4= +cloud.google.com/go/security v1.7.0/go.mod h1:mZklORHl6Bg7CNnnjLH//0UlAlaXqiG7Lb9PsPXLfD0= +cloud.google.com/go/security v1.8.0/go.mod h1:hAQOwgmaHhztFhiQ41CjDODdWP0+AE1B3sX4OFlq+GU= +cloud.google.com/go/security v1.9.0/go.mod h1:6Ta1bO8LXI89nZnmnsZGp9lVoVWXqsVbIq/t9dzI+2Q= +cloud.google.com/go/security v1.10.0/go.mod h1:QtOMZByJVlibUT2h9afNDWRZ1G96gVywH8T5GUSb9IA= +cloud.google.com/go/security v1.12.0/go.mod h1:rV6EhrpbNHrrxqlvW0BWAIawFWq3X90SduMJdFwtLB8= +cloud.google.com/go/security v1.13.0/go.mod h1:Q1Nvxl1PAgmeW0y3HTt54JYIvUdtcpYKVfIB8AOMZ+0= +cloud.google.com/go/security v1.15.1/go.mod h1:MvTnnbsWnehoizHi09zoiZob0iCHVcL4AUBj76h9fXA= +cloud.google.com/go/securitycenter v1.13.0/go.mod h1:cv5qNAqjY84FCN6Y9z28WlkKXyWsgLO832YiWwkCWcU= +cloud.google.com/go/securitycenter v1.14.0/go.mod h1:gZLAhtyKv85n52XYWt6RmeBdydyxfPeTrpToDPw4Auc= +cloud.google.com/go/securitycenter v1.15.0/go.mod h1:PeKJ0t8MoFmmXLXWm41JidyzI3PJjd8sXWaVqg43WWk= +cloud.google.com/go/securitycenter v1.16.0/go.mod h1:Q9GMaLQFUD+5ZTabrbujNWLtSLZIZF7SAR0wWECrjdk= +cloud.google.com/go/securitycenter v1.18.1/go.mod h1:0/25gAzCM/9OL9vVx4ChPeM/+DlfGQJDwBy/UC8AKK0= +cloud.google.com/go/securitycenter v1.19.0/go.mod h1:LVLmSg8ZkkyaNy4u7HCIshAngSQ8EcIRREP3xBnyfag= +cloud.google.com/go/securitycenter v1.23.0/go.mod h1:8pwQ4n+Y9WCWM278R8W3nF65QtY172h4S8aXyI9/hsQ= +cloud.google.com/go/servicecontrol v1.4.0/go.mod h1:o0hUSJ1TXJAmi/7fLJAedOovnujSEvjKCAFNXPQ1RaU= +cloud.google.com/go/servicecontrol v1.5.0/go.mod h1:qM0CnXHhyqKVuiZnGKrIurvVImCs8gmqWsDoqe9sU1s= +cloud.google.com/go/servicecontrol v1.10.0/go.mod h1:pQvyvSRh7YzUF2efw7H87V92mxU8FnFDawMClGCNuAA= +cloud.google.com/go/servicecontrol v1.11.0/go.mod h1:kFmTzYzTUIuZs0ycVqRHNaNhgR+UMUpw9n02l/pY+mc= +cloud.google.com/go/servicecontrol v1.11.1/go.mod h1:aSnNNlwEFBY+PWGQ2DoM0JJ/QUXqV5/ZD9DOLB7SnUk= +cloud.google.com/go/servicedirectory v1.4.0/go.mod h1:gH1MUaZCgtP7qQiI+F+A+OpeKF/HQWgtAddhTbhL2bs= +cloud.google.com/go/servicedirectory v1.5.0/go.mod h1:QMKFL0NUySbpZJ1UZs3oFAmdvVxhhxB6eJ/Vlp73dfg= +cloud.google.com/go/servicedirectory v1.6.0/go.mod h1:pUlbnWsLH9c13yGkxCmfumWEPjsRs1RlmJ4pqiNjVL4= +cloud.google.com/go/servicedirectory v1.7.0/go.mod h1:5p/U5oyvgYGYejufvxhgwjL8UVXjkuw7q5XcG10wx1U= +cloud.google.com/go/servicedirectory v1.8.0/go.mod h1:srXodfhY1GFIPvltunswqXpVxFPpZjf8nkKQT7XcXaY= +cloud.google.com/go/servicedirectory v1.9.0/go.mod h1:29je5JjiygNYlmsGz8k6o+OZ8vd4f//bQLtvzkPPT/s= +cloud.google.com/go/servicedirectory v1.10.1/go.mod h1:Xv0YVH8s4pVOwfM/1eMTl0XJ6bzIOSLDt8f8eLaGOxQ= +cloud.google.com/go/servicedirectory v1.11.0/go.mod h1:Xv0YVH8s4pVOwfM/1eMTl0XJ6bzIOSLDt8f8eLaGOxQ= +cloud.google.com/go/servicemanagement v1.4.0/go.mod h1:d8t8MDbezI7Z2R1O/wu8oTggo3BI2GKYbdG4y/SJTco= +cloud.google.com/go/servicemanagement v1.5.0/go.mod h1:XGaCRe57kfqu4+lRxaFEAuqmjzF0r+gWHjWqKqBvKFo= +cloud.google.com/go/servicemanagement v1.6.0/go.mod h1:aWns7EeeCOtGEX4OvZUWCCJONRZeFKiptqKf1D0l/Jc= +cloud.google.com/go/servicemanagement v1.8.0/go.mod h1:MSS2TDlIEQD/fzsSGfCdJItQveu9NXnUniTrq/L8LK4= +cloud.google.com/go/serviceusage v1.3.0/go.mod h1:Hya1cozXM4SeSKTAgGXgj97GlqUvF5JaoXacR1JTP/E= +cloud.google.com/go/serviceusage v1.4.0/go.mod h1:SB4yxXSaYVuUBYUml6qklyONXNLt83U0Rb+CXyhjEeU= +cloud.google.com/go/serviceusage v1.5.0/go.mod h1:w8U1JvqUqwJNPEOTQjrMHkw3IaIFLoLsPLvsE3xueec= +cloud.google.com/go/serviceusage v1.6.0/go.mod h1:R5wwQcbOWsyuOfbP9tGdAnCAc6B9DRwPG1xtWMDeuPA= +cloud.google.com/go/shell v1.3.0/go.mod h1:VZ9HmRjZBsjLGXusm7K5Q5lzzByZmJHf1d0IWHEN5X4= +cloud.google.com/go/shell v1.4.0/go.mod h1:HDxPzZf3GkDdhExzD/gs8Grqk+dmYcEjGShZgYa9URw= +cloud.google.com/go/shell v1.6.0/go.mod h1:oHO8QACS90luWgxP3N9iZVuEiSF84zNyLytb+qE2f9A= +cloud.google.com/go/shell v1.7.1/go.mod h1:u1RaM+huXFaTojTbW4g9P5emOrrmLE69KrxqQahKn4g= +cloud.google.com/go/spanner v1.41.0/go.mod h1:MLYDBJR/dY4Wt7ZaMIQ7rXOTLjYrmxLE/5ve9vFfWos= +cloud.google.com/go/spanner v1.44.0/go.mod h1:G8XIgYdOK+Fbcpbs7p2fiprDw4CaZX63whnSMLVBxjk= +cloud.google.com/go/spanner v1.45.0/go.mod h1:FIws5LowYz8YAE1J8fOS7DJup8ff7xJeetWEo5REA2M= +cloud.google.com/go/spanner v1.47.0/go.mod h1:IXsJwVW2j4UKs0eYDqodab6HgGuA1bViSqW4uH9lfUI= +cloud.google.com/go/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= +cloud.google.com/go/speech v1.9.0/go.mod h1:xQ0jTcmnRFFM2RfX/U+rk6FQNUF6DQlydUSyoooSpco= +cloud.google.com/go/speech v1.14.1/go.mod h1:gEosVRPJ9waG7zqqnsHpYTOoAS4KouMRLDFMekpJ0J0= +cloud.google.com/go/speech v1.15.0/go.mod h1:y6oH7GhqCaZANH7+Oe0BhgIogsNInLlz542tg3VqeYI= +cloud.google.com/go/speech v1.17.1/go.mod h1:8rVNzU43tQvxDaGvqOhpDqgkJTFowBpDvCJ14kGlJYo= +cloud.google.com/go/speech v1.19.0/go.mod h1:8rVNzU43tQvxDaGvqOhpDqgkJTFowBpDvCJ14kGlJYo= +cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= +cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= +cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= +cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= +cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= +cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= +cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= +cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc= +cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s= +cloud.google.com/go/storage v1.28.1/go.mod h1:Qnisd4CqDdo6BGs2AD5LLnEsmSQ80wQ5ogcBBKhU86Y= +cloud.google.com/go/storage v1.29.0/go.mod h1:4puEjyTKnku6gfKoTfNOU/W+a9JyuVNxjpS5GBrB8h4= +cloud.google.com/go/storage v1.30.1/go.mod h1:NfxhC0UJE1aXSx7CIIbCf7y9HKT7BiccwkR7+P7gN8E= +cloud.google.com/go/storagetransfer v1.5.0/go.mod h1:dxNzUopWy7RQevYFHewchb29POFv3/AaBgnhqzqiK0w= +cloud.google.com/go/storagetransfer v1.6.0/go.mod h1:y77xm4CQV/ZhFZH75PLEXY0ROiS7Gh6pSKrM8dJyg6I= +cloud.google.com/go/storagetransfer v1.7.0/go.mod h1:8Giuj1QNb1kfLAiWM1bN6dHzfdlDAVC9rv9abHot2W4= +cloud.google.com/go/storagetransfer v1.8.0/go.mod h1:JpegsHHU1eXg7lMHkvf+KE5XDJ7EQu0GwNJbbVGanEw= +cloud.google.com/go/storagetransfer v1.10.0/go.mod h1:DM4sTlSmGiNczmV6iZyceIh2dbs+7z2Ayg6YAiQlYfA= +cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw= +cloud.google.com/go/talent v1.2.0/go.mod h1:MoNF9bhFQbiJ6eFD3uSsg0uBALw4n4gaCaEjBw9zo8g= +cloud.google.com/go/talent v1.3.0/go.mod h1:CmcxwJ/PKfRgd1pBjQgU6W3YBwiewmUzQYH5HHmSCmM= +cloud.google.com/go/talent v1.4.0/go.mod h1:ezFtAgVuRf8jRsvyE6EwmbTK5LKciD4KVnHuDEFmOOA= +cloud.google.com/go/talent v1.5.0/go.mod h1:G+ODMj9bsasAEJkQSzO2uHQWXHHXUomArjWQQYkqK6c= +cloud.google.com/go/talent v1.6.2/go.mod h1:CbGvmKCG61mkdjcqTcLOkb2ZN1SrQI8MDyma2l7VD24= +cloud.google.com/go/texttospeech v1.4.0/go.mod h1:FX8HQHA6sEpJ7rCMSfXuzBcysDAuWusNNNvN9FELDd8= +cloud.google.com/go/texttospeech v1.5.0/go.mod h1:oKPLhR4n4ZdQqWKURdwxMy0uiTS1xU161C8W57Wkea4= +cloud.google.com/go/texttospeech v1.6.0/go.mod h1:YmwmFT8pj1aBblQOI3TfKmwibnsfvhIBzPXcW4EBovc= +cloud.google.com/go/texttospeech v1.7.1/go.mod h1:m7QfG5IXxeneGqTapXNxv2ItxP/FS0hCZBwXYqucgSk= +cloud.google.com/go/tpu v1.3.0/go.mod h1:aJIManG0o20tfDQlRIej44FcwGGl/cD0oiRyMKG19IQ= +cloud.google.com/go/tpu v1.4.0/go.mod h1:mjZaX8p0VBgllCzF6wcU2ovUXN9TONFLd7iz227X2Xg= +cloud.google.com/go/tpu v1.5.0/go.mod h1:8zVo1rYDFuW2l4yZVY0R0fb/v44xLh3llq7RuV61fPM= +cloud.google.com/go/tpu v1.6.1/go.mod h1:sOdcHVIgDEEOKuqUoi6Fq53MKHJAtOwtz0GuKsWSH3E= +cloud.google.com/go/trace v1.3.0/go.mod h1:FFUE83d9Ca57C+K8rDl/Ih8LwOzWIV1krKgxg6N0G28= +cloud.google.com/go/trace v1.4.0/go.mod h1:UG0v8UBqzusp+z63o7FK74SdFE+AXpCLdFb1rshXG+Y= +cloud.google.com/go/trace v1.8.0/go.mod h1:zH7vcsbAhklH8hWFig58HvxcxyQbaIqMarMg9hn5ECA= +cloud.google.com/go/trace v1.9.0/go.mod h1:lOQqpE5IaWY0Ixg7/r2SjixMuc6lfTFeO4QGM4dQWOk= +cloud.google.com/go/trace v1.10.1/go.mod h1:gbtL94KE5AJLH3y+WVpfWILmqgc6dXcqgNXdOPAQTYk= +cloud.google.com/go/translate v1.3.0/go.mod h1:gzMUwRjvOqj5i69y/LYLd8RrNQk+hOmIXTi9+nb3Djs= +cloud.google.com/go/translate v1.4.0/go.mod h1:06Dn/ppvLD6WvA5Rhdp029IX2Mi3Mn7fpMRLPvXT5Wg= +cloud.google.com/go/translate v1.5.0/go.mod h1:29YDSYveqqpA1CQFD7NQuP49xymq17RXNaUDdc0mNu0= +cloud.google.com/go/translate v1.6.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos= +cloud.google.com/go/translate v1.7.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos= +cloud.google.com/go/translate v1.8.1/go.mod h1:d1ZH5aaOA0CNhWeXeC8ujd4tdCFw8XoNWRljklu5RHs= +cloud.google.com/go/translate v1.8.2/go.mod h1:d1ZH5aaOA0CNhWeXeC8ujd4tdCFw8XoNWRljklu5RHs= +cloud.google.com/go/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= +cloud.google.com/go/video v1.13.0/go.mod h1:ulzkYlYgCp15N2AokzKjy7MQ9ejuynOJdf1tR5lGthk= +cloud.google.com/go/video v1.14.0/go.mod h1:SkgaXwT+lIIAKqWAJfktHT/RbgjSuY6DobxEp0C5yTQ= +cloud.google.com/go/video v1.15.0/go.mod h1:SkgaXwT+lIIAKqWAJfktHT/RbgjSuY6DobxEp0C5yTQ= +cloud.google.com/go/video v1.17.1/go.mod h1:9qmqPqw/Ib2tLqaeHgtakU+l5TcJxCJbhFXM7UJjVzU= +cloud.google.com/go/video v1.19.0/go.mod h1:9qmqPqw/Ib2tLqaeHgtakU+l5TcJxCJbhFXM7UJjVzU= +cloud.google.com/go/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= +cloud.google.com/go/videointelligence v1.9.0/go.mod h1:29lVRMPDYHikk3v8EdPSaL8Ku+eMzDljjuvRs105XoU= +cloud.google.com/go/videointelligence v1.10.0/go.mod h1:LHZngX1liVtUhZvi2uNS0VQuOzNi2TkY1OakiuoUOjU= +cloud.google.com/go/videointelligence v1.11.1/go.mod h1:76xn/8InyQHarjTWsBR058SmlPCwQjgcvoW0aZykOvo= +cloud.google.com/go/vision v1.2.0/go.mod h1:SmNwgObm5DpFBme2xpyOyasvBc1aPdjvMk2bBk0tKD0= +cloud.google.com/go/vision/v2 v2.2.0/go.mod h1:uCdV4PpN1S0jyCyq8sIM42v2Y6zOLkZs+4R9LrGYwFo= +cloud.google.com/go/vision/v2 v2.3.0/go.mod h1:UO61abBx9QRMFkNBbf1D8B1LXdS2cGiiCRx0vSpZoUo= +cloud.google.com/go/vision/v2 v2.4.0/go.mod h1:VtI579ll9RpVTrdKdkMzckdnwMyX2JILb+MhPqRbPsY= +cloud.google.com/go/vision/v2 v2.5.0/go.mod h1:MmaezXOOE+IWa+cS7OhRRLK2cNv1ZL98zhqFFZaaH2E= +cloud.google.com/go/vision/v2 v2.6.0/go.mod h1:158Hes0MvOS9Z/bDMSFpjwsUrZ5fPrdwuyyvKSGAGMY= +cloud.google.com/go/vision/v2 v2.7.0/go.mod h1:H89VysHy21avemp6xcf9b9JvZHVehWbET0uT/bcuY/0= +cloud.google.com/go/vision/v2 v2.7.2/go.mod h1:jKa8oSYBWhYiXarHPvP4USxYANYUEdEsQrloLjrSwJU= +cloud.google.com/go/vmmigration v1.2.0/go.mod h1:IRf0o7myyWFSmVR1ItrBSFLFD/rJkfDCUTO4vLlJvsE= +cloud.google.com/go/vmmigration v1.3.0/go.mod h1:oGJ6ZgGPQOFdjHuocGcLqX4lc98YQ7Ygq8YQwHh9A7g= +cloud.google.com/go/vmmigration v1.5.0/go.mod h1:E4YQ8q7/4W9gobHjQg4JJSgXXSgY21nA5r8swQV+Xxc= +cloud.google.com/go/vmmigration v1.6.0/go.mod h1:bopQ/g4z+8qXzichC7GW1w2MjbErL54rk3/C843CjfY= +cloud.google.com/go/vmmigration v1.7.1/go.mod h1:WD+5z7a/IpZ5bKK//YmT9E047AD+rjycCAvyMxGJbro= +cloud.google.com/go/vmwareengine v0.1.0/go.mod h1:RsdNEf/8UDvKllXhMz5J40XxDrNJNN4sagiox+OI208= +cloud.google.com/go/vmwareengine v0.2.2/go.mod h1:sKdctNJxb3KLZkE/6Oui94iw/xs9PRNC2wnNLXsHvH8= +cloud.google.com/go/vmwareengine v0.3.0/go.mod h1:wvoyMvNWdIzxMYSpH/R7y2h5h3WFkx6d+1TIsP39WGY= +cloud.google.com/go/vmwareengine v0.4.1/go.mod h1:Px64x+BvjPZwWuc4HdmVhoygcXqEkGHXoa7uyfTgSI0= +cloud.google.com/go/vmwareengine v1.0.0/go.mod h1:Px64x+BvjPZwWuc4HdmVhoygcXqEkGHXoa7uyfTgSI0= +cloud.google.com/go/vpcaccess v1.4.0/go.mod h1:aQHVbTWDYUR1EbTApSVvMq1EnT57ppDmQzZ3imqIk4w= +cloud.google.com/go/vpcaccess v1.5.0/go.mod h1:drmg4HLk9NkZpGfCmZ3Tz0Bwnm2+DKqViEpeEpOq0m8= +cloud.google.com/go/vpcaccess v1.6.0/go.mod h1:wX2ILaNhe7TlVa4vC5xce1bCnqE3AeH27RV31lnmZes= +cloud.google.com/go/vpcaccess v1.7.1/go.mod h1:FogoD46/ZU+JUBX9D606X21EnxiszYi2tArQwLY4SXs= +cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xXZmFiHmGE= +cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= +cloud.google.com/go/webrisk v1.6.0/go.mod h1:65sW9V9rOosnc9ZY7A7jsy1zoHS5W9IAXv6dGqhMQMc= +cloud.google.com/go/webrisk v1.7.0/go.mod h1:mVMHgEYH0r337nmt1JyLthzMr6YxwN1aAIEc2fTcq7A= +cloud.google.com/go/webrisk v1.8.0/go.mod h1:oJPDuamzHXgUc+b8SiHRcVInZQuybnvEW72PqTc7sSg= +cloud.google.com/go/webrisk v1.9.1/go.mod h1:4GCmXKcOa2BZcZPn6DCEvE7HypmEJcJkr4mtM+sqYPc= +cloud.google.com/go/websecurityscanner v1.3.0/go.mod h1:uImdKm2wyeXQevQJXeh8Uun/Ym1VqworNDlBXQevGMo= +cloud.google.com/go/websecurityscanner v1.4.0/go.mod h1:ebit/Fp0a+FWu5j4JOmJEV8S8CzdTkAS77oDsiSqYWQ= +cloud.google.com/go/websecurityscanner v1.5.0/go.mod h1:Y6xdCPy81yi0SQnDY1xdNTNpfY1oAgXUlcfN3B3eSng= +cloud.google.com/go/websecurityscanner v1.6.1/go.mod h1:Njgaw3rttgRHXzwCB8kgCYqv5/rGpFCsBOvPbYgszpg= +cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= +cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= +cloud.google.com/go/workflows v1.8.0/go.mod h1:ysGhmEajwZxGn1OhGOGKsTXc5PyxOc0vfKf5Af+to4M= +cloud.google.com/go/workflows v1.9.0/go.mod h1:ZGkj1aFIOd9c8Gerkjjq7OW7I5+l6cSvT3ujaO/WwSA= +cloud.google.com/go/workflows v1.10.0/go.mod h1:fZ8LmRmZQWacon9UCX1r/g/DfAXx5VcPALq2CxzdePw= +cloud.google.com/go/workflows v1.11.1/go.mod h1:Z+t10G1wF7h8LgdY/EmRcQY8ptBD/nvofaL6FqlET6g= +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= +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/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= +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/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= +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/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.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= +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.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= +golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191002040644-a1355ae1e2c3/go.mod h1:NOZ3BPKG0ec/BKJQgnvsSFpcKLM5xXVWnvZS97DWHgE= +golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= +golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= +golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/exp v0.0.0-20220827204233-334a2380cb91/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE= +golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200119044424-58c23975cae1/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200430140353-33d19683fad8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200618115811-c13761719519/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20210216034530-4410531fe030/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20210607152325-775e3b0c77b9/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/image v0.0.0-20210628002857-a66eb6448b8d/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/image v0.0.0-20211028202545-6944b10bf410/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/image v0.0.0-20220302094943-723b81ca9867/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= +golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= +golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.11.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220617184016-355a448f1bc9/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20221012135044-0b7e1fb9d458/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= +golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= +golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= +golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= +golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= +golang.org/x/net v0.11.0/go.mod h1:2L/ixqYpgIVXmeoSA/4Lu7BzTG4KIyPIryS4IsOd1oQ= +golang.org/x/net v0.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= +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.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= +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/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= +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.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= +golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= +golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= +golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= +golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= +golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/term v0.9.0/go.mod h1:M6DEAAIenWoTxdKrOltXcmDY3rSplQUkrvaDU5FcQyo= +golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= +golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= +golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220922220347-f3bd1da661af/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190927191325-030b2cf1153e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= +golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201124115921-2c860bdd6e78/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= +golang.org/x/tools v0.8.0/go.mod h1:JxBZ99ISMI5ViVkT1tr6tdNmXeTrcpVSD3vZ1RsRdN4= +golang.org/x/tools v0.9.1/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc= +golang.org/x/tools v0.10.0/go.mod h1:UJwyiVBsOA2uwvK/e5OY3GTpDUJriEd+/YlqAwLPmyM= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= +gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= +gonum.org/v1/gonum v0.9.3/go.mod h1:TZumC3NeyVQskjXqmyWt4S3bINhy7B4eYwW69EbyX+0= +gonum.org/v1/gonum v0.11.0/go.mod h1:fSG4YDCxxUZQJ7rKsQrj0gMOg00Il0Z96/qMA4bVQhA= +gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= +gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= +gonum.org/v1/plot v0.9.0/go.mod h1:3Pcqqmp6RHvJI72kgb8fThyUnav364FOsdDo2aGW5lY= +gonum.org/v1/plot v0.10.1/go.mod h1:VZW5OlhkL1mysU9vaqNHnsy86inf6Ot+jB3r+BczCEo= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= +google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= +google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= +google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= +google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= +google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= +google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= +google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= +google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= +google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= +google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= +google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= +google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= +google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= +google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= +google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= +google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g= +google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA= +google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8= +google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs= +google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= +google.golang.org/api v0.77.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= +google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw= +google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg= +google.golang.org/api v0.84.0/go.mod h1:NTsGnUFJMYROtiquksZHBWtHfeMC7iYthki7Eq3pa8o= +google.golang.org/api v0.85.0/go.mod h1:AqZf8Ep9uZ2pyTvgL+x0D3Zt0eoT9b5E8fmzfu6FO2g= +google.golang.org/api v0.90.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= +google.golang.org/api v0.93.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= +google.golang.org/api v0.95.0/go.mod h1:eADj+UBuxkh5zlrSntJghuNeg8HwQ1w5lTKkuqaETEI= +google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= +google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= +google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= +google.golang.org/api v0.99.0/go.mod h1:1YOf74vkVndF7pG6hIHuINsM7eWwpVTAfNMNiL91A08= +google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= +google.golang.org/api v0.102.0/go.mod h1:3VFl6/fzoA+qNuS1N1/VfXY4LjoXN/wzeIp7TweWwGo= +google.golang.org/api v0.103.0/go.mod h1:hGtW6nK1AC+d9si/UBhw8Xli+QMOf6xyNAyJw4qU9w0= +google.golang.org/api v0.106.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= +google.golang.org/api v0.107.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= +google.golang.org/api v0.108.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= +google.golang.org/api v0.110.0/go.mod h1:7FC4Vvx1Mooxh8C5HWjzZHcavuS2f6pmJpZx60ca7iI= +google.golang.org/api v0.111.0/go.mod h1:qtFHvU9mhgTJegR31csQ+rwxyUTHOKFqCKWp1J0fdw0= +google.golang.org/api v0.114.0/go.mod h1:ifYI2ZsFK6/uGddGfAD5BMxlnkBqCmqHSDUVi45N5Yg= +google.golang.org/api v0.118.0/go.mod h1:76TtD3vkgmZ66zZzp72bUUklpmQmKlhh6sYtIjYK+5E= +google.golang.org/api v0.122.0/go.mod h1:gcitW0lvnyWjSp9nKxAbdHKIZ6vF4aajGueeslZOyms= +google.golang.org/api v0.124.0/go.mod h1:xu2HQurE5gi/3t1aFCvhPD781p0a3p11sdunTJ2BlP4= +google.golang.org/api v0.125.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw= +google.golang.org/api v0.126.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw= +google.golang.org/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= +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/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= +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-20230526161137-0005af68ea54/go.mod h1:zqTuNwFlFRsw5zIts5VnzLQxSRqh+CGOTVMlYbY0Eyk= +google.golang.org/genproto v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:zqTuNwFlFRsw5zIts5VnzLQxSRqh+CGOTVMlYbY0Eyk= +google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:xZnkP7mREFX5MORlOPEzLMr+90PPZQ2QWzrVTWfAq64= +google.golang.org/genproto v0.0.0-20230629202037-9506855d4529/go.mod h1:xZnkP7mREFX5MORlOPEzLMr+90PPZQ2QWzrVTWfAq64= +google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:O9kGHb51iE/nOGvQaDUuadVYqovW56s5emA88lQnj6Y= +google.golang.org/genproto v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:0ggbjUrZYpy1q+ANUS30SEoGZ53cdfwtbuG7Ptgy108= +google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5/go.mod h1:oH/ZOT02u4kWEp7oYBGYFFkCdKS/uYR9Z7+0/xuuFp8= +google.golang.org/genproto v0.0.0-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-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= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230526203410-71b5a4ffd15e/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230629202037-9506855d4529/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:8mL13HKkDa+IuJ8yruA3ci0q+0vsUz4m//+ottjwS5o= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230731190214-cbb8c96f2d6d/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230803162519-f966b187b2e5/go.mod h1:zBEcrKX2ZOcEkHWxBPAIvYUWOKKMIhYcmNiUIu2ji3I= +google.golang.org/genproto/googleapis/rpc v0.0.0-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= +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.1/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= +google.golang.org/grpc v1.56.2/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= +google.golang.org/grpc v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo= +google.golang.org/grpc v1.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= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= +google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.3 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..9ff94aba --- /dev/null +++ b/artifacts/goapi/goapi.go @@ -0,0 +1,26317 @@ +/* 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/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 + remoteVersion Version + checkError error +} +type goapiApi struct { + apiSt + 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() Api { + 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 Api interface { + api + // 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) 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 := 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 := 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 := 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 := 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 := 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 := 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 := 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 := 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 := 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 := 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 := 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 := 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 := 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.Marshal().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, fromHttpError(resp.StatusCode, bodyBytes) + } +} + +func (api *goapiApi) httpUpdateConfiguration(updateConfig UpdateConfig) (PrefixConfig, error) { + updateConfigJson, err := updateConfig.Marshal().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 := NewUpdateConfigurationResponse().PrefixConfig() + if err := obj.Unmarshal().FromJson(string(bodyBytes)); err != nil { + return nil, err + } + return obj, nil + } else { + return nil, 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 := NewGetConfigResponse().PrefixConfig() + if err := obj.Unmarshal().FromJson(string(bodyBytes)); err != nil { + return nil, err + } + return obj, nil + } else { + return nil, fromHttpError(resp.StatusCode, bodyBytes) + } +} + +func (api *goapiApi) httpGetMetrics(metricsRequest MetricsRequest) (Metrics, error) { + metricsRequestJson, err := metricsRequest.Marshal().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 := NewGetMetricsResponse().Metrics() + if err := obj.Unmarshal().FromJson(string(bodyBytes)); err != nil { + return nil, err + } + return obj, nil + } else { + return nil, 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 := NewGetWarningsResponse().WarningDetails() + if err := obj.Unmarshal().FromJson(string(bodyBytes)); err != nil { + return nil, err + } + return obj, nil + } else { + return nil, 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, 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 := NewGetRootResponseResponse().CommonResponseSuccess() + if err := obj.Unmarshal().FromJson(string(bodyBytes)); err != nil { + return nil, err + } + return obj, nil + } else { + return nil, 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, fromHttpError(resp.StatusCode, bodyBytes) + } +} + +func (api *goapiApi) httpPostRootResponse(apiTestInputBody ApiTestInputBody) (CommonResponseSuccess, error) { + apiTestInputBodyJson, err := apiTestInputBody.Marshal().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 := NewPostRootResponseResponse().CommonResponseSuccess() + if err := obj.Unmarshal().FromJson(string(bodyBytes)); err != nil { + return nil, err + } + return obj, nil + } else { + return nil, 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 := NewGetAllItemsResponse().ServiceAbcItemList() + if err := obj.Unmarshal().FromJson(string(bodyBytes)); err != nil { + return nil, err + } + return obj, nil + } else { + return nil, 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 := NewGetSingleItemResponse().ServiceAbcItem() + if err := obj.Unmarshal().FromJson(string(bodyBytes)); err != nil { + return nil, err + } + return obj, nil + } else { + return nil, 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 := NewGetSingleItemLevel2Response().ServiceAbcItem() + if err := obj.Unmarshal().FromJson(string(bodyBytes)); err != nil { + return nil, err + } + return obj, nil + } else { + return nil, 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 := NewGetVersionResponse().Version() + if err := obj.Unmarshal().FromJson(string(bodyBytes)); err != nil { + return nil, err + } + return obj, nil + } else { + return nil, fromHttpError(resp.StatusCode, bodyBytes) + } +} + +// ***** PrefixConfig ***** +type prefixConfig struct { + validation + obj *openapi.PrefixConfig + marshaller marshalPrefixConfig + unMarshaller unMarshalPrefixConfig + 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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalprefixConfig) FromProto(msg *openapi.PrefixConfig) (PrefixConfig, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalprefixConfig) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalprefixConfig) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalprefixConfig) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalprefixConfig) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalprefixConfig) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalprefixConfig) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + err := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalPrefixConfig + // provides unmarshal interface + Unmarshal() unMarshalPrefixConfig + // 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 == nil { + vObj.validationErrors = append(vObj.validationErrors, "A is required field on interface PrefixConfig") + } + + // A is under_review + 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") + } + + 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 + marshaller marshalUpdateConfig + unMarshaller unMarshalUpdateConfig + 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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalupdateConfig) FromProto(msg *openapi.UpdateConfig) (UpdateConfig, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalupdateConfig) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalupdateConfig) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalupdateConfig) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalupdateConfig) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalupdateConfig) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalupdateConfig) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + err := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalUpdateConfig + // provides unmarshal interface + Unmarshal() unMarshalUpdateConfig + // 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 + marshaller marshalMetricsRequest + unMarshaller unMarshalMetricsRequest +} + +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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalmetricsRequest) FromProto(msg *openapi.MetricsRequest) (MetricsRequest, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalmetricsRequest) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalmetricsRequest) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalmetricsRequest) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalmetricsRequest) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalmetricsRequest) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalmetricsRequest) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + 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 := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalMetricsRequest + // provides unmarshal interface + Unmarshal() unMarshalMetricsRequest + // 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 + marshaller marshalApiTestInputBody + unMarshaller unMarshalApiTestInputBody +} + +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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalapiTestInputBody) FromProto(msg *openapi.ApiTestInputBody) (ApiTestInputBody, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalapiTestInputBody) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalapiTestInputBody) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalapiTestInputBody) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalapiTestInputBody) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalapiTestInputBody) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalapiTestInputBody) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + 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 := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalApiTestInputBody + // provides unmarshal interface + Unmarshal() unMarshalApiTestInputBody + // 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 + marshaller marshalSetConfigResponse + unMarshaller unMarshalSetConfigResponse +} + +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 +} + +type marshalsetConfigResponse struct { + obj *setConfigResponse +} + +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) 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(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalsetConfigResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalsetConfigResponse) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalsetConfigResponse) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalsetConfigResponse) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalsetConfigResponse) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + 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 := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalSetConfigResponse + // provides unmarshal interface + Unmarshal() unMarshalSetConfigResponse + // 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 + marshaller marshalUpdateConfigurationResponse + unMarshaller unMarshalUpdateConfigurationResponse + 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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalupdateConfigurationResponse) FromProto(msg *openapi.UpdateConfigurationResponse) (UpdateConfigurationResponse, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalupdateConfigurationResponse) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalupdateConfigurationResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalupdateConfigurationResponse) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalupdateConfigurationResponse) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalupdateConfigurationResponse) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalupdateConfigurationResponse) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + err := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalUpdateConfigurationResponse + // provides unmarshal interface + Unmarshal() unMarshalUpdateConfigurationResponse + // 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 + marshaller marshalGetConfigResponse + unMarshaller unMarshalGetConfigResponse + 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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalgetConfigResponse) FromProto(msg *openapi.GetConfigResponse) (GetConfigResponse, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalgetConfigResponse) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalgetConfigResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalgetConfigResponse) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalgetConfigResponse) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalgetConfigResponse) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalgetConfigResponse) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + err := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalGetConfigResponse + // provides unmarshal interface + Unmarshal() unMarshalGetConfigResponse + // 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 + marshaller marshalGetMetricsResponse + unMarshaller unMarshalGetMetricsResponse + 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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalgetMetricsResponse) FromProto(msg *openapi.GetMetricsResponse) (GetMetricsResponse, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalgetMetricsResponse) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalgetMetricsResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalgetMetricsResponse) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalgetMetricsResponse) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalgetMetricsResponse) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalgetMetricsResponse) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + err := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalGetMetricsResponse + // provides unmarshal interface + Unmarshal() unMarshalGetMetricsResponse + // 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 + marshaller marshalGetWarningsResponse + unMarshaller unMarshalGetWarningsResponse + 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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalgetWarningsResponse) FromProto(msg *openapi.GetWarningsResponse) (GetWarningsResponse, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalgetWarningsResponse) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalgetWarningsResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalgetWarningsResponse) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalgetWarningsResponse) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalgetWarningsResponse) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalgetWarningsResponse) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + err := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalGetWarningsResponse + // provides unmarshal interface + Unmarshal() unMarshalGetWarningsResponse + // 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 + marshaller marshalClearWarningsResponse + unMarshaller unMarshalClearWarningsResponse +} + +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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalclearWarningsResponse) FromProto(msg *openapi.ClearWarningsResponse) (ClearWarningsResponse, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalclearWarningsResponse) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalclearWarningsResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalclearWarningsResponse) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalclearWarningsResponse) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalclearWarningsResponse) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalclearWarningsResponse) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + 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 := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalClearWarningsResponse + // provides unmarshal interface + Unmarshal() unMarshalClearWarningsResponse + // 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 + marshaller marshalGetRootResponseResponse + unMarshaller unMarshalGetRootResponseResponse + 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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalgetRootResponseResponse) FromProto(msg *openapi.GetRootResponseResponse) (GetRootResponseResponse, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalgetRootResponseResponse) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalgetRootResponseResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalgetRootResponseResponse) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalgetRootResponseResponse) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalgetRootResponseResponse) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalgetRootResponseResponse) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + err := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalGetRootResponseResponse + // provides unmarshal interface + Unmarshal() unMarshalGetRootResponseResponse + // 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 + marshaller marshalDummyResponseTestResponse + unMarshaller unMarshalDummyResponseTestResponse +} + +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 +} + +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) Unmarshal() unMarshalDummyResponseTestResponse { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshaldummyResponseTestResponse{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshaldummyResponseTestResponse) ToProto() (*openapi.DummyResponseTestResponse, error) { + err := m.obj.validateToAndFrom() + if err != nil { + return nil, err + } + return m.obj.msg(), nil +} + +func (m *unMarshaldummyResponseTestResponse) FromProto(msg *openapi.DummyResponseTestResponse) (DummyResponseTestResponse, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshaldummyResponseTestResponse) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshaldummyResponseTestResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshaldummyResponseTestResponse) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshaldummyResponseTestResponse) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshaldummyResponseTestResponse) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshaldummyResponseTestResponse) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + 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 := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalDummyResponseTestResponse + // provides unmarshal interface + Unmarshal() unMarshalDummyResponseTestResponse + // 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 + marshaller marshalPostRootResponseResponse + unMarshaller unMarshalPostRootResponseResponse + 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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalpostRootResponseResponse) FromProto(msg *openapi.PostRootResponseResponse) (PostRootResponseResponse, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalpostRootResponseResponse) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalpostRootResponseResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalpostRootResponseResponse) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalpostRootResponseResponse) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalpostRootResponseResponse) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalpostRootResponseResponse) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + err := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalPostRootResponseResponse + // provides unmarshal interface + Unmarshal() unMarshalPostRootResponseResponse + // 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 + marshaller marshalGetAllItemsResponse + unMarshaller unMarshalGetAllItemsResponse + 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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalgetAllItemsResponse) FromProto(msg *openapi.GetAllItemsResponse) (GetAllItemsResponse, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalgetAllItemsResponse) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalgetAllItemsResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalgetAllItemsResponse) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalgetAllItemsResponse) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalgetAllItemsResponse) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalgetAllItemsResponse) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + err := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalGetAllItemsResponse + // provides unmarshal interface + Unmarshal() unMarshalGetAllItemsResponse + // 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 + marshaller marshalGetSingleItemResponse + unMarshaller unMarshalGetSingleItemResponse + 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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalgetSingleItemResponse) FromProto(msg *openapi.GetSingleItemResponse) (GetSingleItemResponse, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalgetSingleItemResponse) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalgetSingleItemResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalgetSingleItemResponse) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalgetSingleItemResponse) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalgetSingleItemResponse) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalgetSingleItemResponse) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + err := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalGetSingleItemResponse + // provides unmarshal interface + Unmarshal() unMarshalGetSingleItemResponse + // 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 + marshaller marshalGetSingleItemLevel2Response + unMarshaller unMarshalGetSingleItemLevel2Response + 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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalgetSingleItemLevel2Response) FromProto(msg *openapi.GetSingleItemLevel2Response) (GetSingleItemLevel2Response, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalgetSingleItemLevel2Response) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalgetSingleItemLevel2Response) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalgetSingleItemLevel2Response) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalgetSingleItemLevel2Response) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalgetSingleItemLevel2Response) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalgetSingleItemLevel2Response) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + err := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalGetSingleItemLevel2Response + // provides unmarshal interface + Unmarshal() unMarshalGetSingleItemLevel2Response + // 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 + marshaller marshalGetVersionResponse + unMarshaller unMarshalGetVersionResponse + 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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalgetVersionResponse) FromProto(msg *openapi.GetVersionResponse) (GetVersionResponse, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalgetVersionResponse) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalgetVersionResponse) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalgetVersionResponse) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalgetVersionResponse) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalgetVersionResponse) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalgetVersionResponse) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + err := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalGetVersionResponse + // provides unmarshal interface + Unmarshal() unMarshalGetVersionResponse + // 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 + marshaller marshalEObject + unMarshaller unMarshalEObject +} + +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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshaleObject) FromProto(msg *openapi.EObject) (EObject, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshaleObject) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshaleObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshaleObject) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshaleObject) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshaleObject) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshaleObject) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + 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 := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalEObject + // provides unmarshal interface + Unmarshal() unMarshalEObject + // 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() + } + + // 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() { + +} + +// ***** FObject ***** +type fObject struct { + validation + obj *openapi.FObject + marshaller marshalFObject + unMarshaller unMarshalFObject +} + +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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalfObject) FromProto(msg *openapi.FObject) (FObject, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalfObject) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalfObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalfObject) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalfObject) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalfObject) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalfObject) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + 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 := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalFObject + // provides unmarshal interface + Unmarshal() unMarshalFObject + // 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 + // getter for FC to set choice. + FC() + // 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()) +} + +// 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 { + 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 + marshaller marshalGObject + unMarshaller unMarshalGObject +} + +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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalgObject) FromProto(msg *openapi.GObject) (GObject, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalgObject) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalgObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalgObject) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalgObject) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalgObject) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalgObject) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + 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 := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalGObject + // provides unmarshal interface + Unmarshal() unMarshalGObject + // 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 + marshaller marshalJObject + unMarshaller unMarshalJObject + 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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshaljObject) FromProto(msg *openapi.JObject) (JObject, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshaljObject) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshaljObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshaljObject) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshaljObject) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshaljObject) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshaljObject) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + err := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalJObject + // provides unmarshal interface + Unmarshal() unMarshalJObject + // 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 + marshaller marshalKObject + unMarshaller unMarshalKObject + 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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalkObject) FromProto(msg *openapi.KObject) (KObject, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalkObject) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalkObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalkObject) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalkObject) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalkObject) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalkObject) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + err := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalKObject + // provides unmarshal interface + Unmarshal() unMarshalKObject + // 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 + marshaller marshalLObject + unMarshaller unMarshalLObject +} + +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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshallObject) FromProto(msg *openapi.LObject) (LObject, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshallObject) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshallObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshallObject) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshallObject) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshallObject) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshallObject) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + 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 := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalLObject + // provides unmarshal interface + Unmarshal() unMarshalLObject + // 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 + marshaller marshalLevelOne + unMarshaller unMarshalLevelOne + 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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshallevelOne) FromProto(msg *openapi.LevelOne) (LevelOne, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshallevelOne) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshallevelOne) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshallevelOne) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshallevelOne) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshallevelOne) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshallevelOne) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + err := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalLevelOne + // provides unmarshal interface + Unmarshal() unMarshalLevelOne + // 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 + marshaller marshalMandate + unMarshaller unMarshalMandate +} + +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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalmandate) FromProto(msg *openapi.Mandate) (Mandate, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalmandate) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalmandate) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalmandate) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalmandate) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalmandate) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalmandate) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + 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 := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalMandate + // provides unmarshal interface + Unmarshal() unMarshalMandate + // 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 == nil { + vObj.validationErrors = append(vObj.validationErrors, "RequiredParam is required field on interface Mandate") + } +} + +func (obj *mandate) setDefault() { + +} + +// ***** Ipv4Pattern ***** +type ipv4Pattern struct { + validation + obj *openapi.Ipv4Pattern + marshaller marshalIpv4Pattern + unMarshaller unMarshalIpv4Pattern + 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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalipv4Pattern) FromProto(msg *openapi.Ipv4Pattern) (Ipv4Pattern, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalipv4Pattern) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalipv4Pattern) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalipv4Pattern) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalipv4Pattern) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalipv4Pattern) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalipv4Pattern) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + err := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalIpv4Pattern + // provides unmarshal interface + Unmarshal() unMarshalIpv4Pattern + // 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 + marshaller marshalIpv6Pattern + unMarshaller unMarshalIpv6Pattern + 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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalipv6Pattern) FromProto(msg *openapi.Ipv6Pattern) (Ipv6Pattern, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalipv6Pattern) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalipv6Pattern) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalipv6Pattern) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalipv6Pattern) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalipv6Pattern) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalipv6Pattern) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + err := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalIpv6Pattern + // provides unmarshal interface + Unmarshal() unMarshalIpv6Pattern + // 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 + marshaller marshalMacPattern + unMarshaller unMarshalMacPattern + 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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalmacPattern) FromProto(msg *openapi.MacPattern) (MacPattern, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalmacPattern) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalmacPattern) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalmacPattern) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalmacPattern) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalmacPattern) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalmacPattern) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + err := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalMacPattern + // provides unmarshal interface + Unmarshal() unMarshalMacPattern + // 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 + marshaller marshalIntegerPattern + unMarshaller unMarshalIntegerPattern + 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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalintegerPattern) FromProto(msg *openapi.IntegerPattern) (IntegerPattern, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalintegerPattern) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalintegerPattern) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalintegerPattern) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalintegerPattern) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalintegerPattern) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalintegerPattern) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + err := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalIntegerPattern + // provides unmarshal interface + Unmarshal() unMarshalIntegerPattern + // 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 + marshaller marshalChecksumPattern + unMarshaller unMarshalChecksumPattern + 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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalchecksumPattern) FromProto(msg *openapi.ChecksumPattern) (ChecksumPattern, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalchecksumPattern) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalchecksumPattern) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalchecksumPattern) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalchecksumPattern) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalchecksumPattern) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalchecksumPattern) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + err := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalChecksumPattern + // provides unmarshal interface + Unmarshal() unMarshalChecksumPattern + // 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 + marshaller marshalLayer1Ieee802X + unMarshaller unMarshalLayer1Ieee802X +} + +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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshallayer1Ieee802X) FromProto(msg *openapi.Layer1Ieee802X) (Layer1Ieee802X, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshallayer1Ieee802X) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshallayer1Ieee802X) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshallayer1Ieee802X) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshallayer1Ieee802X) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshallayer1Ieee802X) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshallayer1Ieee802X) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + 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 := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalLayer1Ieee802X + // provides unmarshal interface + Unmarshal() unMarshalLayer1Ieee802X + // 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 + marshaller marshalMObject + unMarshaller unMarshalMObject +} + +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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalmObject) FromProto(msg *openapi.MObject) (MObject, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalmObject) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalmObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalmObject) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalmObject) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalmObject) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalmObject) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + 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 := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalMObject + // provides unmarshal interface + Unmarshal() unMarshalMObject + // 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 == nil { + vObj.validationErrors = append(vObj.validationErrors, "StringParam is required field on interface MObject") + } + + // 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 { + vObj.validationErrors = append( + vObj.validationErrors, + 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 == nil { + vObj.validationErrors = append(vObj.validationErrors, "Mac is required field on interface MObject") + } + 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 MObject.Mac")) + } + + } + + // Ipv4 is required + if obj.obj.Ipv4 == nil { + vObj.validationErrors = append(vObj.validationErrors, "Ipv4 is required field on interface MObject") + } + 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 MObject.Ipv4")) + } + + } + + // Ipv6 is required + if obj.obj.Ipv6 == nil { + vObj.validationErrors = append(vObj.validationErrors, "Ipv6 is required field on interface MObject") + } + 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 MObject.Ipv6")) + } + + } + + // Hex is required + if obj.obj.Hex == nil { + vObj.validationErrors = append(vObj.validationErrors, "Hex is required field on interface MObject") + } + 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 MObject.Hex")) + } + + } + +} + +func (obj *mObject) setDefault() { + +} + +// ***** PatternPrefixConfigHeaderChecksum ***** +type patternPrefixConfigHeaderChecksum struct { + validation + obj *openapi.PatternPrefixConfigHeaderChecksum + marshaller marshalPatternPrefixConfigHeaderChecksum + unMarshaller unMarshalPatternPrefixConfigHeaderChecksum +} + +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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalpatternPrefixConfigHeaderChecksum) FromProto(msg *openapi.PatternPrefixConfigHeaderChecksum) (PatternPrefixConfigHeaderChecksum, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalpatternPrefixConfigHeaderChecksum) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalpatternPrefixConfigHeaderChecksum) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalpatternPrefixConfigHeaderChecksum) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalpatternPrefixConfigHeaderChecksum) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalpatternPrefixConfigHeaderChecksum) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalpatternPrefixConfigHeaderChecksum) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + 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 := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalPatternPrefixConfigHeaderChecksum + // provides unmarshal interface + Unmarshal() unMarshalPatternPrefixConfigHeaderChecksum + // 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 + marshaller marshalPatternPrefixConfigAutoFieldTest + unMarshaller unMarshalPatternPrefixConfigAutoFieldTest + 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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalpatternPrefixConfigAutoFieldTest) FromProto(msg *openapi.PatternPrefixConfigAutoFieldTest) (PatternPrefixConfigAutoFieldTest, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalpatternPrefixConfigAutoFieldTest) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalpatternPrefixConfigAutoFieldTest) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalpatternPrefixConfigAutoFieldTest) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalpatternPrefixConfigAutoFieldTest) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalpatternPrefixConfigAutoFieldTest) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalpatternPrefixConfigAutoFieldTest) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + err := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalPatternPrefixConfigAutoFieldTest + // provides unmarshal interface + Unmarshal() unMarshalPatternPrefixConfigAutoFieldTest + // 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 + marshaller marshalWObject + unMarshaller unMarshalWObject +} + +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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalwObject) FromProto(msg *openapi.WObject) (WObject, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalwObject) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalwObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalwObject) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalwObject) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalwObject) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalwObject) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + 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 := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalWObject + // provides unmarshal interface + Unmarshal() unMarshalWObject + // 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 == nil { + vObj.validationErrors = append(vObj.validationErrors, "WName is required field on interface WObject") + } +} + +func (obj *wObject) setDefault() { + +} + +// ***** ZObject ***** +type zObject struct { + validation + obj *openapi.ZObject + marshaller marshalZObject + unMarshaller unMarshalZObject +} + +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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalzObject) FromProto(msg *openapi.ZObject) (ZObject, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalzObject) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalzObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalzObject) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalzObject) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalzObject) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalzObject) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + 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 := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalZObject + // provides unmarshal interface + Unmarshal() unMarshalZObject + // 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 == nil { + vObj.validationErrors = append(vObj.validationErrors, "Name is required field on interface ZObject") + } +} + +func (obj *zObject) setDefault() { + +} + +// ***** YObject ***** +type yObject struct { + validation + obj *openapi.YObject + marshaller marshalYObject + unMarshaller unMarshalYObject +} + +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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalyObject) FromProto(msg *openapi.YObject) (YObject, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalyObject) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalyObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalyObject) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalyObject) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalyObject) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalyObject) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + 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 := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalYObject + // provides unmarshal interface + Unmarshal() unMarshalYObject + // 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 + marshaller marshalChoiceObject + unMarshaller unMarshalChoiceObject + 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 +} + +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) 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 (m *marshalchoiceObject) ToProto() (*openapi.ChoiceObject, error) { + err := m.obj.validateToAndFrom() + if err != nil { + return nil, err + } + return m.obj.msg(), nil +} + +func (m *unMarshalchoiceObject) FromProto(msg *openapi.ChoiceObject) (ChoiceObject, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalchoiceObject) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalchoiceObject) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalchoiceObject) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalchoiceObject) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalchoiceObject) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalchoiceObject) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + err := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalChoiceObject + // provides unmarshal interface + Unmarshal() unMarshalChoiceObject + // 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 + // getter for NoObj to set choice. + NoObj() + // 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()) +} + +// 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 { + 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 + marshaller marshalRequiredChoiceParent + unMarshaller unMarshalRequiredChoiceParent + 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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalrequiredChoiceParent) FromProto(msg *openapi.RequiredChoiceParent) (RequiredChoiceParent, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalrequiredChoiceParent) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalrequiredChoiceParent) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalrequiredChoiceParent) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalrequiredChoiceParent) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalrequiredChoiceParent) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalrequiredChoiceParent) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + err := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalRequiredChoiceParent + // provides unmarshal interface + Unmarshal() unMarshalRequiredChoiceParent + // 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 + // getter for NoObj to set choice. + NoObj() + // 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()) +} + +// 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( + "%s is not a valid choice on RequiredChoiceParentChoiceEnum", string(value))) + return obj + } + enumValue := openapi.RequiredChoiceParent_Choice_Enum(intValue) + obj.obj.Choice = &enumValue + 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 == nil { + 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 + marshaller marshalError + unMarshaller unMarshalError +} + +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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshal_error) FromProto(msg *openapi.Error) (Error, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshal_error) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshal_error) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshal_error) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshal_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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshal_error) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshal_error) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + 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 := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalError + // provides unmarshal interface + Unmarshal() unMarshalError + // 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.Marshal().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() + } + + // Code is required + if obj.obj.Code == nil { + vObj.validationErrors = append(vObj.validationErrors, "Code is required field on interface Error") + } +} + +func (obj *_error) setDefault() { + +} + +// ***** Metrics ***** +type metrics struct { + validation + obj *openapi.Metrics + marshaller marshalMetrics + unMarshaller unMarshalMetrics + 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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalmetrics) FromProto(msg *openapi.Metrics) (Metrics, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalmetrics) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalmetrics) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalmetrics) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalmetrics) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalmetrics) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalmetrics) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + err := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalMetrics + // provides unmarshal interface + Unmarshal() unMarshalMetrics + // 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 + marshaller marshalWarningDetails + unMarshaller unMarshalWarningDetails +} + +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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalwarningDetails) FromProto(msg *openapi.WarningDetails) (WarningDetails, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalwarningDetails) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalwarningDetails) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalwarningDetails) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalwarningDetails) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalwarningDetails) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalwarningDetails) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + 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 := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalWarningDetails + // provides unmarshal interface + Unmarshal() unMarshalWarningDetails + // 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 + 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 +} + +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) Marshal() marshalCommonResponseSuccess { + if obj.marshaller == nil { + obj.marshaller = &marshalcommonResponseSuccess{obj: obj} + } + return obj.marshaller +} + +func (obj *commonResponseSuccess) Unmarshal() unMarshalCommonResponseSuccess { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalcommonResponseSuccess{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalcommonResponseSuccess) ToProto() (*openapi.CommonResponseSuccess, error) { + err := m.obj.validateToAndFrom() + if err != nil { + return nil, err + } + return m.obj.msg(), nil +} + +func (m *unMarshalcommonResponseSuccess) FromProto(msg *openapi.CommonResponseSuccess) (CommonResponseSuccess, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalcommonResponseSuccess) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalcommonResponseSuccess) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalcommonResponseSuccess) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalcommonResponseSuccess) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalcommonResponseSuccess) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalcommonResponseSuccess) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + 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 := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalCommonResponseSuccess + // provides unmarshal interface + Unmarshal() unMarshalCommonResponseSuccess + // 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 + marshaller marshalServiceAbcItemList + unMarshaller unMarshalServiceAbcItemList + 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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalserviceAbcItemList) FromProto(msg *openapi.ServiceAbcItemList) (ServiceAbcItemList, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalserviceAbcItemList) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalserviceAbcItemList) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalserviceAbcItemList) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalserviceAbcItemList) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalserviceAbcItemList) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalserviceAbcItemList) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + err := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalServiceAbcItemList + // provides unmarshal interface + Unmarshal() unMarshalServiceAbcItemList + // 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 + marshaller marshalServiceAbcItem + unMarshaller unMarshalServiceAbcItem +} + +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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalserviceAbcItem) FromProto(msg *openapi.ServiceAbcItem) (ServiceAbcItem, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalserviceAbcItem) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalserviceAbcItem) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalserviceAbcItem) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalserviceAbcItem) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalserviceAbcItem) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalserviceAbcItem) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + 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 := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalServiceAbcItem + // provides unmarshal interface + Unmarshal() unMarshalServiceAbcItem + // 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 + marshaller marshalVersion + unMarshaller unMarshalVersion +} + +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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalversion) FromProto(msg *openapi.Version) (Version, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalversion) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalversion) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalversion) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalversion) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalversion) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalversion) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + 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 := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalVersion + // provides unmarshal interface + Unmarshal() unMarshalVersion + // 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 + marshaller marshalLevelTwo + unMarshaller unMarshalLevelTwo + 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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshallevelTwo) FromProto(msg *openapi.LevelTwo) (LevelTwo, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshallevelTwo) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshallevelTwo) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshallevelTwo) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshallevelTwo) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshallevelTwo) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshallevelTwo) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + err := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalLevelTwo + // provides unmarshal interface + Unmarshal() unMarshalLevelTwo + // 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 + marshaller marshalLevelFour + unMarshaller unMarshalLevelFour + 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 +} + +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) Unmarshal() unMarshalLevelFour { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshallevelFour{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshallevelFour) ToProto() (*openapi.LevelFour, error) { + err := m.obj.validateToAndFrom() + if err != nil { + return nil, err + } + return m.obj.msg(), nil +} + +func (m *unMarshallevelFour) FromProto(msg *openapi.LevelFour) (LevelFour, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshallevelFour) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshallevelFour) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshallevelFour) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshallevelFour) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshallevelFour) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshallevelFour) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + err := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalLevelFour + // provides unmarshal interface + Unmarshal() unMarshalLevelFour + // 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 + marshaller marshalPatternIpv4PatternIpv4 + unMarshaller unMarshalPatternIpv4PatternIpv4 + 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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalpatternIpv4PatternIpv4) FromProto(msg *openapi.PatternIpv4PatternIpv4) (PatternIpv4PatternIpv4, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalpatternIpv4PatternIpv4) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalpatternIpv4PatternIpv4) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalpatternIpv4PatternIpv4) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalpatternIpv4PatternIpv4) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalpatternIpv4PatternIpv4) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalpatternIpv4PatternIpv4) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + err := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalPatternIpv4PatternIpv4 + // provides unmarshal interface + Unmarshal() unMarshalPatternIpv4PatternIpv4 + // 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 + marshaller marshalPatternIpv6PatternIpv6 + unMarshaller unMarshalPatternIpv6PatternIpv6 + 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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalpatternIpv6PatternIpv6) FromProto(msg *openapi.PatternIpv6PatternIpv6) (PatternIpv6PatternIpv6, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalpatternIpv6PatternIpv6) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalpatternIpv6PatternIpv6) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalpatternIpv6PatternIpv6) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalpatternIpv6PatternIpv6) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalpatternIpv6PatternIpv6) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalpatternIpv6PatternIpv6) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + err := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalPatternIpv6PatternIpv6 + // provides unmarshal interface + Unmarshal() unMarshalPatternIpv6PatternIpv6 + // 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 + marshaller marshalPatternMacPatternMac + unMarshaller unMarshalPatternMacPatternMac + 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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalpatternMacPatternMac) FromProto(msg *openapi.PatternMacPatternMac) (PatternMacPatternMac, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalpatternMacPatternMac) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalpatternMacPatternMac) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalpatternMacPatternMac) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalpatternMacPatternMac) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalpatternMacPatternMac) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalpatternMacPatternMac) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + err := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalPatternMacPatternMac + // provides unmarshal interface + Unmarshal() unMarshalPatternMacPatternMac + // 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 + marshaller marshalPatternIntegerPatternInteger + unMarshaller unMarshalPatternIntegerPatternInteger + 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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalpatternIntegerPatternInteger) FromProto(msg *openapi.PatternIntegerPatternInteger) (PatternIntegerPatternInteger, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalpatternIntegerPatternInteger) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalpatternIntegerPatternInteger) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalpatternIntegerPatternInteger) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalpatternIntegerPatternInteger) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalpatternIntegerPatternInteger) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalpatternIntegerPatternInteger) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + err := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalPatternIntegerPatternInteger + // provides unmarshal interface + Unmarshal() unMarshalPatternIntegerPatternInteger + // 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 + 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 +} + +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) Marshal() marshalPatternChecksumPatternChecksum { + if obj.marshaller == nil { + obj.marshaller = &marshalpatternChecksumPatternChecksum{obj: obj} + } + return obj.marshaller +} + +func (obj *patternChecksumPatternChecksum) Unmarshal() unMarshalPatternChecksumPatternChecksum { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshalpatternChecksumPatternChecksum{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshalpatternChecksumPatternChecksum) ToProto() (*openapi.PatternChecksumPatternChecksum, error) { + err := m.obj.validateToAndFrom() + if err != nil { + return nil, err + } + return m.obj.msg(), nil +} + +func (m *unMarshalpatternChecksumPatternChecksum) FromProto(msg *openapi.PatternChecksumPatternChecksum) (PatternChecksumPatternChecksum, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalpatternChecksumPatternChecksum) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalpatternChecksumPatternChecksum) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalpatternChecksumPatternChecksum) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalpatternChecksumPatternChecksum) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalpatternChecksumPatternChecksum) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalpatternChecksumPatternChecksum) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + 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 := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalPatternChecksumPatternChecksum + // provides unmarshal interface + Unmarshal() unMarshalPatternChecksumPatternChecksum + // 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 + marshaller marshalPatternPrefixConfigAutoFieldTestCounter + unMarshaller unMarshalPatternPrefixConfigAutoFieldTestCounter +} + +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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalpatternPrefixConfigAutoFieldTestCounter) FromProto(msg *openapi.PatternPrefixConfigAutoFieldTestCounter) (PatternPrefixConfigAutoFieldTestCounter, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalpatternPrefixConfigAutoFieldTestCounter) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalpatternPrefixConfigAutoFieldTestCounter) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalpatternPrefixConfigAutoFieldTestCounter) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalpatternPrefixConfigAutoFieldTestCounter) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalpatternPrefixConfigAutoFieldTestCounter) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalpatternPrefixConfigAutoFieldTestCounter) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + 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 := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalPatternPrefixConfigAutoFieldTestCounter + // provides unmarshal interface + Unmarshal() unMarshalPatternPrefixConfigAutoFieldTestCounter + // 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 + marshaller marshalRequiredChoiceIntermediate + unMarshaller unMarshalRequiredChoiceIntermediate + 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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalrequiredChoiceIntermediate) FromProto(msg *openapi.RequiredChoiceIntermediate) (RequiredChoiceIntermediate, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalrequiredChoiceIntermediate) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalrequiredChoiceIntermediate) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalrequiredChoiceIntermediate) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalrequiredChoiceIntermediate) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalrequiredChoiceIntermediate) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalrequiredChoiceIntermediate) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + uError := opts.Unmarshal([]byte(value), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + m.obj.setNil() + err := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalRequiredChoiceIntermediate + // provides unmarshal interface + Unmarshal() unMarshalRequiredChoiceIntermediate + // 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 + } + enumValue := openapi.RequiredChoiceIntermediate_Choice_Enum(intValue) + obj.obj.Choice = &enumValue + 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 == nil { + 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 + marshaller marshalPortMetric + unMarshaller unMarshalPortMetric +} + +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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalportMetric) FromProto(msg *openapi.PortMetric) (PortMetric, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalportMetric) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalportMetric) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalportMetric) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalportMetric) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalportMetric) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalportMetric) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + 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 := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalPortMetric + // provides unmarshal interface + Unmarshal() unMarshalPortMetric + // 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 == 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() { + +} + +// ***** FlowMetric ***** +type flowMetric struct { + validation + obj *openapi.FlowMetric + marshaller marshalFlowMetric + unMarshaller unMarshalFlowMetric +} + +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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalflowMetric) FromProto(msg *openapi.FlowMetric) (FlowMetric, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalflowMetric) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalflowMetric) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalflowMetric) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalflowMetric) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalflowMetric) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalflowMetric) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + 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 := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalFlowMetric + // provides unmarshal interface + Unmarshal() unMarshalFlowMetric + // 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 == 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() { + +} + +// ***** LevelThree ***** +type levelThree struct { + validation + obj *openapi.LevelThree + marshaller marshalLevelThree + unMarshaller unMarshalLevelThree +} + +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 +} + +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) Unmarshal() unMarshalLevelThree { + if obj.unMarshaller == nil { + obj.unMarshaller = &unMarshallevelThree{obj: obj} + } + return obj.unMarshaller +} + +func (m *marshallevelThree) ToProto() (*openapi.LevelThree, error) { + err := m.obj.validateToAndFrom() + if err != nil { + return nil, err + } + return m.obj.msg(), nil +} + +func (m *unMarshallevelThree) FromProto(msg *openapi.LevelThree) (LevelThree, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshallevelThree) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshallevelThree) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshallevelThree) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshallevelThree) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshallevelThree) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshallevelThree) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + 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 := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalLevelThree + // provides unmarshal interface + Unmarshal() unMarshalLevelThree + // 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 + marshaller marshalPatternIpv4PatternIpv4Counter + unMarshaller unMarshalPatternIpv4PatternIpv4Counter +} + +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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalpatternIpv4PatternIpv4Counter) FromProto(msg *openapi.PatternIpv4PatternIpv4Counter) (PatternIpv4PatternIpv4Counter, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalpatternIpv4PatternIpv4Counter) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalpatternIpv4PatternIpv4Counter) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalpatternIpv4PatternIpv4Counter) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalpatternIpv4PatternIpv4Counter) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalpatternIpv4PatternIpv4Counter) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalpatternIpv4PatternIpv4Counter) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + 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 := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalPatternIpv4PatternIpv4Counter + // provides unmarshal interface + Unmarshal() unMarshalPatternIpv4PatternIpv4Counter + // 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 + marshaller marshalPatternIpv6PatternIpv6Counter + unMarshaller unMarshalPatternIpv6PatternIpv6Counter +} + +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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalpatternIpv6PatternIpv6Counter) FromProto(msg *openapi.PatternIpv6PatternIpv6Counter) (PatternIpv6PatternIpv6Counter, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalpatternIpv6PatternIpv6Counter) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalpatternIpv6PatternIpv6Counter) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalpatternIpv6PatternIpv6Counter) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalpatternIpv6PatternIpv6Counter) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalpatternIpv6PatternIpv6Counter) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalpatternIpv6PatternIpv6Counter) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + 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 := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalPatternIpv6PatternIpv6Counter + // provides unmarshal interface + Unmarshal() unMarshalPatternIpv6PatternIpv6Counter + // 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 + marshaller marshalPatternMacPatternMacCounter + unMarshaller unMarshalPatternMacPatternMacCounter +} + +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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalpatternMacPatternMacCounter) FromProto(msg *openapi.PatternMacPatternMacCounter) (PatternMacPatternMacCounter, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalpatternMacPatternMacCounter) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalpatternMacPatternMacCounter) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalpatternMacPatternMacCounter) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalpatternMacPatternMacCounter) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalpatternMacPatternMacCounter) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalpatternMacPatternMacCounter) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + 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 := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalPatternMacPatternMacCounter + // provides unmarshal interface + Unmarshal() unMarshalPatternMacPatternMacCounter + // 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 + marshaller marshalPatternIntegerPatternIntegerCounter + unMarshaller unMarshalPatternIntegerPatternIntegerCounter +} + +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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalpatternIntegerPatternIntegerCounter) FromProto(msg *openapi.PatternIntegerPatternIntegerCounter) (PatternIntegerPatternIntegerCounter, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalpatternIntegerPatternIntegerCounter) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalpatternIntegerPatternIntegerCounter) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalpatternIntegerPatternIntegerCounter) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalpatternIntegerPatternIntegerCounter) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalpatternIntegerPatternIntegerCounter) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalpatternIntegerPatternIntegerCounter) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + 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 := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalPatternIntegerPatternIntegerCounter + // provides unmarshal interface + Unmarshal() unMarshalPatternIntegerPatternIntegerCounter + // 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 + marshaller marshalRequiredChoiceIntermeLeaf + unMarshaller unMarshalRequiredChoiceIntermeLeaf +} + +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 +} + +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 m.obj.msg(), nil +} + +func (m *unMarshalrequiredChoiceIntermeLeaf) FromProto(msg *openapi.RequiredChoiceIntermeLeaf) (RequiredChoiceIntermeLeaf, error) { + newObj := m.obj.setMsg(msg) + err := newObj.validateToAndFrom() + if err != nil { + return nil, err + } + return newObj, nil +} + +func (m *marshalrequiredChoiceIntermeLeaf) ToPbText() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + protoMarshal, err := proto.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(protoMarshal), nil +} + +func (m *unMarshalrequiredChoiceIntermeLeaf) FromPbText(value string) error { + retObj := proto.Unmarshal([]byte(value), m.obj.msg()) + if retObj != nil { + return retObj + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return retObj +} + +func (m *marshalrequiredChoiceIntermeLeaf) ToYaml() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + data, err = yaml.JSONToYAML(data) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalrequiredChoiceIntermeLeaf) 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), m.obj.msg()) + if uError != nil { + return fmt.Errorf("unmarshal error %s", strings.Replace( + uError.Error(), "\u00a0", " ", -1)[7:]) + } + + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return vErr + } + return nil +} + +func (m *marshalrequiredChoiceIntermeLeaf) ToJson() (string, error) { + vErr := m.obj.validateToAndFrom() + if vErr != nil { + return "", vErr + } + opts := protojson.MarshalOptions{ + UseProtoNames: true, + AllowPartial: true, + EmitUnpopulated: false, + Indent: " ", + } + data, err := opts.Marshal(m.obj.msg()) + if err != nil { + return "", err + } + return string(data), nil +} + +func (m *unMarshalrequiredChoiceIntermeLeaf) FromJson(value string) error { + opts := protojson.UnmarshalOptions{ + AllowPartial: true, + DiscardUnknown: false, + } + if value == "" { + value = "{}" + } + 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 := m.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.Marshal().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 + // provides marshal interface + Marshal() marshalRequiredChoiceIntermeLeaf + // provides unmarshal interface + Unmarshal() unMarshalRequiredChoiceIntermeLeaf + // 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..fb480240 --- /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().Marshal()); 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.Unmarshal().FromJson(rsp_err.Error()) + if err != nil { + _ = result.SetCode(statusCode) + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + _ = result.SetErrors([]string{rsp_err.Error()}) + } + } + + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result.Marshal()); 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.Unmarshal().FromJson(rsp_err.Error()) + if err != nil { + _ = result.SetCode(statusCode) + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + _ = result.SetErrors([]string{rsp_err.Error()}) + } + } + + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result.Marshal()); 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.Unmarshal().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().Marshal()); 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.Unmarshal().FromJson(rsp_err.Error()) + if err != nil { + _ = result.SetCode(statusCode) + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + _ = result.SetErrors([]string{rsp_err.Error()}) + } + } + + 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 new file mode 100644 index 00000000..7ce817b7 --- /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.Unmarshal().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.Unmarshal().FromJson(rsp_err.Error()) + if err != nil { + _ = result.SetCode(statusCode) + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + _ = result.SetErrors([]string{rsp_err.Error()}) + } + } + + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result.Marshal()); 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.Unmarshal().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().Marshal()); 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.Unmarshal().FromJson(rsp_err.Error()) + if err != nil { + _ = result.SetCode(statusCode) + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + _ = result.SetErrors([]string{rsp_err.Error()}) + } + } + + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result.Marshal()); 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().Marshal()); 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.Unmarshal().FromJson(rsp_err.Error()) + if err != nil { + _ = result.SetCode(statusCode) + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + _ = result.SetErrors([]string{rsp_err.Error()}) + } + } + + 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 new file mode 100644 index 00000000..18b8166e --- /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().Marshal()); 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.Unmarshal().FromJson(rsp_err.Error()) + if err != nil { + _ = result.SetCode(statusCode) + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + _ = result.SetErrors([]string{rsp_err.Error()}) + } + } + + 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 new file mode 100644 index 00000000..6661bd9f --- /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.Unmarshal().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().Marshal()); 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.Unmarshal().FromJson(rsp_err.Error()) + if err != nil { + _ = result.SetCode(statusCode) + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + _ = result.SetErrors([]string{rsp_err.Error()}) + } + } + + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result.Marshal()); 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().Marshal()); 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.Unmarshal().FromJson(rsp_err.Error()) + if err != nil { + _ = result.SetCode(statusCode) + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + _ = result.SetErrors([]string{rsp_err.Error()}) + } + } + + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result.Marshal()); 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.Unmarshal().FromJson(rsp_err.Error()) + if err != nil { + _ = result.SetCode(statusCode) + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + _ = result.SetErrors([]string{rsp_err.Error()}) + } + } + + 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 new file mode 100644 index 00000000..92761f7a --- /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().Marshal()); 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.Unmarshal().FromJson(rsp_err.Error()) + if err != nil { + _ = result.SetCode(statusCode) + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + _ = result.SetErrors([]string{rsp_err.Error()}) + } + } + + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result.Marshal()); 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().Marshal()); 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.Unmarshal().FromJson(rsp_err.Error()) + if err != nil { + _ = result.SetCode(statusCode) + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + _ = result.SetErrors([]string{rsp_err.Error()}) + } + } + + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result.Marshal()); 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().Marshal()); 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.Unmarshal().FromJson(rsp_err.Error()) + if err != nil { + _ = result.SetCode(statusCode) + err = result.SetKind(errorKind) + if err != nil { + log.Print(err.Error()) + } + _ = result.SetErrors([]string{rsp_err.Error()}) + } + } + + if _, err := httpapi.WriteJSONResponse(w, int(result.Code()), result.Marshal()); 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..44abf508 --- /dev/null +++ b/artifacts/goapi/openapi/openapi.pb.go @@ -0,0 +1,8902 @@ +// 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,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. + 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 && x.Code != 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" 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,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,oneof" json:"b,omitempty"` + // Description missing in models + // required = true + C *int32 `protobuf:"varint,9,opt,name=c,proto3,oneof" 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" json:"e,omitempty"` + // An object with only choice(s) + 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 + // 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" json:"k,omitempty"` + // Description missing in models + 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" json:"level,omitempty"` + // Description missing in models + 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" json:"ipv4_pattern,omitempty"` + // Description missing in models + 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" json:"mac_pattern,omitempty"` + // Description missing in models + 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" json:"checksum_pattern,omitempty"` + // Description missing in models + 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" 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" 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" 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" json:"z_object,omitempty"` + // Description missing in models + 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" 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 && x.A != nil { + return *x.A + } + return "" +} + +func (x *PrefixConfig) GetB() float32 { + if x != nil && x.B != nil { + return *x.B + } + return 0 +} + +func (x *PrefixConfig) GetC() int32 { + if x != nil && x.C != 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,oneof" 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 && x.WName != 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,oneof" 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 && x.Name != 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,oneof" json:"e_a,omitempty"` + // Description missing in models + // required = true + 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 + 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 && x.EA != nil { + return *x.EA + } + return 0 +} + +func (x *EObject) GetEB() float64 { + if x != nil && x.EB != 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" json:"j_a,omitempty"` + // Description missing in models + JB *FObject `protobuf:"bytes,3,opt,name=j_b,json=jB,proto3" 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" json:"e_obj,omitempty"` + // Description missing in models + FObj *FObject `protobuf:"bytes,3,opt,name=f_obj,json=fObj,proto3" 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" json:"e_object,omitempty"` + // Description missing in models + FObject *FObject `protobuf:"bytes,2,opt,name=f_object,json=fObject,proto3" 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,oneof" json:"string_param,omitempty"` + // Description missing in models + // required = true + 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,oneof" json:"float,omitempty"` + // Description missing in models + // required = true + 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,oneof" json:"mac,omitempty"` + // Description missing in models + // required = true + 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,oneof" json:"ipv6,omitempty"` + // Description missing in models + // required = true + Hex *string `protobuf:"bytes,8,opt,name=hex,proto3,oneof" 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 && x.StringParam != nil { + return *x.StringParam + } + return "" +} + +func (x *MObject) GetInteger() int32 { + if x != nil && x.Integer != nil { + return *x.Integer + } + return 0 +} + +func (x *MObject) GetFloat() float32 { + if x != nil && x.Float != nil { + return *x.Float + } + return 0 +} + +func (x *MObject) GetDouble() float64 { + if x != nil && x.Double != nil { + return *x.Double + } + return 0 +} + +func (x *MObject) GetMac() string { + if x != nil && x.Mac != nil { + return *x.Mac + } + return "" +} + +func (x *MObject) GetIpv4() string { + if x != nil && x.Ipv4 != nil { + return *x.Ipv4 + } + return "" +} + +func (x *MObject) GetIpv6() string { + if x != nil && x.Ipv6 != nil { + return *x.Ipv6 + } + return "" +} + +func (x *MObject) GetHex() string { + if x != nil && x.Hex != 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,oneof" 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 && x.RequiredParam != 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,oneof" json:"name,omitempty"` + // Description missing in models + // required = true + 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,oneof" 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 && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *PortMetric) GetTxFrames() float64 { + if x != nil && x.TxFrames != nil { + return *x.TxFrames + } + return 0 +} + +func (x *PortMetric) GetRxFrames() float64 { + if x != nil && x.RxFrames != 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,oneof" json:"name,omitempty"` + // Description missing in models + // required = true + 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,oneof" 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 && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *FlowMetric) GetTxFrames() float64 { + if x != nil && x.TxFrames != nil { + return *x.TxFrames + } + return 0 +} + +func (x *FlowMetric) GetRxFrames() float64 { + if x != nil && x.RxFrames != 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,oneof" json:"choice,omitempty"` + // Description missing in models + IntermediateObj *RequiredChoiceIntermediate `protobuf:"bytes,2,opt,name=intermediate_obj,json=intermediateObj,proto3" 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 && x.Choice != 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,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" 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 && x.Choice != 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" json:"l1_p1,omitempty"` + // Level one to four + L1P2 *LevelFour `protobuf:"bytes,2,opt,name=l1_p2,json=l1P2,proto3" 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" 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" 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" 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" 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" 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" 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" 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" json:"increment,omitempty"` + // Description missing in models + Decrement *PatternPrefixConfigAutoFieldTestCounter `protobuf:"bytes,7,opt,name=decrement,proto3" 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" json:"increment,omitempty"` + // Description missing in models + Decrement *PatternIpv4PatternIpv4Counter `protobuf:"bytes,6,opt,name=decrement,proto3" 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" json:"increment,omitempty"` + // Description missing in models + Decrement *PatternIpv6PatternIpv6Counter `protobuf:"bytes,6,opt,name=decrement,proto3" 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" json:"increment,omitempty"` + // Description missing in models + Decrement *PatternMacPatternMacCounter `protobuf:"bytes,7,opt,name=decrement,proto3" 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" json:"increment,omitempty"` + // Description missing in models + Decrement *PatternIntegerPatternIntegerCounter `protobuf:"bytes,6,opt,name=decrement,proto3" 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, 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, 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, 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, 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, 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, + 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, 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, 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, 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, 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, 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, 0x36, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x49, 0x70, 0x76, + 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, 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, + 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, 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[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{}{} + 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[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[27].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..67b03853 --- /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 + optional 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. + 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 + optional string a = 7; + + // Longer multi-line description + // Second line is here + // Third line + // required = true + optional float b = 8; + + // Description missing in models + // required = true + optional 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 + EObject e = 11; + + // An object with only choice(s) + 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 + KObject k = 17; + + // Description missing in models + 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 + LevelOne level = 21; + + // Description missing in models + Mandate mandatory = 22; + + // Description missing in models + Ipv4Pattern ipv4_pattern = 23; + + // Description missing in models + Ipv6Pattern ipv6_pattern = 24; + + // Description missing in models + MacPattern mac_pattern = 25; + + // Description missing in models + IntegerPattern integer_pattern = 26; + + // Description missing in models + ChecksumPattern checksum_pattern = 27; + + // Description missing in models + Layer1Ieee802x case = 28; + + // Description missing in models + MObject m_object = 29; + + // int64 type + optional int64 integer64 = 30; + + // int64 type list + repeated int64 integer64_list = 31; + + // Description missing in models + 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 + 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 + ZObject z_object = 39; + + // Description missing in models + YObject y_object = 40; + + // A list of objects with choice with and without properties + repeated ChoiceObject choice_object = 41; + + // Description missing in models + 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 + optional string w_name = 1; +} + +// Description missing in models +message ZObject { + + // Description missing in models + // required = true + optional 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 + optional float e_a = 1; + + // Description missing in models + // required = true + optional 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 + EObject j_a = 2; + + // Description missing in models + 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 + EObject e_obj = 2; + + // Description missing in models + FObject f_obj = 3; +} + +// Description missing in models +message KObject { + + // Description missing in models + EObject e_object = 1; + + // Description missing in models + 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 + optional string string_param = 1; + + // Description missing in models + // required = true + optional int32 integer = 2; + + // Description missing in models + // required = true + optional float float = 3; + + // Description missing in models + // required = true + optional double double = 4; + + // Description missing in models + // required = true + optional string mac = 5; + + // Description missing in models + // required = true + optional string ipv4 = 6; + + // Description missing in models + // required = true + optional string ipv6 = 7; + + // Description missing in models + // required = true + optional string hex = 8; +} + +// Object to Test required Parameter +message Mandate { + + // Description missing in models + // required = true + optional 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 + optional string name = 1; + + // Description missing in models + // required = true + optional double tx_frames = 2; + + // Description missing in models + // required = true + optional double rx_frames = 3; +} + +// Description missing in models +message FlowMetric { + + // Description missing in models + // required = true + optional string name = 1; + + // Description missing in models + // required = true + optional double tx_frames = 2; + + // Description missing in models + // required = true + optional 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 + optional Choice.Enum choice = 1; + + // Description missing in models + 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 + optional Choice.Enum choice = 1; + + // Description missing in models + // default = some string + optional string f_a = 2; + + // Description missing in models + 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 + LevelTwo l1_p1 = 1; + + // Level one to four + LevelFour l1_p2 = 2; +} + +// Test Level 2 +message LevelTwo { + + // Level Two + 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 + LevelOne l4_p1 = 1; +} + +// Test ipv4 pattern +message Ipv4Pattern { + + // Description missing in models + PatternIpv4PatternIpv4 ipv4 = 1; +} + +// Test ipv6 pattern +message Ipv6Pattern { + + // Description missing in models + PatternIpv6PatternIpv6 ipv6 = 1; +} + +// Test mac pattern +message MacPattern { + + // Description missing in models + PatternMacPatternMac mac = 1; +} + +// Test integer pattern +message IntegerPattern { + + // Description missing in models + PatternIntegerPatternInteger integer = 1; +} + +// Test checksum pattern +message ChecksumPattern { + + // Description missing in models + 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 + PatternPrefixConfigAutoFieldTestCounter increment = 6; + + // Description missing in models + 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 + PatternIpv4PatternIpv4Counter increment = 5; + + // Description missing in models + 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 + PatternIpv6PatternIpv6Counter increment = 5; + + // Description missing in models + 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 + PatternMacPatternMacCounter increment = 6; + + // Description missing in models + 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 + PatternIntegerPatternIntegerCounter increment = 5; + + // Description missing in models + 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/openapi_pb2.py b/artifacts/pyapi/openapi_pb2.py new file mode 100644 index 00000000..5289c603 --- /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\"\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()) +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=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/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..4f511330 --- /dev/null +++ b/artifacts/pyapi/pyapi.py @@ -0,0 +1,8213 @@ +# 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"]: + raise_error = False + if isinstance(property_value, list): + for value in property_value: + if value not in details["enum"]: + raise_error = True + break + elif property_value not in details["enum"]: + raise_error = True + + if raise_error is True: + 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, + "enum": [ + "a", + "b", + "c", + ], + "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..ad314cef --- /dev/null +++ b/artifacts/pyapi/requirements.txt @@ -0,0 +1,11 @@ +--prefer-binary +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' +grpcio-tools~=1.35.0 ; python_version <= '3.6' +requests +urllib3 +semantic_version diff --git a/do.py b/do.py index e781106e..c1711a65 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), @@ -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 @@ -348,7 +348,7 @@ def clean(): "build", "*.egg-info", "cov_report", - "art", + "artifacts", ] recursive_patterns = [ ".pytest_cache", @@ -515,6 +515,32 @@ 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 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, "pyapi"), + ) + 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", "openapi"), + os.path.join(go_path, "openapi"), + dirs_exist_ok=True, + ) + + files = ["goapi.go", "go.mod", "go.sum"] + for file in files: + shutil.copy(os.path.join(base_dir, "pkg", file), go_path) + if sdk == "python" or sdk == "all": print("\nSTEP 4: Perform Python lint\n") lint() diff --git a/openapiart/openapiart.py b/openapiart/openapiart.py index 7cf0a9ec..a98cf286 100644 --- a/openapiart/openapiart.py +++ b/openapiart/openapiart.py @@ -42,10 +42,10 @@ 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" @@ -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 dd2fde78..7564233c 100644 --- a/openapiart/tests/conftest.py +++ b/openapiart/tests/conftest.py @@ -13,22 +13,23 @@ # 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__), "..", "..", "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 ) ) 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) @@ -88,8 +89,8 @@ def secure_grpc_api(): @pytest.fixture(scope="session") def proto_file_name(): - art_dir = os.path.join(os.path.dirname(__file__), "..", "..", "art") - proto_file = os.path.join(art_dir, "{}.proto".format(pytest.module_name)) + art_dir = os.path.join(os.path.dirname(__file__), "..", "..", "artifacts") + 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 84d0bd96..4034cc34 100644 --- a/openapiart/tests/grpcserver.py +++ b/openapiart/tests/grpcserver.py @@ -8,13 +8,15 @@ 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") ) -pb2_grpc = importlib.import_module("sanity_pb2_grpc") -pb2 = importlib.import_module("sanity_pb2") -op = importlib.import_module("sanity") +sys.path.append( + os.path.join(os.path.dirname(__file__), "..", "..", "artifacts", "pyapi") +) +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 4c8c9ddc..5166c252 100644 --- a/openapiart/tests/server.py +++ b/openapiart/tests/server.py @@ -77,8 +77,8 @@ def after_request(resp): 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 + 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_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 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 cc56f8c6..dc26a5bd 100644 --- a/openapiart/tests/test_perf.py +++ b/openapiart/tests/test_perf.py @@ -1,8 +1,10 @@ import sys import os -sys.path.append(os.path.join(os.path.dirname(__file__), "..", "..", "art")) -import sanity +sys.path.append( + os.path.join(os.path.dirname(__file__), "..", "..", "artifacts") +) +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 be1fff73..13739ba7 100644 --- a/openapiart/tests/test_set.py +++ b/openapiart/tests/test_set.py @@ -2,8 +2,10 @@ import os import pytest -sys.path.append(os.path.join(os.path.dirname(__file__), "..", "..", "art")) -import sanity +sys.path.append( + os.path.join(os.path.dirname(__file__), "..", "..", "artifacts") +) +import pyapi as sanity def test_set(api): diff --git a/pkg/choice_test.go b/pkg/choice_test.go index 54f9ac3f..0789ad05 100644 --- a/pkg/choice_test.go +++ b/pkg/choice_test.go @@ -1,47 +1,48 @@ -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) { - config := openapiart.NewPrefixConfig() + + config := goapi.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.FC() - assert.Equal(t, fObj.Choice(), openapiart.FObjectChoice.F_C) + assert.Equal(t, fObj.Choice(), goapi.FObjectChoice.F_C) _, err := fObj.Marshal().ToYaml() assert.Nil(t, err) } func TestChoiceWithNoPropertiesForIterNode(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.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.Marshal().ToYaml() assert.Nil(t, err) @@ -50,14 +51,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()) - chObj := openapiart.NewChoiceObject() + chObj := goapi.NewChoiceObject() chObj.EObj() config.ChoiceObject().Set(1, chObj) assert.Len(t, config.ChoiceObject().Items(), 2) @@ -67,26 +68,26 @@ func TestChoiceWithNoPropertiesForIterNode(t *testing.T) { } func TestChoiceWithNoPropertiesForChoiceHeirarchy(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.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.Marshal().ToYaml() 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.FC() - assert.Equal(t, fObj.Choice(), openapiart.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 586742b8..45e83b8c 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 e52a898d..dceda8f3 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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.Unmarshal().FromYaml(incorrect_format)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_format)) assert.NotNil(t, object.Unmarshal().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.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 36154333..aa3ab092 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.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -38,7 +38,7 @@ func TestEObjectIncorrectKey(t *testing.T) { } }` - object := openapiart.NewEObject() + object := goapi.NewEObject() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -56,7 +56,7 @@ func TestFObjectIncorrectKey(t *testing.T) { } }` - object := openapiart.NewFObject() + object := goapi.NewFObject() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -74,7 +74,7 @@ func TestGObjectIncorrectKey(t *testing.T) { } }` - object := openapiart.NewGObject() + object := goapi.NewGObject() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -92,7 +92,7 @@ func TestJObjectIncorrectKey(t *testing.T) { } }` - object := openapiart.NewJObject() + object := goapi.NewJObject() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -110,7 +110,7 @@ func TestKObjectIncorrectKey(t *testing.T) { } }` - object := openapiart.NewKObject() + object := goapi.NewKObject() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -128,7 +128,7 @@ func TestLObjectIncorrectKey(t *testing.T) { } }` - object := openapiart.NewLObject() + object := goapi.NewLObject() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -146,7 +146,7 @@ func TestLevelOneIncorrectKey(t *testing.T) { } }` - object := openapiart.NewLevelOne() + object := goapi.NewLevelOne() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -164,7 +164,7 @@ func TestMandateIncorrectKey(t *testing.T) { } }` - object := openapiart.NewMandate() + object := goapi.NewMandate() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -182,7 +182,7 @@ func TestIpv4PatternIncorrectKey(t *testing.T) { } }` - object := openapiart.NewIpv4Pattern() + object := goapi.NewIpv4Pattern() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -200,7 +200,7 @@ func TestIpv6PatternIncorrectKey(t *testing.T) { } }` - object := openapiart.NewIpv6Pattern() + object := goapi.NewIpv6Pattern() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -218,7 +218,7 @@ func TestMacPatternIncorrectKey(t *testing.T) { } }` - object := openapiart.NewMacPattern() + object := goapi.NewMacPattern() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -236,7 +236,7 @@ func TestIntegerPatternIncorrectKey(t *testing.T) { } }` - object := openapiart.NewIntegerPattern() + object := goapi.NewIntegerPattern() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -254,7 +254,7 @@ func TestChecksumPatternIncorrectKey(t *testing.T) { } }` - object := openapiart.NewChecksumPattern() + object := goapi.NewChecksumPattern() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -272,7 +272,7 @@ func TestLayer1Ieee802XIncorrectKey(t *testing.T) { } }` - object := openapiart.NewLayer1Ieee802X() + object := goapi.NewLayer1Ieee802X() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -290,7 +290,7 @@ func TestMObjectIncorrectKey(t *testing.T) { } }` - object := openapiart.NewMObject() + object := goapi.NewMObject() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -308,7 +308,7 @@ func TestPatternPrefixConfigHeaderChecksumIncorrectKey(t *testing.T) { } }` - object := openapiart.NewPatternPrefixConfigHeaderChecksum() + object := goapi.NewPatternPrefixConfigHeaderChecksum() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -326,7 +326,7 @@ func TestUpdateConfigIncorrectKey(t *testing.T) { } }` - object := openapiart.NewUpdateConfig() + object := goapi.NewUpdateConfig() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -344,7 +344,7 @@ func TestSetConfigResponseIncorrectKey(t *testing.T) { } }` - object := openapiart.NewSetConfigResponse() + object := goapi.NewSetConfigResponse() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -362,7 +362,7 @@ func TestErrorDetailsIncorrectKey(t *testing.T) { } }` - object := openapiart.NewError() + object := goapi.NewError() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -380,7 +380,7 @@ func TestErrorIncorrectKey(t *testing.T) { } }` - object := openapiart.NewError() + object := goapi.NewError() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -398,7 +398,7 @@ func TestUpdateConfigResponseIncorrectKey(t *testing.T) { } }` - object := openapiart.NewUpdateConfigurationResponse() + object := goapi.NewUpdateConfigurationResponse() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -416,7 +416,7 @@ func TestGetConfigResponseIncorrectKey(t *testing.T) { } }` - object := openapiart.NewGetConfigResponse() + object := goapi.NewGetConfigResponse() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -434,7 +434,7 @@ func TestGetMetricsResponseIncorrectKey(t *testing.T) { } }` - object := openapiart.NewGetMetricsResponse() + object := goapi.NewGetMetricsResponse() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -452,7 +452,7 @@ func TestMetricsIncorrectKey(t *testing.T) { } }` - object := openapiart.NewMetrics() + object := goapi.NewMetrics() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -470,7 +470,7 @@ func TestGetWarningsResponseIncorrectKey(t *testing.T) { } }` - object := openapiart.NewGetWarningsResponse() + object := goapi.NewGetWarningsResponse() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -488,7 +488,7 @@ func TestWarningDetailsIncorrectKey(t *testing.T) { } }` - object := openapiart.NewWarningDetails() + object := goapi.NewWarningDetails() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -506,7 +506,7 @@ func TestClearWarningsResponseIncorrectKey(t *testing.T) { } }` - object := openapiart.NewClearWarningsResponse() + object := goapi.NewClearWarningsResponse() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -524,7 +524,7 @@ func TestLevelTwoIncorrectKey(t *testing.T) { } }` - object := openapiart.NewLevelTwo() + object := goapi.NewLevelTwo() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -542,7 +542,7 @@ func TestLevelFourIncorrectKey(t *testing.T) { } }` - object := openapiart.NewLevelFour() + object := goapi.NewLevelFour() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -560,7 +560,7 @@ func TestPatternIpv4PatternIpv4IncorrectKey(t *testing.T) { } }` - object := openapiart.NewPatternIpv4PatternIpv4() + object := goapi.NewPatternIpv4PatternIpv4() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -578,7 +578,7 @@ func TestPatternIpv6PatternIpv6IncorrectKey(t *testing.T) { } }` - object := openapiart.NewPatternIpv6PatternIpv6() + object := goapi.NewPatternIpv6PatternIpv6() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -596,7 +596,7 @@ func TestPatternMacPatternMacIncorrectKey(t *testing.T) { } }` - object := openapiart.NewPatternMacPatternMac() + object := goapi.NewPatternMacPatternMac() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -614,7 +614,7 @@ func TestPatternIntegerPatternIntegerIncorrectKey(t *testing.T) { } }` - object := openapiart.NewPatternIntegerPatternInteger() + object := goapi.NewPatternIntegerPatternInteger() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -632,7 +632,7 @@ func TestPatternChecksumPatternChecksumIncorrectKey(t *testing.T) { } }` - object := openapiart.NewPatternChecksumPatternChecksum() + object := goapi.NewPatternChecksumPatternChecksum() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -650,7 +650,7 @@ func TestPortMetricIncorrectKey(t *testing.T) { } }` - object := openapiart.NewPortMetric() + object := goapi.NewPortMetric() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -668,7 +668,7 @@ func TestLevelThreeIncorrectKey(t *testing.T) { } }` - object := openapiart.NewLevelThree() + object := goapi.NewLevelThree() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -686,7 +686,7 @@ func TestPatternIpv4PatternIpv4CounterIncorrectKey(t *testing.T) { } }` - object := openapiart.NewPatternIpv4PatternIpv4Counter() + object := goapi.NewPatternIpv4PatternIpv4Counter() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -704,7 +704,7 @@ func TestPatternIpv6PatternIpv6CounterIncorrectKey(t *testing.T) { } }` - object := openapiart.NewPatternIpv6PatternIpv6Counter() + object := goapi.NewPatternIpv6PatternIpv6Counter() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -722,7 +722,7 @@ func TestPatternMacPatternMacCounterIncorrectKey(t *testing.T) { } }` - object := openapiart.NewPatternMacPatternMacCounter() + object := goapi.NewPatternMacPatternMacCounter() assert.NotNil(t, object.Unmarshal().FromYaml(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromJson(incorrect_key)) assert.NotNil(t, object.Unmarshal().FromPbText(incorrect_key)) @@ -740,7 +740,7 @@ func TestPatternIntegerPatternIntegerCounterIncorrectKey(t *testing.T) { } }` - object := openapiart.NewPatternIntegerPatternIntegerCounter() + object := goapi.NewPatternIntegerPatternIntegerCounter() 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 72103f5a..1dbd5811 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, @@ -29,7 +29,7 @@ func TestPrefixConfigRequired(t *testing.T) { } // func TestEObjectRequired(t *testing.T) { -// object := openapiart.NewEObject() +// object := goapi.NewEObject() // opts := protojson.MarshalOptions{ // UseProtoNames: true, // AllowPartial: true, @@ -45,7 +45,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, @@ -63,7 +63,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, @@ -81,7 +81,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 55db5beb..0cd6779e 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) { - config := openapiart.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") diff --git a/pkg/generated_validate_test.go b/pkg/generated_validate_test.go index aa0118ac..0527b35a 100644 --- a/pkg/generated_validate_test.go +++ b/pkg/generated_validate_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 TestConfigGeneratedValidate(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() v1 := config.RequiredObject() _, err := v1.Marshal().ToYaml() diff --git a/pkg/mock_grpcserver_test.go b/pkg/mock_grpcserver_test.go index 7845cc8b..dd12bc3a 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() var code int32 = 500 _ = errObj.SetCode(code) tmp := errObj.SetKind("internal") @@ -83,7 +83,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() var code int32 = 404 _ = errObj.SetCode(code) _ = errObj.SetErrors([]string{"returning err1", "returning err2"}) @@ -104,7 +104,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) { - ver, _ := openapiart.NewApi().GetLocalVersion().Marshal().ToProto() + ver, _ := goapi.NewApi().GetLocalVersion().Marshal().ToProto() resp := &sanity.GetVersionResponse{ Version: ver, } @@ -117,7 +117,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() var code int32 = 404 _ = errObj.SetCode(code) tmp := errObj.SetKind("validation") diff --git a/pkg/mock_httpserver_test.go b/pkg/mock_httpserver_test.go index cb433af8..847b577a 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() var code int32 = 500 _ = err.SetCode(code) e := err.SetKind("internal") @@ -97,8 +97,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.Marshal().ToJson() err := response.PrefixConfig().Unmarshal().FromJson(data) if err != nil { @@ -107,15 +107,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 } @@ -135,33 +135,33 @@ 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) { ch, _ := req.Marshal().ToProto() choice := ch.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 d9ccd14f..5428594c 100644 --- a/pkg/multiple_iter_test.go +++ b/pkg/multiple_iter_test.go @@ -1,22 +1,22 @@ -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) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() config.SetA("test") config.SetB(1.234) config.SetC(32) 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 4b676604..0a0b42ff 100644 --- a/pkg/perf_test.go +++ b/pkg/perf_test.go @@ -1,25 +1,25 @@ -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() - config := openapiart.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(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) @@ -71,19 +71,19 @@ func TestPerf(t *testing.T) { assert.Nil(t, p_err) jDStart := time.Now() - jsonconf := openapiart.NewPrefixConfig() + jsonconf := goapi.NewPrefixConfig() jdErr := jsonconf.Unmarshal().FromJson(json) assert.Nil(t, jdErr) jDEnd := time.Now() yDStart := time.Now() - yamlconf := openapiart.NewPrefixConfig() + yamlconf := goapi.NewPrefixConfig() ydErr := yamlconf.Unmarshal().FromYaml(yaml) assert.Nil(t, ydErr) yDEnd := time.Now() pDStart := time.Now() - pbConf := openapiart.NewPrefixConfig() + 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 6de538c8..6681e518 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.Api) openapiart.PrefixConfig { - config := openapiart.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) 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,12 +58,12 @@ func NewFullyPopulatedPrefixConfig(api openapiart.Api) openapiart.PrefixConfig { } func TestPrefixConfigYamlSerDes(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() c1 := NewFullyPopulatedPrefixConfig(api) yaml1, err := c1.Marshal().ToYaml() assert.Nil(t, err) - c2 := openapiart.NewPrefixConfig() + c2 := goapi.NewPrefixConfig() yaml_err := c2.Unmarshal().FromYaml(yaml1) assert.Nil(t, yaml_err) yaml2, err := c2.Marshal().ToYaml() @@ -72,12 +72,12 @@ func TestPrefixConfigYamlSerDes(t *testing.T) { } func TestPrefixConfigJsonSerDes(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() c1 := NewFullyPopulatedPrefixConfig(api) json1, err := c1.Marshal().ToJson() assert.Nil(t, err) - c2 := openapiart.NewPrefixConfig() + c2 := goapi.NewPrefixConfig() json_err := c2.Unmarshal().FromJson(json1) assert.Nil(t, json_err) json2, err := c2.Marshal().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{} @@ -103,7 +103,7 @@ 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 := openapiart.NewPrefixConfig() + c2 := goapi.NewPrefixConfig() json_err := c2.E().Unmarshal().FromJson(string(data1)) assert.Nil(t, json_err) json_err1 := c2.G().Add().Unmarshal().FromJson(string(data2)) @@ -117,11 +117,11 @@ func TestPartialSerDes(t *testing.T) { } func TestPrefixConfigPbTextSerDes(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() c1 := NewFullyPopulatedPrefixConfig(api) pbString, err := c1.Marshal().ToPbText() assert.Nil(t, err) - c2 := openapiart.NewPrefixConfig() + c2 := goapi.NewPrefixConfig() pbtext_err := c2.Unmarshal().FromPbText(pbString) assert.Nil(t, pbtext_err) c1json, err := c1.Marshal().ToJson() @@ -132,7 +132,7 @@ func TestPrefixConfigPbTextSerDes(t *testing.T) { } func TestArrayOfStringsSetGet(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() values := config.ListOfStringValues() assert.Equal(t, 0, len(values)) values = config.SetListOfStringValues([]string{"one", "two", "three"}).ListOfStringValues() @@ -140,20 +140,20 @@ func TestArrayOfStringsSetGet(t *testing.T) { } func TestArrayOfEnumsSetGet(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.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) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() values := config.ListOfIntegerValues() assert.Equal(t, 0, len(values)) values = config.SetListOfIntegerValues([]int32{1, 5, 23, 6}).ListOfIntegerValues() @@ -162,7 +162,7 @@ func TestArrayOfIntegersSetGet(t *testing.T) { func TestValidJsonDecode(t *testing.T) { // Valid Unmarshal().FromJson - c1 := openapiart.NewPrefixConfig() + 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.Unmarshal().FromJson(input_str) assert.Nil(t, err) @@ -170,7 +170,7 @@ func TestValidJsonDecode(t *testing.T) { func TestBadKeyJsonDecode(t *testing.T) { // Valid Wrong key - c1 := openapiart.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.Unmarshal().FromJson(input_str) assert.NotNil(t, err) @@ -179,7 +179,7 @@ func TestBadKeyJsonDecode(t *testing.T) { func TestBadEnumJsonDecode(t *testing.T) { // Valid Wrong key - c1 := openapiart.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.Unmarshal().FromJson(input_str) assert.NotNil(t, err) @@ -188,7 +188,7 @@ func TestBadEnumJsonDecode(t *testing.T) { func TestBadDatatypeJsonDecode(t *testing.T) { // Valid Wrong data type. configure "b" with string - c1 := openapiart.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.Unmarshal().FromJson(input_str) assert.NotNil(t, err) @@ -197,7 +197,7 @@ func TestBadDatatypeJsonDecode(t *testing.T) { func TestBadDatastructureJsonDecode(t *testing.T) { // Valid Wrong data structure. configure "a" with array - c1 := openapiart.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.Unmarshal().FromJson(input_str) assert.NotNil(t, err) @@ -206,7 +206,7 @@ func TestBadDatastructureJsonDecode(t *testing.T) { func TestWithoutValueJsonDecode(t *testing.T) { // Valid without value - c1 := openapiart.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.Unmarshal().FromJson(input_str) assert.NotNil(t, err) @@ -214,7 +214,7 @@ func TestWithoutValueJsonDecode(t *testing.T) { } func TestValidYamlDecode(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() var data = `a: Easy b: 12.2 c: 2 @@ -233,7 +233,7 @@ response: status_200 func TestBadKeyYamlDecode(t *testing.T) { // Valid Wrong key - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() var data = `a: Easy bz: 12.2 c: 2 @@ -248,7 +248,7 @@ required_object: } func TestBadEnumYamlDecode(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() var data = `a: Easy b: 12.2 c: 2 @@ -265,7 +265,7 @@ response: status_800 func TestBadDatatypeYamlDecode(t *testing.T) { // Valid Wrong data type. configure "b" with string - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() var data = `a: Easy b: abc c: 2 @@ -281,7 +281,7 @@ required_object: func TestBadDatastructureYamlDecode(t *testing.T) { // Valid Wrong data structure. configure "a" with array - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() var data = `a: [Make It Easy] b: 9.9 c: 2 @@ -296,9 +296,9 @@ required_object: } func TestSetMsg(t *testing.T) { - api := openapiart.NewApi() + api := goapi.NewApi() config := NewFullyPopulatedPrefixConfig(api) - copy := openapiart.NewPrefixConfig() + copy := goapi.NewPrefixConfig() p, err := config.Marshal().ToProto() assert.Nil(t, err) _, err = copy.Unmarshal().FromProto(p) @@ -311,11 +311,11 @@ func TestSetMsg(t *testing.T) { } func TestNestedSetMsg(t *testing.T) { - eObject := openapiart.NewPrefixConfig().K().EObject() + eObject := goapi.NewPrefixConfig().K().EObject() eObject.SetEA(23423.22) eObject.SetEB(10.24) eObject.SetName("asdfasdf") - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() p, _ := eObject.Marshal().ToProto() _, err := config.K().EObject().Unmarshal().FromProto(p) assert.Nil(t, err) @@ -327,24 +327,24 @@ func TestNestedSetMsg(t *testing.T) { } func TestAuto(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.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 3516e0ad..b7e68eb2 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.Unmarshal().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.Marshal().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.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 f316f8df..d93c1968 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() var code int32 = 500 _ = err.SetCode(code) _ = err.SetErrors([]string{fmt.Sprintf("not found: id '%s'", id)}) @@ -53,23 +53,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 2389cc87..17e9b460 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.Unmarshal().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.Unmarshal().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.Unmarshal().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.Unmarshal().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 5a709910..6e2df709 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,10 +14,10 @@ func TestStatusApi(t *testing.T) { } // create grpc API - grpcApi := openapiart.NewApi() + grpcApi := goapi.NewApi() grpcApi.NewGrpcTransport().SetLocation(grpcServer.Location) - config := openapiart.NewUpdateConfig() + config := goapi.NewUpdateConfig() config.G().Add().SetGA("str1") // check warning for grpc API @@ -28,15 +28,15 @@ func TestStatusApi(t *testing.T) { } func TestStatusMsgInPrimitiveAttrs(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.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") @@ -58,7 +58,7 @@ func TestStatusMsgInPrimitiveAttrs(t *testing.T) { } func TestStatusMsgInStructAttrs(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() // setting a non primitive property with x-status config.E().SetEA(4.56) @@ -74,7 +74,7 @@ func TestStatusMsgInStructAttrs(t *testing.T) { } func TestStatusMsgInChoiceAttrs(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() j := config.J().Add() j.JB() @@ -88,9 +88,9 @@ func TestStatusMsgInChoiceAttrs(t *testing.T) { } func TestStatusMsgInXEnumAttrs(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() - config.SetResponse(openapiart.PrefixConfigResponse.STATUS_404) + config.SetResponse(goapi.PrefixConfigResponse.STATUS_404) // validating the warnings _, err := config.Marshal().ToYaml() @@ -101,7 +101,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.Marshal().ToYaml() @@ -114,12 +114,12 @@ func TestStatusMsgInXEnumAttrs(t *testing.T) { } func TestStatusMsgInIterattrs(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.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() { @@ -134,7 +134,7 @@ func TestStatusMsgInIterattrs(t *testing.T) { } func TestStatusMsgInSchemaObjects(t *testing.T) { - config := openapiart.NewUpdateConfig() + config := goapi.NewUpdateConfig() _, err := config.Marshal().ToYaml() if err != nil { @@ -145,9 +145,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 ba59a76c..8048f7a6 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.Api +var apis []goapi.Api 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,12 +106,12 @@ 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()) } - config2 := openapiart.NewUpdateConfig() + config2 := goapi.NewUpdateConfig() config2.G().Add().SetName("G1").SetGA("ga string").SetGB(232) config3, err := api.UpdateConfiguration(config2) assert.Nil(t, err) @@ -121,7 +121,7 @@ func TestUpdateConfigSuccess(t *testing.T) { func TestGetMetrics(t *testing.T) { for _, api := range apis { - metReq := openapiart.NewMetricsRequest() + metReq := goapi.NewMetricsRequest() metReq.SetPort("p1") metrics, err := api.GetMetrics(metReq) assert.Nil(t, err) @@ -129,11 +129,11 @@ func TestGetMetrics(t *testing.T) { assert.Len(t, metrics.Ports().Items(), 2) _, m_err := metrics.Marshal().ToYaml() 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.Marshal().ToYaml()) } - metReqflow := openapiart.NewMetricsRequest() + metReqflow := goapi.NewMetricsRequest() metReqflow.SetFlow("f1") metResp, err := api.GetMetrics(metReqflow) assert.Nil(t, err) @@ -141,7 +141,7 @@ func TestGetMetrics(t *testing.T) { assert.Len(t, metResp.Flows().Items(), 2) _, m_err1 := metResp.Marshal().ToYaml() 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.Marshal().ToYaml()) } @@ -159,7 +159,7 @@ func TestGetWarnings(t *testing.T) { func TestClearWarnings(t *testing.T) { for _, api := range apis { - openapiart.NewClearWarningsResponse() + goapi.NewClearWarningsResponse() res, err := api.ClearWarnings() assert.Nil(t, err) assert.NotNil(t, res) @@ -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,13 +305,13 @@ 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) // if user wants to get the json now - errSt, _ := openapiart.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") @@ -321,15 +321,15 @@ 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) // if user wants to get the json now - errSt, _ := openapiart.FromError(err) + errSt, _ := goapi.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,13 +338,13 @@ 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) // if user wants to get the json now - errSt, _ := openapiart.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") @@ -353,49 +353,49 @@ 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) // if user wants to get the json now - errSt, _ := openapiart.FromError(err) + errSt, _ := goapi.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) // if user wants to get the json now - errSt, _ := openapiart.FromError(err) + errSt, _ := goapi.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()) } - config2 := openapiart.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, _ := openapiart.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") @@ -404,20 +404,20 @@ 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()) } - config2 := openapiart.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, _ := openapiart.FromError(err) + errSt, _ := goapi.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 6e4f0206..4ef3ebc3 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.Unmarshal().FromProto(fObj_proto) assert.Nil(t, err) diff --git a/pkg/unit_test.go b/pkg/unit_test.go index 26375048..33defbb7 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,10 +26,10 @@ func JSONBytesEqual(a, b []byte) (bool, error) { } func TestJsonSerialization(t *testing.T) { - config := openapiart.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(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) @@ -84,9 +84,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().Marshal().ToYaml() assert.Nil(t, err) yaml2, err := c.F().Marshal().ToYaml() @@ -101,7 +101,7 @@ func TestSimpleTypes(t *testing.T) { var c int32 = 1 h := true i := []byte("sample string") - config := openapiart.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()) @@ -115,7 +115,7 @@ var gbValues = []int32{11, 22} var gcValues = []float32{11.11, 22.22} func TestIterAdd(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() config.G().Add().SetGA("1111").SetGB(11).SetGC(11.11) config.G().Add().SetGA("2222").SetGB(22).SetGC(22.22) @@ -128,9 +128,9 @@ func TestIterAdd(t *testing.T) { } func TestIterAppend(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.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() { @@ -147,16 +147,16 @@ func TestIterSet(t *testing.T) { assert.Equal(t, errValue, fmt.Sprintf("%v", err)) } }() - config := openapiart.NewPrefixConfig() + config := goapi.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) { @@ -181,7 +181,7 @@ func TestListWrapFromJson(t *testing.T) { ], "h": true }` - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() assert.Nil(t, config.Unmarshal().FromJson(listWrap)) assert.Equal(t, len(config.G().Items()), 1) } @@ -191,7 +191,7 @@ func TestEObject(t *testing.T) { eb := 1.2 mparam1 := "Mparam1" maparam2 := "Mparam2" - config := openapiart.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()) @@ -204,7 +204,7 @@ func TestGObject(t *testing.T) { gb := []int32{1, 2} gc := []float32{11.1, 22.2} ge := []float64{1.0, 2.0} - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() g1 := config.G().Add() g1.SetGA("g_1").SetGB(1).SetGC(11.1).SetGE(1.0) g2 := config.G().Add() @@ -223,11 +223,11 @@ func TestGObject(t *testing.T) { log.Print(g1json, g1yaml) } func TestGObjectAppendMultiple(t *testing.T) { - config := openapiart.NewPrefixConfig() - items := []openapiart.GObject{ - openapiart.NewGObject().SetGA("g_1"), - openapiart.NewGObject().SetGA("g_2"), - openapiart.NewGObject().SetGA("g_3"), + config := goapi.NewPrefixConfig() + 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) @@ -240,10 +240,10 @@ func TestGObjectAppend(t *testing.T) { gb := []int32{1, 2} gc := []float32{11.1, 22.2} ge := []float64{1.0, 2.0} - config := openapiart.NewPrefixConfig() - g1 := openapiart.NewGObject() + config := goapi.NewPrefixConfig() + 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() { @@ -258,7 +258,7 @@ func TestGObjectAppend(t *testing.T) { func TestLObject(t *testing.T) { var int_ int32 = 80 var float_ float32 = 100.11 - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() l := config.L() l.SetStringParam("test") l.SetInteger(80) @@ -285,7 +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) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() r := config.RequiredObject() r.SetEA(22.2) r.SetEB(66.1) @@ -298,7 +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) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() r := config.OptionalObject() r.SetEA(22.2) r.SetEB(66.1) @@ -306,18 +306,18 @@ 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") // } - config := openapiart.NewPrefixConfig() - config.SetResponse(openapiart.PrefixConfigResponse.STATUS_400) - assert.Equal(t, config.Response(), openapiart.PrefixConfigResponse.STATUS_400) + config := goapi.NewPrefixConfig() + 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() @@ -325,13 +325,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.Marshal().ToYaml() assert.Nil(t, err) @@ -339,7 +339,7 @@ func TestChoice(t *testing.T) { } func TestHas(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() assert.False(t, config.HasE()) assert.False(t, config.HasF()) assert.False(t, config.HasChecksumPattern()) @@ -354,14 +354,14 @@ var BadMac = []string{ } func TestGoodMacValidation(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() mac := config.MacPattern().Mac().SetValue(GoodMac[0]) _, err := mac.Marshal().ToYaml() assert.Nil(t, err) } func TestBadMacValidation(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() for _, mac := range BadMac { macObj := config.MacPattern().Mac().SetValue(mac) _, err := macObj.Marshal().ToYaml() @@ -372,14 +372,14 @@ func TestBadMacValidation(t *testing.T) { } func TestGoodMacValues(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() mac := config.MacPattern().Mac().SetValues(GoodMac) _, err := mac.Marshal().ToYaml() assert.Nil(t, err) } func TestBadMacValues(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() mac := config.MacPattern().Mac().SetValues(BadMac) _, err := mac.Marshal().ToYaml() fmt.Println(err.Error()) @@ -389,7 +389,7 @@ func TestBadMacValues(t *testing.T) { } func TestBadMacIncrement(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() mac := config.MacPattern().Mac().Increment().SetStart(GoodMac[0]) mac.SetStep(BadMac[0]) mac.SetCount(10) @@ -401,7 +401,7 @@ func TestBadMacIncrement(t *testing.T) { } func TestBadMacDecrement(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() mac := config.MacPattern().Mac().Decrement().SetStart(BadMac[0]) mac.SetStep(GoodMac[0]) mac.SetCount(10) @@ -416,14 +416,14 @@ 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) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() ipv4 := config.Ipv4Pattern().Ipv4().SetValue(GoodIpv4[0]) _, err := ipv4.Marshal().ToYaml() assert.Nil(t, err) } func TestBadIpv4Validation(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() for _, ip := range BadIpv4 { ipv4 := config.Ipv4Pattern().Ipv4().SetValue(ip) _, err := ipv4.Marshal().ToYaml() @@ -434,7 +434,7 @@ func TestBadIpv4Validation(t *testing.T) { } func TestBadIpv4Values(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() ipv4 := config.Ipv4Pattern().Ipv4().SetValues(BadIpv4) _, err := ipv4.Marshal().ToYaml() if assert.Error(t, err) { @@ -443,7 +443,7 @@ func TestBadIpv4Values(t *testing.T) { } func TestBadIpv4Increment(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() ipv4 := config.Ipv4Pattern().Ipv4().Increment().SetStart(GoodIpv4[0]) ipv4.SetStep(BadIpv4[0]) ipv4.SetCount(10) @@ -454,7 +454,7 @@ func TestBadIpv4Increment(t *testing.T) { } func TestBadIpv4Decrement(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() ipv4 := config.Ipv4Pattern().Ipv4().Decrement().SetStart(GoodIpv4[0]) ipv4.SetStep(BadIpv4[0]) ipv4.SetCount(10) @@ -468,14 +468,14 @@ 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) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() ipv6 := config.Ipv6Pattern().Ipv6().SetValue(GoodIpv6[0]) _, err := ipv6.Marshal().ToYaml() assert.Nil(t, err) } func TestBadIpv6Validation(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() for _, ip := range BadIpv6 { ipv6 := config.Ipv6Pattern().Ipv6().SetValue(ip) _, err := ipv6.Marshal().ToYaml() @@ -486,7 +486,7 @@ func TestBadIpv6Validation(t *testing.T) { } func TestBadIpv6Values(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() ipv6 := config.Ipv6Pattern().Ipv6().SetValues(BadIpv6) _, err := ipv6.Marshal().ToYaml() if assert.Error(t, err) { @@ -495,7 +495,7 @@ func TestBadIpv6Values(t *testing.T) { } func TestBadIpv6Increment(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() ipv6 := config.Ipv6Pattern().Ipv6().Increment().SetStart(GoodIpv6[0]) ipv6.SetStep(BadIpv6[0]) ipv6.SetCount(10) @@ -506,7 +506,7 @@ func TestBadIpv6Increment(t *testing.T) { } func TestBadIpv6Decrement(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() ipv6 := config.Ipv6Pattern().Ipv6().Decrement().SetStart(GoodIpv6[0]) ipv6.SetStep(BadIpv6[0]) ipv6.SetCount(10) @@ -517,12 +517,12 @@ func TestBadIpv6Decrement(t *testing.T) { } func TestDefaultSimpleTypes(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.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.Marshal().ToJson() assert.Nil(t, err) expected_result := `{ @@ -540,7 +540,7 @@ func TestDefaultSimpleTypes(t *testing.T) { } func TestDefaultEObject(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() config.E().SetEA(1).SetEB(2) actual_result, err := config.E().Marshal().ToJson() assert.Nil(t, err) @@ -553,7 +553,7 @@ func TestDefaultEObject(t *testing.T) { } func TestDefaultFObject(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() config.F() actual_result, err := config.F().Marshal().ToJson() assert.Nil(t, err) @@ -566,7 +566,7 @@ func TestDefaultFObject(t *testing.T) { } func TestRequiredValidation(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() config.RequiredObject().SetEA(10.2).SetEB(20) config.SetA("abc") config.SetB(10.32) @@ -580,13 +580,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.Marshal().ToYaml() assert.Nil(t, err) } func TestHexPattern(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() l := config.L() l.SetHex("200000000000000b00000000200000000000000b00000000200000000000000b00000000") _, err := l.Marshal().ToYaml() @@ -609,7 +609,7 @@ func TestHexPattern(t *testing.T) { } func TestChoice1(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() json := `{ "choice": "f_b", "f_b": 30.0 @@ -632,14 +632,14 @@ func TestChoice1(t *testing.T) { } func TestRequiredField(t *testing.T) { - mandate := openapiart.NewMandate() + mandate := goapi.NewMandate() _, err := mandate.Marshal().ToYaml() assert.NotNil(t, err) assert.Contains(t, err.Error(), "RequiredParam is required field") } func TestRequiredEnumField(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() rc := config.RequiredChoiceObject() _, err := rc.Marshal().ToYaml() assert.NotNil(t, err) @@ -650,7 +650,7 @@ func TestRequiredEnumField(t *testing.T) { } func TestOptionalDefault(t *testing.T) { - gObject := openapiart.NewGObject() + gObject := goapi.NewGObject() gJson := `{ "g_a": "asdf", "g_b": 6, @@ -665,7 +665,7 @@ func TestOptionalDefault(t *testing.T) { } func TestInterger64(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() int_64 := `{ "a":"asdf", "b" : 65, @@ -695,7 +695,7 @@ func TestInterger64(t *testing.T) { } func TestInt32Param(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() int_32 := `{ "a":"asdf", "b" : 65, @@ -731,7 +731,7 @@ func TestInt32Param(t *testing.T) { } func TestUint32Param(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() uint_32 := `{ "a":"asdf", "b" : 65, @@ -763,7 +763,7 @@ func TestUint32Param(t *testing.T) { } func TestUInt64Param(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() uint_64 := `{ "a":"asdf", "b" : 65, @@ -794,12 +794,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) _, err := config.Marshal().ToYaml() assert.Nil(t, err) @@ -835,7 +835,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", @@ -894,11 +894,11 @@ func TestChoice2(t *testing.T) { } } }` - config := openapiart.NewPrefixConfig() + config := goapi.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") @@ -909,7 +909,7 @@ func TestChoice2(t *testing.T) { } func TestGetter(t *testing.T) { - fObject := openapiart.NewFObject() + fObject := goapi.NewFObject() fObject.FA() expected_json := `{ "choice": "f_a", @@ -919,13 +919,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.Marshal().ToJson() assert.Nil(t, err) require.JSONEq(t, expected_json, fObject1Json) - pattern := openapiart.NewIpv4Pattern() + pattern := goapi.NewIpv4Pattern() pattern.Ipv4() exp_ipv4 := `{ "ipv4": { @@ -952,7 +952,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" @@ -964,12 +964,12 @@ func TestGetter(t *testing.T) { } func TestStringLength(t *testing.T) { - config := openapiart.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(openapiart.PrefixConfigResponse.STATUS_200) + config.SetResponse(goapi.PrefixConfigResponse.STATUS_200) config.SetStrLen("123456") configJson, err := config.Marshal().ToJson() assert.Nil(t, err) @@ -977,43 +977,43 @@ func TestStringLength(t *testing.T) { } func TestListClear(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.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) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() json := `{ "abc": "test" }` @@ -1024,19 +1024,19 @@ func TestFromJsonErrors(t *testing.T) { "g_e": "10", "g_b": "20" }` - gObj := openapiart.NewGObject() + gObj := goapi.NewGObject() err1 := gObj.Unmarshal().FromJson(json1) assert.Nil(t, err1) json2 := `{ "choice": "f_t" }` - fObj := openapiart.NewFObject() + fObj := goapi.NewFObject() err2 := fObj.Unmarshal().FromJson(json2) assert.Contains(t, err2.Error(), "unmarshal error") } func TestStringLengthError(t *testing.T) { - config := openapiart.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) @@ -1054,7 +1054,7 @@ func TestStringLengthError(t *testing.T) { } func TestIncorrectChoiceEnum(t *testing.T) { - config := openapiart.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) @@ -1072,7 +1072,7 @@ func TestIncorrectChoiceEnum(t *testing.T) { } func TestEObjectValidation(t *testing.T) { - eObject := openapiart.NewEObject() + eObject := goapi.NewEObject() _, 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") @@ -1080,7 +1080,7 @@ func TestEObjectValidation(t *testing.T) { } func TestMObjectValidation(t *testing.T) { - mObject := openapiart.NewMObject() + mObject := goapi.NewMObject() _, err := mObject.Marshal().ToYaml() if assert.Error(t, err) { assert.Contains(t, strings.ToLower(err.Error()), "required field on interface mobject") @@ -1088,7 +1088,7 @@ func TestMObjectValidation(t *testing.T) { } func TestMobjectValidationError(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() config.RequiredObject().SetEA(10.2).SetEB(20) config.SetA("abc") config.SetB(10.32) @@ -1102,7 +1102,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.Marshal().ToYaml() assert.NotNil(t, err) if assert.Error(t, err) { @@ -1115,7 +1115,7 @@ func TestMobjectValidationError(t *testing.T) { } func TestLObjectError(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() l := config.L() l.SetStringParam("test") l.SetInteger(180) @@ -1137,10 +1137,10 @@ func TestLObjectError(t *testing.T) { } func TestIeee802x(t *testing.T) { - config := openapiart.NewPrefixConfig() - config.SetCase(openapiart.NewLayer1Ieee802X()) + config := goapi.NewPrefixConfig() + config.SetCase(goapi.NewLayer1Ieee802X()) config.Case() - l1 := openapiart.NewLayer1Ieee802X() + l1 := goapi.NewLayer1Ieee802X() l1.SetFlowControl(true) p, _ := l1.Marshal().ToProto() _, err := l1.Unmarshal().FromProto(p) @@ -1159,7 +1159,7 @@ func TestIeee802x(t *testing.T) { } func TestLevelFour(t *testing.T) { - new_level_four := openapiart.NewLevelFour() + new_level_four := goapi.NewLevelFour() p, _ := new_level_four.Marshal().ToProto() _, err := new_level_four.Unmarshal().FromProto(p) assert.Nil(t, err) @@ -1177,18 +1177,18 @@ func TestLevelFour(t *testing.T) { } func TestIterAppendJObject(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.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) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() config.J().Add().JA().SetEA(100) config.J().Add() - jObj := openapiart.NewJObject() + jObj := goapi.NewJObject() jObj.JB() j := config.J().Set(1, jObj) @@ -1199,19 +1199,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) @@ -1221,19 +1221,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) @@ -1242,7 +1242,7 @@ func TestIterSetPortMetrics(t *testing.T) { } func TestFromYamlErrors(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() incorrect_format := `{ "a":"asdf", "b" : 65, @@ -1283,7 +1283,7 @@ func TestFromYamlErrors(t *testing.T) { } func TestFromPbTextErrors(t *testing.T) { - config := openapiart.NewPrefixConfig() + config := goapi.NewPrefixConfig() incorrect_format := `{ "a":"asdf", "b" : 65, @@ -1313,10 +1313,10 @@ 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 := openapiart.NewUpdateConfig() + config2 := goapi.NewUpdateConfig() config2.G().Add().SetName("G1").SetGA("ga string").SetGB(232) config2PbText, err := config2.Marshal().ToPbText() assert.Nil(t, err) @@ -1338,7 +1338,7 @@ func TestUpdateConfig(t *testing.T) { } func TestNewSetConfigResponse(t *testing.T) { - new_resp := openapiart.NewSetConfigResponse() + new_resp := goapi.NewSetConfigResponse() new_resp.SetResponseBytes([]byte{0, 1}) p, _ := new_resp.Marshal().ToProto() _, err := new_resp.Unmarshal().FromProto(p) @@ -1356,7 +1356,7 @@ func TestNewSetConfigResponse(t *testing.T) { } func TestNewUpdateConfigResponse(t *testing.T) { - new_resp := openapiart.NewUpdateConfigurationResponse() + new_resp := goapi.NewUpdateConfigurationResponse() p, _ := new_resp.Marshal().ToProto() _, err := new_resp.Unmarshal().FromProto(p) assert.Nil(t, err) @@ -1373,7 +1373,7 @@ func TestNewUpdateConfigResponse(t *testing.T) { } func TestNewGetConfigResponse(t *testing.T) { - new_resp := openapiart.NewGetConfigResponse() + new_resp := goapi.NewGetConfigResponse() p, _ := new_resp.Marshal().ToProto() _, err := new_resp.Unmarshal().FromProto(p) assert.Nil(t, err) @@ -1390,7 +1390,7 @@ func TestNewGetConfigResponse(t *testing.T) { } func TestNewGetMetricsResponse(t *testing.T) { - new_resp := openapiart.NewGetMetricsResponse() + new_resp := goapi.NewGetMetricsResponse() p, _ := new_resp.Marshal().ToProto() _, err := new_resp.Unmarshal().FromProto(p) assert.Nil(t, err) @@ -1407,7 +1407,7 @@ func TestNewGetMetricsResponse(t *testing.T) { } func TestNewGetWarningsResponse(t *testing.T) { - new_resp := openapiart.NewGetWarningsResponse() + new_resp := goapi.NewGetWarningsResponse() p, _ := new_resp.Marshal().ToProto() _, err := new_resp.Unmarshal().FromProto(p) assert.Nil(t, err) @@ -1424,7 +1424,7 @@ func TestNewGetWarningsResponse(t *testing.T) { } func TestNewClearWarningsResponse(t *testing.T) { - new_resp := openapiart.NewClearWarningsResponse() + new_resp := goapi.NewClearWarningsResponse() p, _ := new_resp.Marshal().ToProto() _, err := new_resp.Unmarshal().FromProto(p) assert.Nil(t, err) @@ -1442,7 +1442,7 @@ func TestNewClearWarningsResponse(t *testing.T) { } func TestNewError(t *testing.T) { - new_err := openapiart.NewError() + new_err := goapi.NewError() var code int32 = 500 _ = new_err.SetCode(code) _ = new_err.SetErrors([]string{"err1"}) @@ -1462,7 +1462,7 @@ func TestNewError(t *testing.T) { } func TestNewMetrics(t *testing.T) { - new_metrics := openapiart.NewMetrics() + new_metrics := goapi.NewMetrics() p, _ := new_metrics.Marshal().ToProto() _, err := new_metrics.Unmarshal().FromProto(p) assert.Nil(t, err) @@ -1478,7 +1478,7 @@ func TestNewMetrics(t *testing.T) { } func TestNewWarningDetails(t *testing.T) { - new_warnings := openapiart.NewWarningDetails() + new_warnings := goapi.NewWarningDetails() p, _ := new_warnings.Marshal().ToProto() _, err := new_warnings.Unmarshal().FromProto(p) assert.Nil(t, err) @@ -1494,7 +1494,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) @@ -1518,11 +1518,11 @@ 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()) - config2 := openapiart.NewPrefixConfig() + config2 := goapi.NewPrefixConfig() config1Json, err := config1.Marshal().ToJson() assert.Nil(t, err) json_err := config2.Unmarshal().FromJson(config1Json) @@ -1553,7 +1553,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) @@ -1561,14 +1561,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.Marshal().ToJson() assert.Nil(t, err) err1 := jObject1.Unmarshal().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.Marshal().ToJson() @@ -1579,7 +1579,7 @@ func TestStructGetterMethod(t *testing.T) { } func TestFromJsonEmpty(t *testing.T) { - fObject := openapiart.NewFObject() + fObject := goapi.NewFObject() value1, err := fObject.Marshal().ToJson() assert.Nil(t, err) value2, err := fObject.Marshal().ToYaml() @@ -1609,7 +1609,7 @@ func TestFromJsonEmpty(t *testing.T) { } func TestChoiceDefaults(t *testing.T) { - jObject := openapiart.NewJObject() + jObject := goapi.NewJObject() jObject.JA().SetEA(3.45).SetEB(6.78) json := ` { @@ -1646,7 +1646,7 @@ func TestChoiceDefaults(t *testing.T) { j2, err2 := jObject.Marshal().ToJson() assert.Nil(t, err2) require.JSONEq(t, json2, j2) - integer := openapiart.NewIntegerPattern() + integer := goapi.NewIntegerPattern() integer.Integer().Values() json3 := ` { @@ -1676,8 +1676,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" @@ -1704,7 +1704,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.Marshal().ToJson() assert.Nil(t, err) require.JSONEq(t, json1, metricsrespJson2) @@ -1712,13 +1712,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) @@ -1729,7 +1729,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) @@ -1790,7 +1790,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 **************** @@ -1842,7 +1842,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 @@ -1878,7 +1878,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.Unmarshal().FromJson(data) // assert.NotNil(t, err1) diff --git a/readme.md b/readme.md index 748bac6f..c602fa12 100644 --- a/readme.md +++ b/readme.md @@ -15,7 +15,7 @@ The `OpenAPIArt` (OpenAPI Artifact Generator) python package does the following: - optionally generates a `python ux sdk` from the openapi file - optionally generates a `go ux sdk` from the openapi file -## Getting started +## Getting started Install the package ``` pip install openapiart